8#include "Arp/System/Core/PimplPtr.hxx" 
    9#include "Arp/System/Commons/Exceptions/JsonException.hpp" 
   11namespace Arp { 
namespace System { 
namespace Commons { 
namespace Json
 
   37    void SetPrettyPrint(
bool state);
 
   40    void SaveDocument(
void)
const;
 
   41    bool TrySaveDocument(
void) 
const;
 
   43    String SaveToText(
void)
const;
 
   44    bool TrySaveToText(
String& text) 
const;
 
   47    void WriteRootObject(
void);
 
   48    bool TryWriteRootObject(
void);
 
   49    void WriteStartObject(
const char* objectName);
 
   50    bool TryWriteStartObject(
const char* objectName);
 
   51    void WriteEndObject(
void);
 
   52    bool TryWriteEndObject(
void);
 
   55    void WriteRootComplexArray(
void);
 
   56    bool TryWriteRootComplexArray(
void);
 
   57    void WriteStartComplexArray(
const char* arrayName);
 
   58    bool TryWriteStartComplexArray(
const char* arrayName);
 
   59    void WriteEndComplexArray(
void);
 
   60    bool TryWriteEndComplexArray(
void);
 
   63    void WriteStartComplexArrayItem(
void);
 
   64    bool TryWriteStartComplexArrayItem(
void);
 
   65    void WriteEndComplexArrayItem(
void);
 
   66    bool TryWriteEndComplexArrayItem(
void);
 
   69    void WriteValue(
const char* valueName, 
const bool& value);
 
   80    void WriteValue(
const char* valueName, std::nullptr_t value);
 
   82    void WriteValue(
const char* valueName, 
const char* value);
 
   83    void WriteValue(
const char* valueName, 
const char* pBuffer, 
size_t bufferSize);
 
   86    void WriteSimpleArray(
const char* arrayName, 
const std::vector<bool>& values);
 
   87    void WriteSimpleArray(
const char* arrayName, 
const std::vector<String>& values);
 
   88    void WriteSimpleArray(
const char* arrayName, 
const std::vector<uint8>& values);
 
   89    void WriteSimpleArray(
const char* arrayName, 
const std::vector<int8>& values);
 
   90    void WriteSimpleArray(
const char* arrayName, 
const std::vector<uint16>& values);
 
   91    void WriteSimpleArray(
const char* arrayName, 
const std::vector<int16>& values);
 
   92    void WriteSimpleArray(
const char* arrayName, 
const std::vector<uint32>& values);
 
   93    void WriteSimpleArray(
const char* arrayName, 
const std::vector<int32>& values);
 
   94    void WriteSimpleArray(
const char* arrayName, 
const std::vector<uint64>& values);
 
   95    void WriteSimpleArray(
const char* arrayName, 
const std::vector<int64>& values);
 
   96    void WriteSimpleArray(
const char* arrayName, 
const std::vector<float32>& values);
 
   97    void WriteSimpleArray(
const char* arrayName, 
const std::vector<float64>& values);
 
  101    const Impl& GetImpl(
void)
const;
 
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
 
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
 
This exception is used for Json parsing errors.
Definition: JsonException.hpp:15
 
Class to write a Json file
Definition: JsonWriter.hpp:18
 
JsonWriter & operator=(JsonWriter &&arg) noexcept
Default move-assignment operator.
 
JsonWriter(JsonWriter &&arg) noexcept
Default move constructor.
 
JsonWriter(void)
Default constructor.
 
~JsonWriter(void)
Default destructor.
 
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
 
float float32
The Arp floating point numbers type of 4 byte size.
Definition: PrimitiveTypes.hpp:41
 
std::int16_t int16
The Arp integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
 
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:25
 
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
 
std::int64_t int64
The Arp integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:39
 
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
 
std::int8_t int8
The Arp integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
 
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:37
 
double float64
The Arp floating point numbers type of 8 byte size.
Definition: PrimitiveTypes.hpp:43
 
@ Create
Creates a new file. If the file already exists, it is overwritten.
 
@ WriteValue
Writing values of objects.
 
Root namespace for the PLCnext API