| 
    LibreOffice Module tools (master) 1
    
   | 
 
#include <json_writer.hxx>
Public Member Functions | |
| JsonWriter () | |
| ~JsonWriter () | |
| ScopedJsonWriterNode | startNode (std::string_view) | 
| ScopedJsonWriterArray | startArray (std::string_view) | 
| ScopedJsonWriterStruct | startStruct () | 
| void | put (std::u16string_view pPropName, const OUString &rPropValue) | 
| void | put (std::string_view pPropName, const OUString &rPropValue) | 
| void | put (std::string_view pPropName, std::string_view rPropValue) | 
| void | put (std::string_view pPropName, const char *pPropVal) | 
| template<size_t N> | |
| void | put (std::string_view pPropName, const char(&pPropVal)[N]) | 
| template<typename N , std::enable_if_t< std::is_arithmetic_v< N >, int > = 0> | |
| void | put (std::string_view pPropName, N n) | 
| void | put (std::string_view pPropName, bool) | 
| void | putSimpleValue (const OUString &rPropValue) | 
| void | putRaw (std::string_view) | 
| This assumes that this data belongs at this point in the stream, and is valid, and properly encoded.  More... | |
| OString | finishAndGetAsOString () | 
| Closes the tags, and returns data.  More... | |
| bool | isDataEquals (std::string_view) const | 
| returns true if the current JSON data matches the string  More... | |
Private Member Functions | |
| void | endNode () | 
| void | endArray () | 
| void | endStruct () | 
| void | addCommaBeforeField () | 
| void | writeEscapedOUString (const OUString &rPropVal) | 
| void | closeDocument () | 
| void | ensureSpace (int noMoreBytesRequired) | 
| void | ensureSpaceAndWriteNameColon (std::string_view name, int valSize) | 
| void | putLiteral (std::string_view propName, std::string_view propValue) | 
| void | addValidationMark () | 
| void | validate () | 
Private Attributes | |
| char * | mpBuffer | 
| char * | mPos | 
| int | mSpaceAllocated | 
| int | mStartNodeCount | 
| bool | mbFirstFieldInNode | 
| bool | mbClosed | 
Static Private Attributes | |
| static constexpr unsigned char | JSON_WRITER_DEBUG_MARKER = 0xde | 
Friends | |
| class | ScopedJsonWriterNode | 
| class | ScopedJsonWriterArray | 
| class | ScopedJsonWriterStruct | 
Definition at line 34 of file json_writer.hxx.
| tools::JsonWriter::JsonWriter | ( | ) | 
Definition at line 21 of file json_writer.cxx.
References addValidationMark(), and mPos.
| tools::JsonWriter::~JsonWriter | ( | ) | 
Definition at line 37 of file json_writer.cxx.
      
  | 
  private | 
Definition at line 331 of file json_writer.cxx.
References mbFirstFieldInNode, and mPos.
Referenced by ensureSpaceAndWriteNameColon(), put(), putRaw(), putSimpleValue(), and startStruct().
      
  | 
  inlineprivate | 
Definition at line 102 of file json_writer.hxx.
Referenced by ensureSpace(), and JsonWriter().
      
  | 
  private | 
      
  | 
  private | 
Definition at line 75 of file json_writer.cxx.
References ensureSpace(), mbFirstFieldInNode, mPos, mStartNodeCount, and validate().
Referenced by tools::ScopedJsonWriterArray::~ScopedJsonWriterArray().
      
  | 
  private | 
Definition at line 53 of file json_writer.cxx.
References ensureSpace(), mbFirstFieldInNode, mPos, mStartNodeCount, and validate().
Referenced by tools::ScopedJsonWriterNode::~ScopedJsonWriterNode().
      
  | 
  private | 
Definition at line 105 of file json_writer.cxx.
References ensureSpace(), mbFirstFieldInNode, mPos, mStartNodeCount, and validate().
Referenced by tools::ScopedJsonWriterStruct::~ScopedJsonWriterStruct().
      
  | 
  private | 
Definition at line 344 of file json_writer.cxx.
References addValidationMark(), mbClosed, mpBuffer, mPos, and mSpaceAllocated.
Referenced by endArray(), endNode(), endStruct(), ensureSpaceAndWriteNameColon(), finishAndGetAsOString(), put(), putRaw(), putSimpleValue(), and startStruct().
      
  | 
  private | 
Definition at line 359 of file json_writer.cxx.
References addCommaBeforeField(), ensureSpace(), mPos, and name.
Referenced by put(), and putLiteral().
| OString tools::JsonWriter::finishAndGetAsOString | ( | ) | 
Closes the tags, and returns data.
After this no more document modifications may be written.
Definition at line 383 of file json_writer.cxx.
References ensureSpace(), mbClosed, mpBuffer, mPos, and mStartNodeCount.
| bool tools::JsonWriter::isDataEquals | ( | std::string_view | s | ) | const | 
returns true if the current JSON data matches the string
Definition at line 399 of file json_writer.cxx.
| void tools::JsonWriter::put | ( | std::string_view | pPropName, | 
| bool | nPropVal | ||
| ) | 
Definition at line 304 of file json_writer.cxx.
References putLiteral().
      
  | 
  inline | 
Definition at line 60 of file json_writer.hxx.
      
  | 
  inline | 
Definition at line 64 of file json_writer.hxx.
References N.
| void tools::JsonWriter::put | ( | std::string_view | pPropName, | 
| const OUString & | rPropValue | ||
| ) | 
Definition at line 243 of file json_writer.cxx.
References ensureSpaceAndWriteNameColon(), and writeEscapedOUString().
      
  | 
  inline | 
Definition at line 70 of file json_writer.hxx.
References n.
| void tools::JsonWriter::put | ( | std::string_view | pPropName, | 
| std::string_view | rPropValue | ||
| ) | 
Definition at line 253 of file json_writer.cxx.
References ch, ensureSpaceAndWriteNameColon(), i, mPos, validate(), and tools::writeEscapedSequence().
| void tools::JsonWriter::put | ( | std::u16string_view | pPropName, | 
| const OUString & | rPropValue | ||
| ) | 
Definition at line 223 of file json_writer.cxx.
References addCommaBeforeField(), ensureSpace(), mPos, validate(), and writeEscapedOUString().
      
  | 
  private | 
Definition at line 374 of file json_writer.cxx.
References ensureSpaceAndWriteNameColon(), mPos, and validate().
Referenced by put(), startArray(), and startNode().
| void tools::JsonWriter::putRaw | ( | std::string_view | rRawBuf | ) | 
This assumes that this data belongs at this point in the stream, and is valid, and properly encoded.
Definition at line 319 of file json_writer.cxx.
References addCommaBeforeField(), ensureSpace(), mPos, and validate().
| void tools::JsonWriter::putSimpleValue | ( | const OUString & | rPropValue | ) | 
Definition at line 309 of file json_writer.cxx.
References addCommaBeforeField(), ensureSpace(), and writeEscapedOUString().
| ScopedJsonWriterArray tools::JsonWriter::startArray | ( | std::string_view | pNodeName | ) | 
Definition at line 65 of file json_writer.cxx.
References mbFirstFieldInNode, mStartNodeCount, putLiteral(), and ScopedJsonWriterArray.
| ScopedJsonWriterNode tools::JsonWriter::startNode | ( | std::string_view | pNodeName | ) | 
Definition at line 43 of file json_writer.cxx.
References mbFirstFieldInNode, mStartNodeCount, putLiteral(), and ScopedJsonWriterNode.
| ScopedJsonWriterStruct tools::JsonWriter::startStruct | ( | ) | 
Definition at line 87 of file json_writer.cxx.
References addCommaBeforeField(), ensureSpace(), mbFirstFieldInNode, mPos, mStartNodeCount, ScopedJsonWriterStruct, and validate().
      
  | 
  inlineprivate | 
Definition at line 109 of file json_writer.hxx.
Referenced by endArray(), endNode(), endStruct(), put(), putLiteral(), putRaw(), startStruct(), and writeEscapedOUString().
      
  | 
  private | 
Definition at line 171 of file json_writer.cxx.
References ch, i, mPos, validate(), and tools::writeEscapedSequence().
Referenced by put(), and putSimpleValue().
      
  | 
  friend | 
Definition at line 37 of file json_writer.hxx.
Referenced by startArray().
      
  | 
  friend | 
Definition at line 36 of file json_writer.hxx.
Referenced by startNode().
      
  | 
  friend | 
Definition at line 38 of file json_writer.hxx.
Referenced by startStruct().
      
  | 
  staticconstexprprivate | 
Definition at line 100 of file json_writer.hxx.
      
  | 
  private | 
Definition at line 45 of file json_writer.hxx.
Referenced by ensureSpace(), finishAndGetAsOString(), and ~JsonWriter().
      
  | 
  private | 
Definition at line 44 of file json_writer.hxx.
Referenced by addCommaBeforeField(), endArray(), endNode(), endStruct(), startArray(), startNode(), and startStruct().
      
  | 
  private | 
Definition at line 40 of file json_writer.hxx.
Referenced by ensureSpace(), finishAndGetAsOString(), isDataEquals(), and ~JsonWriter().
      
  | 
  private | 
Definition at line 41 of file json_writer.hxx.
Referenced by addCommaBeforeField(), endArray(), endNode(), endStruct(), ensureSpace(), ensureSpaceAndWriteNameColon(), finishAndGetAsOString(), isDataEquals(), JsonWriter(), put(), putLiteral(), putRaw(), startStruct(), and writeEscapedOUString().
      
  | 
  private | 
Definition at line 42 of file json_writer.hxx.
Referenced by ensureSpace().
      
  | 
  private | 
Definition at line 43 of file json_writer.hxx.
Referenced by endArray(), endNode(), endStruct(), finishAndGetAsOString(), startArray(), startNode(), and startStruct().