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