class Core::Text::Json::Writer

#include <corejsonhandler.h>

class Writer:
    public Core::Text::TextWriter,
    public Core::AttributeHandler
{
public:
    // construction

    Writer(IO::Stream* stream);

    // methods

    virtual void startObject(CStringPtr id, int flags = 0);
    virtual void endObject(CStringPtr id, int flags = 0);
    virtual void startArray(CStringPtr id, int flags = 0);
    virtual void endArray(CStringPtr id, int flags = 0);
    virtual void setValue(CStringPtr id, int64 value, int flags = 0);
    virtual void setValue(CStringPtr id, double value, int flags = 0);
    virtual void setValue(CStringPtr id, bool value, int flags = 0);
    virtual void setValue(CStringPtr id, CStringPtr value, int flags = 0);
    virtual void setNullValue(CStringPtr id, int flags = 0);
};

// direct descendants

template <class StringType>
class StringBufferWriter;

Inherited Members

public:
    // enums

    enum Flags;

    // methods

    bool flush();
    bool writeChar(char c);
    bool writeString(CStringPtr text, bool newline = false);
    bool writeLine(CStringPtr text);
    bool writeIndent();
    bool writeNewline();
    void incIndent();
    void decIndent();
    int currentIndent() const;
    void setSuppressWhitespace(bool state);
    virtual void startObject(CStringPtr id, int flags = 0) = 0;
    virtual void endObject(CStringPtr id, int flags = 0) = 0;
    virtual void startArray(CStringPtr id, int flags = 0) = 0;
    virtual void endArray(CStringPtr id, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, int64 value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, double value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, bool value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, CStringPtr value, int flags = 0) = 0;
    virtual void setNullValue(CStringPtr id, int flags = 0) = 0;
    void setValue(CStringPtr id, int value, int flags = 0);
    void setValue(CStringPtr id, float value, int flags = 0);