*\r
******************************************************************/\r
\r
+/**\r
+ * @file Schema.h\r
+ *\r
+ * @brief This file provides data Model for RAML Schema.\r
+ */\r
+\r
#ifndef SCHEMAS_H\r
#define SCHEMAS_H\r
\r
#include <string>\r
+#if defined (__TIZENRT__)\r
+#include <apps/netutils/cJSON.h>\r
+#else\r
#include "cJSON.h"\r
+#endif\r
#include "IncludeResolver.h"\r
\r
#include "JsonSchema.h"\r
\r
namespace RAML\r
{\r
+ /**\r
+ * @class Schema\r
+ * @brief This class provides data Model for RAML Schema.\r
+ */\r
class Schema\r
{\r
public:\r
+ /**\r
+ * This method is for getting CJson object of schema.\r
+ *\r
+ * @return pointer to cJSON.\r
+ */\r
virtual cJSON *getJson() const;\r
+\r
+ /**\r
+ * This method is for setting schema as CJson object.\r
+ *\r
+ * @param cjson - Cjson pointer.\r
+ */\r
virtual void setJson(cJSON *cjson);\r
+\r
+ /**\r
+ * This method is for getting schema as string.\r
+ *\r
+ * @return string.\r
+ */\r
virtual std::string getSchema() const;\r
+\r
+ /**\r
+ * This method is for setting schema as string.\r
+ *\r
+ * @param schema - schema string.\r
+ */\r
virtual void setSchema(const std::string &schema);\r
+\r
+ /**\r
+ * This method is for getting Properties from JsonSchema.\r
+ *\r
+ * @return pointer to JsonSchema.\r
+ */\r
virtual JsonSchemaPtr const &getProperties() const;\r
\r
- Schema(const std::string &schema, const IncludeResolverPtr &includeResolver): m_schema(schema) ,\r
- m_cjson(cJSON_Parse(schema.c_str())),\r
+ /**\r
+ * Constructor of Schema.\r
+ *\r
+ * @param schema - contents of schema to be parsed\r
+ * @param includeResolver - Reference to IncludeResolver for reading external files\r
+ *\r
+ */\r
+ Schema(const std::string &schema, const IncludeResolverPtr &includeResolver):\r
+ m_schema(schema) , m_cjson(cJSON_Parse(schema.c_str())),\r
m_resProperties(std::make_shared<JsonSchema>(m_cjson, includeResolver) ) ,\r
m_includeResolver(includeResolver) {}\r
- Schema(): m_cjson(NULL), m_includeResolver(NULL), m_resProperties(std::make_shared<JsonSchema>()) {}\r
+\r
+ /**\r
+ * Constructor of Schema.\r
+ */\r
+ Schema(): m_cjson(NULL), m_resProperties(std::make_shared<JsonSchema>()),\r
+ m_includeResolver(NULL) {}\r
+\r
+ Schema(const Schema&) = delete;\r
+ Schema& operator=(const Schema&) = delete;\r
+ Schema(Schema&&) = delete;\r
+ Schema& operator=(Schema&&) = delete;\r
+\r
+ /**\r
+ * Destructor of Schema.\r
+ */\r
~Schema() { cJSON_Delete(m_cjson); }\r
\r
private:\r
- cJSON *m_cjson;\r
std::string m_schema;\r
+ cJSON *m_cjson;\r
JsonSchemaPtr m_resProperties;\r
IncludeResolverPtr m_includeResolver;\r
};\r
+\r
+ /** SchemaPtr - shared Ptr to Schema.*/\r
typedef std::shared_ptr<Schema> SchemaPtr;\r
\r
}\r