- Schema(cJSON *cjson): m_cjson(cjson) {}\r
- Schema(const std::string &schema): m_schema(schema) , m_cjson(cJSON_Parse(schema.c_str())),\r
- m_resProperties(new ResourceProperties(m_cjson) ) {}\r
- Schema() {}\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
+ /**\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
+\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