{{>licenseInfo}}
#ifndef _{{prefix}}_OBJECT_H_
#define _{{prefix}}_OBJECT_H_

#include <QJsonValue>

{{#cppNamespaceDeclarations}}
namespace {{this}} {
{{/cppNamespaceDeclarations}}

class {{prefix}}Object {
  public:
    virtual QJsonObject* asJsonObject() {
      return new QJsonObject();
    }
    virtual ~{{prefix}}Object() {}
    virtual {{prefix}}Object* fromJson(QString &jsonString) {
        Q_UNUSED(jsonString);
        return new {{prefix}}Object();
    }
    virtual void fromJsonObject(QJsonObject &json) {
        Q_UNUSED(json);
    }
    virtual QString asJson() {
        return QString("");
    }
    virtual bool isSet() {
        return false;
    }
};

{{#cppNamespaceDeclarations}}
}
{{/cppNamespaceDeclarations}}

#endif /* _{{prefix}}_OBJECT_H_ */
