/* * Copyright 2017, Andrew Lindesay * Distributed under the terms of the MIT License. */ #include "JsonWriter.h" #include #include #include BJsonWriter::BJsonWriter() : fErrorStatus(B_OK) { } BJsonWriter::~BJsonWriter() { } void BJsonWriter::HandleError(status_t status, int32 line, const char* message) { if(fErrorStatus == B_OK) { if (message == NULL) message = "?"; fErrorStatus = status; fprintf(stderr, "! json err @line %" B_PRIi32 " - %s : %s\n", line, strerror(status), message); } } status_t BJsonWriter::ErrorStatus() { return fErrorStatus; } status_t BJsonWriter::WriteBoolean(bool value) { if (value) return WriteTrue(); return WriteFalse(); } status_t BJsonWriter::WriteTrue() { Handle(BJsonEvent(B_JSON_TRUE)); return fErrorStatus; } status_t BJsonWriter::WriteFalse() { Handle(BJsonEvent(B_JSON_FALSE)); return fErrorStatus; } status_t BJsonWriter::WriteNull() { Handle(BJsonEvent(B_JSON_NULL)); return fErrorStatus; } status_t BJsonWriter::WriteInteger(int64 value) { Handle(BJsonEvent(value)); return fErrorStatus; } status_t BJsonWriter::WriteDouble(double value) { Handle(BJsonEvent(value)); return fErrorStatus; } status_t BJsonWriter::WriteString(const char* value) { Handle(BJsonEvent(value)); return fErrorStatus; } status_t BJsonWriter::WriteObjectStart() { Handle(BJsonEvent(B_JSON_OBJECT_START)); return fErrorStatus; } status_t BJsonWriter::WriteObjectName(const char* value) { Handle(BJsonEvent(B_JSON_OBJECT_NAME, value)); return fErrorStatus; } status_t BJsonWriter::WriteObjectEnd() { Handle(BJsonEvent(B_JSON_OBJECT_END)); return fErrorStatus; } status_t BJsonWriter::WriteArrayStart() { Handle(BJsonEvent(B_JSON_ARRAY_START)); return fErrorStatus; } status_t BJsonWriter::WriteArrayEnd() { Handle(BJsonEvent(B_JSON_ARRAY_END)); return fErrorStatus; }