* @since 2.0
*
* @remarks @b Header @b %file: @b \#include @b <FWebJson.h> @n
- * @b Library : @b osp-web
+ * @b Library: @b osp-web
*
* The %Json namespace contains interfaces to manipulate the JSON documents.
*
/**
* @file FWebJsonIJsonValue.h
- * @brief This is the header file for the %IJsonValue interface for the JSON (generic) value.
+ * @brief This is the header file for the %IJsonValue interface that represents a JSON (generic) value.
*
- * This header file contains the definitions of the basic JSON types and declarations for
+ * This header file contains the definitions of the basic JSON types and the declarations for
* getting the type of a JSON value.
*/
#ifndef _FWEB_JSON_IJSON_VALUE_H_
*/
enum JsonType
{
- JSON_TYPE_STRING, /**< The JSON string type*/
- JSON_TYPE_NUMBER, /**< The JSON number type*/
- JSON_TYPE_OBJECT, /**< The JSON object type*/
- JSON_TYPE_ARRAY, /**< The JSON array type*/
- JSON_TYPE_BOOL, /**< The JSON bool type*/
- JSON_TYPE_NULL /**< The JSON null type*/
+ JSON_TYPE_STRING, /**< The JSON string type */
+ JSON_TYPE_NUMBER, /**< The JSON number type */
+ JSON_TYPE_OBJECT, /**< The JSON object type */
+ JSON_TYPE_ARRAY, /**< The JSON array type */
+ JSON_TYPE_BOOL, /**< The JSON bool type */
+ JSON_TYPE_NULL /**< The JSON null type */
};
/**
*
* @since 2.0
*
- * The %IJsonValue interface abstracts a JSON value class of a JSON value type (string, bool, number, array, object, and null type).
+ * The %IJsonValue interface represents the JSON value class of a JSON value type (string, bool, number, array, object, and null type).
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*/
virtual ~IJsonValue(void) {}
/**
- * Gets the type of the object contained.
+ * Gets the type of the JSON object.
*
* @since 2.0
*
* @brief This is the header file for the %JsonArray class.
*
* This header file contains the declarations of the %JsonArray class.
+ *
*/
#ifndef _FWEB_JSON_JSON_ARRAY_H_
#define _FWEB_JSON_JSON_ARRAY_H_
/**
* @class JsonArray
- * @brief This class represents the JSON value of type array.
+ * @brief This class represents a JSON value of type array.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonArray class represents the JSON value of type array.
+ * The %JsonArray class represents a JSON value of type array.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
{
public:
/**
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.0
- */
+ * The object is not fully constructed after this constructor is called. @n
+ * For full construction, the Construct() method must be called right after calling this constructor.
+ *
+ * @since 2.0
+ */
JsonArray(void);
/**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonArray(void);
/**
- * Initializes this instance of %JsonArray.
- *
- * @since 2.0
- *
- * @return An error code
- * @exception E_SUCCESS The method is successful.
- * @exception E_SYSTEM This exception exists only for historical reasons.
- */
+ * Initializes this instance of %JsonArray.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM This exception exists only for historical reasons.
+ */
result Construct(void);
/**
- * Returns the type of this class. @n
- * In this case, it is always @c JSON_ARRAY.
- *
- * @since 2.0
- *
- * @return The JSON type
- */
+ * Gets the type of this class. @n
+ * In this case, it is always @c JSON_ARRAY.
+ *
+ * @since 2.0
+ *
+ * @return The JSON type
+ */
JsonType GetType(void) const;
/**
- * Adds the specified element to end of the list.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to JsonValue to add to the list
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified input parameter is invalid.
- * @see Remove()
- */
+ * Adds the specified element to the end of the list.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to add to the list
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG The specified input parameter is invalid.
+ * @see Remove()
+ */
virtual result Add(IJsonValue* const& pJsonValue);
/**
- * Searches for an element in this list. @n
- * Gets the index of the element if it is found.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to locate
- * @param[out] index The index of the element
- * @exception E_SUCCESS The method is successful.
- * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
- * @see LastIndexOf()
- */
+ * Searches for an element in this list. @n
+ * Gets the index of the element if it is found.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to locate
+ * @param[out] index The index of the element
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
+ * @see LastIndexOf()
+ */
virtual result IndexOf(IJsonValue* const& pJsonValue, int& index) const;
/**
- * Searches for an element starting from the specified @c index. @n
- * Gets the index of the element if it is found.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to locate
- * @param[in] startIndex The starting index for the search @n
- * It must be less than the number of elements in the array.
- * @param[out] index The index of the element
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_RANGE The specified @c index is outside the bounds of the data structure, or the specified @c startIndex is either equal to or greater than the number of elements or less than @c 0.
- * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
- * @see LastIndexOf()
- */
+ * Searches for an element starting from the specified @c index. @n
+ * Gets the index of the element if it is found.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to locate
+ * @param[in] startIndex The starting index for the search @n
+ * It must be less than the number of elements in the array.
+ * @param[out] index The index of the element
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
+ * - The specified @c index is outside the bounds of the data structure.
+ * - The specified @c startIndex is either greater than or equal to the number of elements.
+ * - The specified @c startIndex is less than @c 0.
+ * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
+ * @see LastIndexOf()
+ */
virtual result IndexOf(IJsonValue* const& pJsonValue, int startIndex, int& index) const;
/**
- * Searches for an element within the specified range. @n
- * Gets the index of the element if it is found.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to locate
- * @param[in] startIndex The starting index of the range
- * @param[in] count The number of elements to read
- * @param[out] index The index of the element
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
- * - The specified @c index is outside the bounds of the data structure.
- * - The specified @c startIndex is either greater than or equal to the number of elements or less than @c 0.
- * - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
- * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
- * @see LastIndexOf()
- */
+ * Searches for an element within the specified range. @n
+ * Gets the index of the element if it is found.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to locate
+ * @param[in] startIndex The starting index of the range
+ * @param[in] count The number of elements to read
+ * @param[out] index The index of the element
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
+ * - The specified @c index is outside the bounds of the data structure.
+ * - The specified @c startIndex is either greater than or equal to the number of elements.
+ * - The specified @c startIndex is less than @c 0.
+ * - The specified @c count is greater than the number of elements starting from @c startIndex.
+ * - The specified @c count is less than @c 0.
+ * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
+ * @see LastIndexOf()
+ */
virtual result IndexOf(IJsonValue* const& pJsonValue, int startIndex, int count, int& index) const;
/**
- * Searches for the last occurrence of an element in this list. @n
- * Gets the index of the element if it is found.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to locate
- * @param[out] index The index of the last occurrence of the specified element
- * @exception E_SUCCESS The method is successful.
- * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
- * @see IndexOf()
- */
+ * Searches for the last occurrence of an element in this list. @n
+ * Gets the index of the element if it is found.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to locate
+ * @param[out] index The index of the last occurrence of the specified element
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
+ * @see IndexOf()
+ */
virtual result LastIndexOf(IJsonValue* const& pJsonValue, int& index) const;
/**
- * Checks whether the list contains the specified @c pJsonValue.
- *
- * @since 2.0
- *
- * @return @c true if the specified @c pJsonValue is present in the list, @n
- * else @c false
- * @param[in] pJsonValue A pointer to the JsonValue class to locate
- */
+ * Checks whether the list contains the specified @c pJsonValue.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the specified @c pJsonValue is present in the list, @n
+ * else @c false
+ * @param[in] pJsonValue A pointer to JsonValue to locate
+ */
virtual bool Contains(IJsonValue* const& pJsonValue) const;
/**
- * Checks whether value of the specified instance equals to value of the current instance of %JsonArray.
- *
- * @since 2.0
- *
- * @return @c true if value of the current instance equals to value of the specified instance, @n
- * else @c false
- * @param[in] obj The element to compare with the current instance of %JsonArray @n
- * If the specified element is not %JsonArray, this method returns @c false.
- * @see Tizen::Base::Object::Equals()
- */
+ * Checks whether the value of the specified instance is equal to the value of the current instance of %JsonArray.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the value of the specified instance is equal to the value of the current instance, @n
+ * else @c false
+ * @param[in] obj The element to compare with the current instance of %JsonArray @n
+ * If the specified element is not %JsonArray, this method returns @c false.
+ * @see Tizen::Base::Object::Equals()
+ */
virtual bool Equals(const Object& obj) const;
/**
- * Gets the hash value of the current instance.
- *
- * @since 2.0
- *
- * @return An integer value indicating the hash value of the current instance
- * @remarks The two equal instances must return the same hash value. For better performance,
- * the used hash function must generate a random distribution for all inputs.
- * The default implementation of this method returns the address of the current instance.
- */
+ * Gets the hash value of the current instance.
+ *
+ * @since 2.0
+ *
+ * @return The integer value that indicates the hash value of the current instance
+ * @remarks
+ * - The two equal instances must return the same hash value.
+ * - For better performance, the used hash function must generate a random distribution for all the inputs.
+ * - The default implementation of this method returns the address of the current instance.
+ */
virtual int GetHashCode(void) const;
/**
- * Removes the first occurrence of the specified element.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to remove
- * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
- * @see Add()
- * @see RemoveAt()
- * @see RemoveAll()
- */
+ * Removes the first occurrence of the specified element.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to remove
+ * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OBJ_NOT_FOUND The specified @c pJsonValue is not found.
+ * @see Add()
+ * @see RemoveAt()
+ * @see RemoveAll()
+ */
virtual result Remove(IJsonValue* const& pJsonValue, bool deallocate = false);
/**
- * Removes all the elements of the specified @c collection from the list.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] collection The collection to remove from this list
- * @param[in] deallocate Set to @c true to deallocate the JsonValues, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
- * The @c collection is modified during the operation of this method.
- */
+ * Removes all the elements of the specified @c collection from the list.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] collection The collection to remove from this list
+ * @param[in] deallocate Set to @c true to deallocate the JsonValues, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_OPERATION Either of the following conditions has occurred:
+ * - The current state of the instance prohibits the execution of the specified operation.
+ * - The @c collection is modified during the operation of this method.
+ */
virtual result RemoveItems(const Tizen::Base::Collection::ICollectionT<IJsonValue*>& collection, bool deallocate = false);
/**
- * Removes an element from a specified location. @n
- * The elements that follow the deleted element move up the list to occupy the empty location.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] index The index of the element to remove
- * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_RANGE The specified @c index is outside the bounds of the data structure, or the specified @c index is greater than or equal to the number of elements or less than @c 0.
- */
+ * Removes an element from the specified location. @n
+ * The elements that follow the deleted element move up in the list to occupy the empty location.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] index The index of the element to remove
+ * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred;
+ * - The specified @c index is outside the bounds of the data structure.
+ * - The specified @c index is either greater than or equal to the number of elements.
+ * - The specified @c index is less than @c 0.
+ */
virtual result RemoveAt(int index, bool deallocate = false);
/**
- * Removes all the elements within a specified range. @n
- * The elements that follow the deleted elements move up the list to occupy the empty locations.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] startIndex The starting index of the range
- * @param[in] count The number of elements to remove
- * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
- * - The specified @c startIndex is outside the bounds of the list.
- * - The specified @c startIndex is either greater than or equal to the number of elements or less than @c 0.
- * - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
- */
+ * Removes all the elements within the specified range. @n
+ * The elements that follow the deleted elements move up in the list to occupy the empty locations.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] startIndex The starting index of the range
+ * @param[in] count The number of elements to remove
+ * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
+ * - The specified @c startIndex is outside the bounds of the list.
+ * - The specified @c startIndex is either greater than or equal to the number of elements.
+ * - The specified @c startIndex is less than @c 0.
+ * - The specified @c count is greater than the number of elements starting from @c startIndex.
+ * - The specified @c count is less than @c 0.
+ */
virtual result RemoveItems(int startIndex, int count, bool deallocate = false);
/**
- * Removes all the elements in the %JsonArray class.
- *
- * @since 2.0
- *
- * @param[in] deallocate Set to @c true to deallocate all the elements, @n
- * else @c false
- */
+ * Removes all the elements from the %JsonArray class.
+ *
+ * @since 2.0
+ *
+ * @param[in] deallocate Set to @c true to deallocate all the elements, @n
+ * else @c false
+ */
virtual void RemoveAll(bool deallocate = false);
/**
- * Replaces the element at the specified @c index with the specified element.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to set
- * @param[in] index The index at which the element must be set
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- * @exception E_OUT_OF_RANGE The specified @c index is outside the bounds of the data structure, or the specified @c index is either equal to or greater than the number of elements or less than @c 0.
- * @see GetAt()
- */
+ * Replaces the element at the specified @c index with the specified element.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to set
+ * @param[in] index The index at which the element is set
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG A specified input parameter is invalid.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
+ * - The specified @c index is outside the bounds of the data structure.
+ * - The specified @c index is either greater than or equal to the number of elements.
+ * - The specified @c index is less than @c 0.
+ * @see GetAt()
+ */
virtual result SetAt(IJsonValue* const& pJsonValue, int index);
/**
- * Replaces the element at the specified @c index with the specified element.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pJsonValue A pointer to the JsonValue class to set
- * @param[in] index The index at which the element must be set
- * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- * @exception E_OUT_OF_RANGE The specified @c index is outside the bounds of the data structure, or the specified @c index is either equal to or greater than the number of elements or less than @c 0.
- * @see GetAt()
- */
+ * Replaces the element at the specified @c index with the specified element.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pJsonValue A pointer to JsonValue to set
+ * @param[in] index The index at which the element is set
+ * @param[in] deallocate Set to @c true to deallocate the JsonValue, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG A specified input parameter is invalid.
+ * @exception E_OUT_OF_RANGE Either of the following conditions has occurred:
+ * - The specified @c index is outside the bounds of the data structure.
+ * - The specified @c index is either greater than or equal to the number of elements.
+ * - The specified @c index is less than @c 0.
+ * @see GetAt()
+ */
virtual result SetAt(IJsonValue* const& pJsonValue, int index, bool deallocate);
/**
- * Returns a new cloned %JsonArray instance.
- *
- * @since 2.0
- *
- * @return A new cloned %JsonArray or @c null if it fails to allocate the instance
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
- */
+ * Gets a new cloned %JsonArray instance.
+ *
+ * @since 2.0
+ *
+ * @return The new cloned %JsonArray, @n
+ * else @c null if it fails to allocate the instance
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_MEMORY The memory is insufficient.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ */
JsonArray* CloneN(void) const;
private:
* @brief This is the header file for the %JsonBool class.
*
* This header file contains the declarations of the %JsonBool class.
- * This class represents the JSON value of type @c bool.
+ *
*/
#ifndef _FWEB_JSON_JSON_BOOL_H_
#define _FWEB_JSON_JSON_BOOL_H_
/**
* @class JsonBool
- * @brief This class represents the JSON value of type @c bool.
+ * @brief This class represents a JSON value of type @c bool.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonBool class represents the JSON value of type @c bool.
+ * The %JsonBool class represents a JSON value of type @c bool.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
, public Tizen::Base::Boolean
{
public:
- /**
- * Initializes this instance of %JsonBool with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] value The input bool value to initialize the %JsonBool object
- */
+ /**
+ * Initializes this instance of %JsonBool with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] value The input bool value to initialize the %JsonBool object
+ */
JsonBool(bool value);
- /**
- * Initializes a new boolean object to the input string represented by @c value. @n
- * If the input string is "true" (value is case insensitive), the object is initialized to @c true,
- * else, the value is initialized to @c false.
- *
- * @since 2.0
- *
- * @param[in] value An instance of Tizen::Base::String
- */
+ /**
+ * Initializes a new boolean object with the input string represented by @c value. @n
+ * If the input string is "true" (value is case insensitive), the object is initialized to @c true,
+ * else, the value is initialized to @c false.
+ *
+ * @since 2.0
+ *
+ * @param[in] value An instance of Tizen::Base::String
+ */
JsonBool(const Tizen::Base::String& value);
- /**
- * Initializes this instance of %JsonBool with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] value A boolean value to initialize the %JsonBool instance
- */
+ /**
+ * Initializes this instance of %JsonBool with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] value The boolean value to initialize the %JsonBool instance
+ */
JsonBool(const Boolean& value);
- /**
- * Copying of objects using this copy constructor is allowed. @n
- * Initializes a new instance of the %JsonBool class to the specified @c value.
- *
- * @since 2.0
- *
- * @param[in] value An instance of %JsonBool
- */
+ /**
+ * Copying of objects using this copy constructor is allowed. @n
+ * Initializes a new instance of %JsonBool with the specified @c value.
+ *
+ * @since 2.0
+ *
+ * @param[in] value An instance of %JsonBool
+ */
JsonBool(const JsonBool& value);
- /**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ /**
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonBool(void);
- /**
- * Gets the type of this class (always @c JSON_BOOL).
- *
- * @since 2.0
- *
- * @return The JSON type
- * @see JsonType
- */
+ /**
+ * Gets the type of this class (always @c JSON_BOOL).
+ *
+ * @since 2.0
+ *
+ * @return The JSON type
+ */
JsonType GetType(void) const;
- /**
- * Copying of objects using this copy assignment operator is allowed.
- *
- * @since 2.0
- *
- * @param[in] rhs An instance of %JsonBool
- */
+ /**
+ * Copying of objects using this copy assignment operator is allowed.
+ *
+ * @since 2.0
+ *
+ * @param[in] rhs An instance of %JsonBool to copy
+ */
JsonBool& operator =(const JsonBool& rhs);
private:
* @brief This is the header file for the %JsonNull class.
*
* This header file contains the declarations of the %JsonNull class.
- * This class represents the JSON value of type @c null.
+ *
*/
#ifndef _FWEB_JSON_JSON_NULL_H_
#define _FWEB_JSON_JSON_NULL_H_
/**
* @class JsonNull
- * @brief This class represents the JSON value of type @c null.
+ * @brief This class represents a JSON value of type @c null.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonNull class represents the JSON value of type @c null.
+ * The %JsonNull class represents a JSON value of type @c null.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
, public Tizen::Base::Object
{
public:
- /**
- * This is the default constructor for this class.
- *
- * @since 2.0
- */
+ /**
+ * This is the default constructor for this class.
+ *
+ * @since 2.0
+ */
JsonNull(void);
- /**
- * Copying of objects using this copy constructor is allowed. @n
- * Initializes a new instance of %JsonNull to the specified @c value.
- *
- * @since 2.0
- *
- * @param[in] value An instance of %JsonNull
- */
+ /**
+ * Copying of objects using this copy constructor is allowed. @n
+ * Initializes a new instance of %JsonNull with the specified @c value.
+ *
+ * @since 2.0
+ *
+ * @param[in] value An instance of %JsonNull
+ */
JsonNull(const JsonNull& value);
- /**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ /**
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonNull(void);
- /**
- * Checks whether the value of the specified instance equals the value of the current instance.
- *
- * @since 2.0
- *
- * @return @c true if the value of the current instance equals the value of the specified instance, @n
- * else @c false
- * @param[in] obj The object to compare with the current instance of %JsonNull @n
- * This method returns @c false if the specified object is not %JsonNull.
- * @see Tizen::Base::Object::Equals()
- */
+ /**
+ * Checks whether the value of the specified instance equals the value of the current instance.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the value of the specified instance equals the value of the current instance, @n
+ * else @c false
+ * @param[in] obj The object to compare with the current instance of %JsonNull @n
+ * This method returns @c false if the specified object is not %JsonNull.
+ * @see Tizen::Base::Object::Equals()
+ */
virtual bool Equals(const Object& obj) const;
- /**
- * Gets the hash value of the current instance.
- *
- * @since 2.0
- *
- * @return An integer value indicating the hash value of the current instance
- * @remarks The two equal instances must return the same hash value. For better performance,
- * the used hash function must generate a random distribution for all inputs. @n
- * The default implementation of this method returns the address of the current instance.
- */
+ /**
+ * Gets the hash value of the current instance.
+ *
+ * @since 2.0
+ *
+ * @return The integer value that indicates the hash value of the current instance
+ * @remarks
+ * - The two equal instances must return the same hash value.
+ * - For better performance, the used hash function must generate a random distribution for all the inputs. @n
+ * - The default implementation of this method returns the address of the current instance.
+ */
virtual int GetHashCode(void) const;
- /**
- * Gets the type of the object (always @c JSON_NULL).
- *
- * @since 2.0
- *
- * @return The JSON type
- */
+ /**
+ * Gets the type of the object (always @c JSON_NULL).
+ *
+ * @since 2.0
+ *
+ * @return The JSON type
+ */
JsonType GetType(void) const;
- /**
- * Converts the value of the calling object from %JsonNull to a string.
- *
- * @since 2.0
- *
- * @return A string representing the value of the current instance
- */
+ /**
+ * Converts the value of the current object from %JsonNull to a string.
+ *
+ * @since 2.0
+ *
+ * @return The string that represents the value of the current instance
+ */
Tizen::Base::String ToString(void) const;
- /**
- * Assigns the value of the specified instance of %JsonNull to the current instance of %JsonNull.
- *
- * @since 2.0
- *
- * @param[in] rhs An instance of %JsonNull
- */
+ /**
+ * Assigns the value of the specified instance of %JsonNull to the current instance of %JsonNull.
+ *
+ * @since 2.0
+ *
+ * @param[in] rhs An instance of %JsonNull
+ */
JsonNull& operator =(const JsonNull& rhs);
- /**
- * Checks whether the values of the two %JsonNull objects are equal.
- *
- * @since 2.0
- *
- * @return @c true if the values of the objects are equal, @n
- * else @c false
- * @param[in] rhs A %JsonNull instance to compare with the current instance
- */
+ /**
+ * Checks whether the values of the two %JsonNull objects are equal.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the values of the objects are equal, @n
+ * else @c false
+ * @param[in] rhs A %JsonNull instance to compare with the current instance
+ */
bool operator ==(const JsonNull& rhs) const;
- /**
- * Checks whether the values of the two %JsonNull objects are not equal.
- *
- * @since 2.0
- *
- * @return @c true if the values of the objects are not equal, @n
- * else @c false
- * @param[in] rhs A %JsonNull instance to compare with the current instance
- */
+ /**
+ * Checks whether the values of the two %JsonNull objects are not equal.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the values of the objects are not equal, @n
+ * else @c false
+ * @param[in] rhs A %JsonNull instance to compare with the current instance
+ */
bool operator !=(const JsonNull& rhs) const;
private:
* @brief This is the header file for the %JsonNumber class.
*
* This header file contains the declarations of the %JsonNumber class.
- * This class represents the JSON value of type number.
*
*/
#ifndef _FWEB_JSON_JSON_NUMBER_H_
/**
* @class JsonNumber
- * @brief This class represents the JSON value of type number.
+ * @brief This class represents a JSON value of type number.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonNumber class represents the type of the JSON number.
+ * The %JsonNumber class represents the type of a JSON number.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
, public Tizen::Base::Double
{
public:
- /**
- * Initializes this instance of %JsonNumber with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] value The value of type @c double
- */
+ /**
+ * Initializes this instance of %JsonNumber with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] value The value of type @c double
+ */
JsonNumber(double value = 0.0L);
- /**
- * Initializes this instance of %JsonNumber with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] value The value of type integer
- */
+ /**
+ * Initializes this instance of %JsonNumber with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] value The value of type integer
+ */
JsonNumber(int value);
- /**
- * Copying of objects using this copy constructor is allowed. @n
- * This constructor initializes a new instance of the %JsonNumber class with the value from another instance.
- *
- * @since 2.0
- *
- * @param[in] value An instance of %JsonNumber
- */
+ /**
+ * Copying of objects using this copy constructor is allowed. @n
+ * Initializes a new instance of %JsonNumber with the value from another instance.
+ *
+ * @since 2.0
+ *
+ * @param[in] value An instance of %JsonNumber
+ */
JsonNumber(const JsonNumber& value);
- /**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ /**
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonNumber(void);
- /**
- * Gets the type of JSON number.
- *
- * @since 2.0
- *
- * @return The type of JSON number
- */
+ /**
+ * Gets the type of the JSON number.
+ *
+ * @since 2.0
+ *
+ * @return The JSON number type
+ */
JsonType GetType(void) const;
- /**
- * Copying of objects using this copy assignment operator is allowed.
- *
- * @since 2.0
- *
- * @param[in] rhs An instance of %JsonNumber
- */
+ /**
+ * Copying of objects using this copy assignment operator is allowed.
+ *
+ * @since 2.0
+ *
+ * @param[in] rhs An instance of %JsonNumber to copy
+ */
JsonNumber& operator =(const JsonNumber& rhs);
private:
* @brief This is the header file for the %JsonObject class.
*
* This header file contains the declarations of the %JsonObject class.
- * This class represents the JSON value of type object.
+ *
*/
#ifndef _FWEB_JSON_JSON_OBJECT_H_
#define _FWEB_JSON_JSON_OBJECT_H_
/**
* @class JsonObject
- * @brief This class represents the JSON value of type object.
+ * @brief This class represents a JSON value of type object.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonObject class represents the JSON value of type object.
+ * The %JsonObject class represents a JSON value of type object.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
, public Tizen::Base::Collection::HashMapT<const Tizen::Base::String*, IJsonValue*>
{
public:
- /**
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.0
- */
+ /**
+ * The object is not fully constructed after this constructor is called. @n
+ * For full construction, the Construct() method must be called right after calling this constructor.
+ *
+ * @since 2.0
+ */
JsonObject(void);
- /**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ /**
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonObject(void);
- /**
- * Initializes this instance of %JsonObject.
- *
- * @since 2.0
- *
- * @return An error code
- * @exception E_SUCCESS The method is successful.
- * @exception E_SYSTEM This exception exists only for historical reasons.
- */
+ /**
+ * Initializes this instance of %JsonObject.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM This exception exists only for historical reasons.
+ */
result Construct(void);
- /**
- * Gets the type of the JSON object.
- *
- * @since 2.0
- *
- * @return The type of the JSON object
- */
+ /**
+ * Gets the type of the JSON object.
+ *
+ * @since 2.0
+ *
+ * @return The JSON object type
+ */
JsonType GetType(void) const;
- /**
- * Adds the specified key-value pair to a JSON object.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey A pointer to the key-value to add
- * @param[in] pJsonValue A pointer to the value to add
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_ALREADY_EXIST The specified @c pKey already exists.
- * @see Remove()
- */
+ /**
+ * Adds the specified key-value pair to the JSON object.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey A pointer to the key-value to add
+ * @param[in] pJsonValue A pointer to the value to add
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_ALREADY_EXIST The specified @c pKey already exists.
+ * @see Remove()
+ */
virtual result Add(const Tizen::Base::String* const& pKey, Tizen::Web::Json::IJsonValue* const& pJsonValue);
- /**
- * Gets the value associated with a specified key.
- *
- * @since 2.0
- *
- * @return The value associated with the key, @n
- * else @c null if an exception occurs
- * @param[in] pKey A pointer to the key to locate
- * @param[out] pJsonValue A pointer to the value associated with the key
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
- * @see SetValue()
- */
+ /**
+ * Gets the value associated with the specified key.
+ *
+ * @since 2.0
+ *
+ * @return The value associated with the key, @n
+ * else @c null if an exception occurs
+ * @param[in] pKey A pointer to the key to locate
+ * @param[out] pJsonValue A pointer to the value associated with the key
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
+ * @see SetValue()
+ */
virtual result GetValue(const Tizen::Base::String* const& pKey, Tizen::Web::Json::IJsonValue*& pJsonValue) const;
- /**
- * Checks whether a JSON object contains the specified value.
- *
- * @since 2.0
- *
- * @return @c true if the JSON object contains the specified value, @n
- * else @c false
- * @param[in] pJsonValue A pointer to the value to locate
- */
+ /**
+ * Checks whether the JSON object contains the specified value.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the JSON object contains the specified value, @n
+ * else @c false
+ * @param[in] pJsonValue A pointer to the value to locate
+ */
virtual bool ContainsValue(IJsonValue* const& pJsonValue) const;
- /**
- * Checks whether the value of the specified instance equals the value of the current instance of %JsonObject.
- *
- * @since 2.0
- *
- * @return @c true if the value of the current instance equals the value of the specified instance, @n
- * else @c false
- * @param[in] obj The object to compare @n
- * This object is compared with the current instance of %JsonObject.
- * @remarks This method returns @c false if the specified object is not of type JSON object.
- * @see Tizen::Base::Object::Equals()
- */
+ /**
+ * Checks whether the value of the specified instance equals the value of the current instance of %JsonObject.
+ *
+ * @since 2.0
+ *
+ * @return @c true if the value of the specified instance equals the value of the current instance, @n
+ * else @c false
+ * @param[in] obj The object to compare @n
+ * This object is compared with the current instance of %JsonObject.
+ * @remarks This method returns @c false if the specified object is not of type JSON object.
+ * @see Tizen::Base::Object::Equals()
+ */
virtual bool Equals(const Object& obj) const;
- /**
- * Gets the hash value of the current instance.
- *
- * @since 2.0
- *
- * @return An integer value indicating the hash value of the current instance
- * @remarks The two equal instances must return the same hash value. For better performance,
- * the used hash function must generate a random distribution for all inputs. @n
- * The default implementation of this method returns the address of the current instance.
- */
+ /**
+ * Gets the hash value of the current instance.
+ *
+ * @since 2.0
+ *
+ * @return The integer value that indicates the hash value of the current instance
+ * @remarks
+ * - The two equal instances must return the same hash value.
+ * - For better performance, the used hash function must generate a random distribution for all the inputs. @n
+ * - The default implementation of this method returns the address of the current instance.
+ */
virtual int GetHashCode(void) const;
- /**
- * Removes the value associated with a specified key.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey A pointer to the key to remove
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
- */
+ /**
+ * Removes the value associated with the specified key.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey A pointer to the key to remove
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - The specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
+ */
virtual result Remove(const Tizen::Base::String* const& pKey);
- /**
- * Removes the value associated with a specified key.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey A pointer to the key to remove
- * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
- */
+ /**
+ * Removes the value associated with the specified key.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey A pointer to the key to remove
+ * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
+ */
virtual result Remove(const Tizen::Base::String* const& pKey, bool deallocate);
- /**
- * Removes all the key-value pairs in %JsonObject.
- *
- * @since 2.0
- *
- * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
- * else @c false
- */
+ /**
+ * Removes all the key-value pairs from %JsonObject.
+ *
+ * @since 2.0
+ *
+ * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
+ * else @c false
+ */
virtual void RemoveAll(bool deallocate = false);
- /**
- * Sets a new value to a specified key.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey A pointer to the key for which the value is to replace
- * @param[in] pJsonValue A pointer to the new value to set
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
- * @remarks Use the Add() method to add a new key-value pair.
- */
+ /**
+ * Sets a new value to the specified key.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey A pointer to the key whose value is replaced
+ * @param[in] pJsonValue A pointer to the new value to set
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
+ * @remarks Use the Add() method to add a new key-value pair.
+ */
virtual result SetValue(const Tizen::Base::String* const& pKey, Tizen::Web::Json::IJsonValue* const& pJsonValue);
- /**
- * Sets a new value to a specified key.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey A pointer to the key for which the value is to replace
- * @param[in] pJsonValue A pointer to the new value to set
- * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
- * @remarks Use the Add() method to add a new key-value pair.
- */
+ /**
+ * Sets a new value to the specified key.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey A pointer to the key whose value is replaced
+ * @param[in] pJsonValue A pointer to the new value to set
+ * @param[in] deallocate Set to @c true to deallocate the JSON value, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ * @exception E_OBJ_NOT_FOUND The specified @c pKey is not found.
+ * @remarks Use the Add() method to add a new key-value pair.
+ */
virtual result SetValue(const Tizen::Base::String* const& pKey, Tizen::Web::Json::IJsonValue* const& pJsonValue, bool deallocate);
- /**
- * Checks whether a JSON object contains the specified key.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pKey The key to locate
- * @param[out] out @c true if the JSON object contains the specified key, @n
- * else @c false
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid, or the key comparison has failed.
- */
+ /**
+ * Checks whether a JSON object contains the specified key.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pKey The key to locate
+ * @param[out] out @c true if the JSON object contains the specified key, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - A specified input parameter is invalid.
+ * - The key comparison has failed.
+ */
virtual result ContainsKey(const Tizen::Base::String* const& pKey, bool& out) const;
- /**
- * Returns a new cloned %JsonObject instance.
- *
- * @since 2.0
- *
- * @return A new cloned %JsonObject or @c null if it fails to allocate the instance
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
- */
+ /**
+ * Gets a new cloned %JsonObject instance.
+ *
+ * @since 2.0
+ *
+ * @return The new cloned %JsonObject, @n
+ * else @c null if it fails to allocate the instance
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_OUT_OF_MEMORY The memory is insufficient.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ */
JsonObject* CloneN(void) const;
private:
* @file FWebJsonJsonParser.h
* @brief This is the header file for the %JsonParser class.
*
- * This header file contains the declarations of the JSON functionalities for parsing the JSON-encoded file.
+ * This header file contains the declarations of the JSON functionalities for parsing a JSON-encoded file.
*/
#ifndef _FWEB_JSON_JSON_PARSER_H_
#define _FWEB_JSON_JSON_PARSER_H_
/**
* @class JsonParser
- * @brief This class contains the declarations of the JSON functionalities for parsing the JSON-encoded file.
+ * @brief This class contains the declarations of the JSON functionalities for parsing a JSON-encoded file.
*
* @since 2.0
*
- * The %JsonParser class contains the declarations of the JSON functionalities for parsing the JSON-encoded files.
+ * The %JsonParser class contains the declarations of the JSON functionalities for parsing a JSON-encoded files.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
class _OSP_EXPORT_ JsonParser
{
public:
- /**
- * Parses a JSON-encoded file to IJsonValue (node).
- *
- * @if OSPCOMPAT
- * @brief <i> [Compatibility] </i>
- * @endif
- * @since 2.0
- * @if OSPCOMPAT
- * @compatibility This method has compatibility issues with OSP compatible applications. @n
- * For more information, see @ref CompIoPathPage "here".
- * @endif
- *
- * @return A JSON value of type JsonArray or JsonObject, @n
- * else @c null if the JSON data of the file is invalid
- * @param[in] filePath The path of the JSON-encoded file
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified file path is incorrect, or the file is not found.
- * @exception E_INVALID_DATA The input JSON data is invalid, or the buffer is empty.
- * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
- * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission.
- * @exception E_FILE_NOT_FOUND The specified @c filePath cannot be found.
- * @exception E_SYSTEM The method cannot proceed due to a severe system error.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
- */
+ /**
+ * Parses a JSON-encoded file to IJsonValue (node).
+ *
+ * @if OSPCOMPAT
+ * @brief <i> [Compatibility] </i>
+ * @endif
+ * @since 2.0
+ * @if OSPCOMPAT
+ * @compatibility This method has compatibility issues with OSP compatible applications. @n
+ * For more information, see @ref CompIoPathPage "here".
+ * @endif
+ *
+ * @return The JSON value of type JsonArray or JsonObject, @n
+ * else @c null if the JSON data of the file is invalid
+ * @param[in] filePath The path of the JSON-encoded file
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - The specified @c filePath is incorrect.
+ * - The file is not found.
+ * @exception E_INVALID_DATA Either of the following conditions has occurred:
+ * - The input JSON data is invalid.
+ * - The buffer is empty.
+ * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
+ * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission.
+ * @exception E_FILE_NOT_FOUND The specified @c filePath is not found.
+ * @exception E_SYSTEM The method cannot proceed due to a severe system error.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ */
static IJsonValue* ParseN(const Tizen::Base::String& filePath);
- /**
- * Parses a JSON-encoded buffer to IJsonValue (node).
- *
- * @since 2.0
- *
- * @return A JSON value of type JsonArray or JsonObject, @n
- * else @c null if the JSON data of the file is invalid
- * @param[in] pBuffer A JSON-encoded buffer
- * @param[in] bufferLength A JSON-encoded buffer length
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG Either of the following conditions has occurred:
- * - The specified @c pBuffer is @c null.
- * - The specified @c bufferLength is zero or negative.
- * @exception E_INVALID_DATA The input JSON data is invalid, or the buffer is empty.
- * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
- */
+ /**
+ * Parses a JSON-encoded buffer to IJsonValue (node).
+ *
+ * @since 2.0
+ *
+ * @return The JSON value of type JsonArray or JsonObject, @n
+ * else @c null if the JSON data of the file is invalid
+ * @param[in] pBuffer The JSON-encoded buffer
+ * @param[in] bufferLength The JSON-encoded buffer length
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - The specified @c pBuffer is @c null.
+ * - The specified @c bufferLength is either zero or negative.
+ * @exception E_INVALID_DATA Either of the following conditions has occurred:
+ * - The input JSON data is invalid.
+ * - The buffer is empty.
+ * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ */
static IJsonValue* ParseN(const void* pBuffer, int bufferLength);
- /**
- * Parses a JSON-encoded Tizen::Base::ByteBuffer to IJsonValue (node).
- *
- * @since 2.0
- *
- * @return A JSON value of type JsonArray or JsonObject, @n
- * else @c null if the JSON data of the file is invalid
- * @param[in] buffer A JSON-encoded byte buffer
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_DATA The input JSON data is invalid, or the buffer is empty.
- * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
- */
+ /**
+ * Parses a JSON-encoded Tizen::Base::ByteBuffer to IJsonValue (node).
+ *
+ * @since 2.0
+ *
+ * @return The JSON value of type JsonArray or JsonObject, @n
+ * else @c null if the JSON data of the file is invalid
+ * @param[in] buffer The JSON-encoded byte buffer
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_DATA Either of the following conditions has occurred:
+ * - The input JSON data is invalid.
+ * - The buffer is empty.
+ * @exception E_MAX_EXCEEDED The input JSON data exceeds the maximum length.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ */
static IJsonValue* ParseN(const Tizen::Base::ByteBuffer& buffer);
private:
* @brief This is the header file for the %JsonString class.
*
* This header file contains the declarations of the %JsonString class.
- * This class represents the JSON value of type string.
+ *
*/
#ifndef _FWEB_JSON_JSON_STRING_H_
#define _FWEB_JSON_JSON_STRING_H_
/**
* @class JsonString
- * @brief This class represents the JSON value of type string.
+ * @brief This class represents a JSON value of type string.
*
* @since 2.0
*
* @final This class is not intended for extension.
*
- * The %JsonString class represents the JSON value of type string.
+ * The %JsonString class represents a JSON value of type string.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
, public Tizen::Base::String
{
public:
- /**
- * Initializes this instance of %JsonString with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] pValue A pointer to an array of UTF-8 characters
- */
+ /**
+ * Initializes this instance of %JsonString with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] pValue A pointer to the array of UTF-8 characters
+ */
JsonString(const char* pValue);
- /**
- * Initializes this instance of %JsonString with the specified parameter.
- *
- * @since 2.0
- *
- * @param[in] value A reference to Tizen::Base::String
- */
+ /**
+ * Initializes this instance of %JsonString with the specified parameter.
+ *
+ * @since 2.0
+ *
+ * @param[in] value A reference to Tizen::Base::String
+ */
JsonString(const Tizen::Base::String& value);
- /**
- * Initializes this instance of %JsonString with the specified Unicode string.
- *
- * @since 2.0
- *
- * @param[in] pValue A pointer to an array of Unicode characters
- */
+ /**
+ * Initializes this instance of %JsonString with the specified Unicode string.
+ *
+ * @since 2.0
+ *
+ * @param[in] pValue A pointer to the array of Unicode characters
+ */
JsonString(const wchar_t* pValue);
- /**
- * Copying of objects using this copy constructor is allowed.
- *
- * @since 2.0
- *
- * @param[in] rhs An instance of %JsonString
- */
+ /**
+ * Copying of objects using this copy constructor is allowed.
+ *
+ * @since 2.0
+ *
+ * @param[in] rhs An instance of %JsonString to copy
+ */
JsonString(const Tizen::Web::Json::JsonString& rhs);
- /**
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.0
- */
+ /**
+ * This destructor overrides Tizen::Base::Object::~Object().
+ *
+ * @since 2.0
+ */
virtual ~JsonString(void);
- /**
- * Gets the type of the JSON string.
- *
- * @since 2.0
- *
- * @return The type of the JSON string
- */
+ /**
+ * Gets the type of the JSON string.
+ *
+ * @since 2.0
+ *
+ * @return The JSON string type
+ */
JsonType GetType(void) const;
- /**
- * Copying of objects using this copy assignment operator is allowed.
- *
- * @since 2.0
- *
- * @param[in] rhs A reference to the %JsonString instance to copy
- */
+ /**
+ * Copying of objects using this copy assignment operator is allowed.
+ *
+ * @since 2.0
+ *
+ * @param[in] rhs A reference to the %JsonString instance to copy
+ */
JsonString& operator =(const Tizen::Web::Json::JsonString& rhs);
private:
* @file FWebJsonJsonWriter.h
* @brief This is the header file for composing a JSON-encoded file.
*
- * This header file contains the declarations of the JSON functionalities for composing JSON-encoded file.
+ * This header file contains the declarations of the JSON functionalities for composing a JSON-encoded file.
*/
#ifndef _FWEB_JSON_JSON_WRITER_H_
#define _FWEB_JSON_JSON_WRITER_H_
/**
* @class JsonWriter
- * @brief This class contains the declarations of the JSON functionalities for composing JSON-encoded file.
+ * @brief This class contains the declarations of the JSON functionalities for composing a JSON-encoded file.
*
* @since 2.0
*
- * The %JsonWriter class contains the declarations of the JSON functionalities for composing JSON-encoded files.
+ * The %JsonWriter class contains the declarations of the JSON functionalities for composing a JSON-encoded file.
*
* For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
*
class _OSP_EXPORT_ JsonWriter
{
public:
- /**
- * Serializes the JSON-encoded data from IJsonValue to a file.
- *
- * @if OSPCOMPAT
- * @brief <i> [Compatibility] </i>
- * @endif
- * @since 2.0
- * @if OSPCOMPAT
- * @compatibility This method has compatibility issues with OSP compatible applications. @n
- * For more information, see @ref CompIoPathPage "here".
- * @endif
- *
- * @return An error code
- * @param[in] pValue The JSON value to encode
- * @param[out] filePath The JSON file path
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_DATA The specified @c pValue is @c null.
- * @exception E_INVALID_ARG The specified @c filePath is incorrect.
- * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission.
- * @exception E_STORAGE_FULL The disk space is full.
- * @exception E_SYSTEM The method cannot proceed due to a severe system error.
- */
+ /**
+ * Serializes the JSON-encoded data from IJsonValue to a file.
+ *
+ * @if OSPCOMPAT
+ * @brief <i> [Compatibility] </i>
+ * @endif
+ * @since 2.0
+ * @if OSPCOMPAT
+ * @compatibility This method has compatibility issues with OSP compatible applications. @n
+ * For more information, see @ref CompIoPathPage "here".
+ * @endif
+ *
+ * @return An error code
+ * @param[in] pValue The JSON value to encode
+ * @param[out] filePath The JSON file path
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_DATA The specified @c pValue is @c null.
+ * @exception E_INVALID_ARG The specified @c filePath is incorrect.
+ * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission.
+ * @exception E_STORAGE_FULL The disk space is full.
+ * @exception E_SYSTEM The method cannot proceed due to a severe system error.
+ */
static result Compose(const IJsonValue* pValue, Tizen::Base::String& filePath);
- /**
- * Serializes the JSON-encoded data from IJsonValue to a buffer.
- *
- * @since 2.0
- *
- * @return An error code
- * @param[in] pValue The JSON value to encode
- * @param[in] bufferLength The JSON-encoded data buffer length
- * @param[out] pBuffer The buffer with JSON-encoded data
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG Either of the following conditions has occurred:
- * - The specified @c pBuffer is @c null.
- * - The specified bufferLength is negative.
- * @exception E_INVALID_DATA The specified @c pValue is @c null.
- */
+ /**
+ * Serializes the JSON-encoded data from IJsonValue to a buffer.
+ *
+ * @since 2.0
+ *
+ * @return An error code
+ * @param[in] pValue The JSON value to encode
+ * @param[in] bufferLength The JSON-encoded data buffer length
+ * @param[out] pBuffer The buffer that contains the JSON-encoded data
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred:
+ * - The specified @c pBuffer is @c null.
+ * - The specified @c bufferLength is negative.
+ * @exception E_INVALID_DATA The specified @c pValue is @c null.
+ */
static result Compose(const IJsonValue* pValue, void* pBuffer, int bufferLength);
- /**
- * Serializes the JSON-encoded data from IJsonValue to Tizen::Base::ByteBuffer.
- *
- * @since 2.0
- * @return An error code
- * @param[in] pValue The JSON value to encode
- * @param[out] buffer The buffer with JSON-encoded data @n
- * The value has to be constructed with a non-zero capacity.
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_DATA The specified @c pValue is @c null.
- */
+ /**
+ * Serializes the JSON-encoded data from IJsonValue to Tizen::Base::ByteBuffer.
+ *
+ * @since 2.0
+ * @return An error code
+ * @param[in] pValue The JSON value to encode
+ * @param[out] buffer The buffer that contains the JSON-encoded data @n
+ * The value has to be constructed with a non-zero capacity.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_DATA The specified @c pValue is @c null.
+ */
static result Compose(const IJsonValue* pValue, Tizen::Base::ByteBuffer& buffer);
- /**
- * Serializes the JSON-encoded data from IJsonValue to Tizen::Base::ByteBuffer with unescaped wide characters.
- *
- * @since 2.1
- * @return An error code
- * @param[in] pValue The JSON value to encode
- * @param[out] buffer The buffer with JSON-encoded data @n
- * The value has to be constructed with a non-zero capacity.
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_DATA The specified @c pValue is @c null.
- */
+ /**
+ * Serializes the JSON-encoded data from IJsonValue to Tizen::Base::ByteBuffer with unescaped wide characters.
+ *
+ * @since 2.1
+ * @return An error code
+ * @param[in] pValue The JSON value to encode
+ * @param[out] buffer The buffer that contains the JSON-encoded data @n
+ * The value has to be constructed with a non-zero capacity.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_DATA The specified @c pValue is @c null.
+ */
static result ComposeUnescapeUnicode(const IJsonValue* pValue, Tizen::Base::ByteBuffer& buffer);
private:
+%define debug_package %{nil}
%define __strip /bin/true
Name: osp-json
%setup -q
%build
+%if 0%{?tizen_build_binary_release_type_eng}
+CXXFLAGS="$CXXFLAGS -D_SECURE_LOG"
+%endif
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
%ifarch %{ix86}
+%if 0%{?simulator}
CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
%else
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ " cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%endif
+%else
+
+%if 0%{?tizen_build_binary_release_type_eng}
+CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_SECURE_LOG -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%else
CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
%endif
+%endif
# Call make instruction with smp support
make %{?jobs:-j%jobs}