Do not install debug libraries on our own
[platform/framework/native/json.git] / inc / FWebJsonJsonNumber.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FWebJsonJsonNumber.h
20  * @brief               This is the header file for the %JsonNumber class.
21  *
22  * This header file contains the declarations of the %JsonNumber class.
23  * This class represents the JSON value of type number.
24  *
25  */
26 #ifndef _FWEB_JSON_JSON_NUMBER_H_
27 #define _FWEB_JSON_JSON_NUMBER_H_
28
29 #include <FBaseDouble.h>
30 #include <FWebJsonIJsonValue.h>
31
32 namespace Tizen { namespace Web { namespace Json
33 {
34 class _JsonNumberImpl;
35 }}} // Tizen::Web::Json
36
37 namespace Tizen { namespace Web { namespace Json
38 {
39
40 /**
41  * @class       JsonNumber
42  * @brief       This class represents the JSON value of type number.
43  *
44  * @since       2.0
45  *
46  * @final       This class is not intended for extension.
47  *
48  * The %JsonNumber class represents the type of the JSON number.
49  * 
50  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/json_namespace.htm">JSON Guide</a>.
51
52  *
53  */
54 class _OSP_EXPORT_ JsonNumber
55         : public IJsonValue
56         , public Tizen::Base::Double
57 {
58 public:
59         /**
60          * Initializes this instance of %JsonNumber with the specified parameter.
61          *
62          * @since       2.0
63          *
64          * @param[in]   value   The value of type @c double
65          */
66         JsonNumber(double value = 0.0L);
67
68         /**
69          * Initializes this instance of %JsonNumber with the specified parameter.
70          *
71          * @since       2.0
72          *
73          * @param[in]   value   The value of type integer
74          */
75         JsonNumber(int value);
76
77         /**
78          * Copying of objects using this copy constructor is allowed. @n
79          * This constructor initializes a new instance of the %JsonNumber class with the value from another instance.
80          *
81          * @since                       2.0
82          *
83          * @param[in]   value   An instance of %JsonNumber
84          */
85         JsonNumber(const JsonNumber& value);
86
87         /**
88          * This destructor overrides Tizen::Base::Object::~Object().
89          *
90          * @since       2.0
91          */
92         virtual ~JsonNumber(void);
93
94         /**
95          * Gets the type of JSON number.
96          *
97          * @since               2.0
98          *
99          * @return     The type of JSON number
100          */
101         JsonType GetType(void) const;
102
103         /**
104          * Copying of objects using this copy assignment operator is allowed. 
105          *
106          * @since               2.0
107          *
108          * @param[in]   rhs     An instance of %JsonNumber
109          */
110         JsonNumber& operator =(const JsonNumber& rhs);
111
112 private:
113         _JsonNumberImpl* __pJsonNumberImpl;
114
115         friend class _JsonNumberImpl;
116 }; // JsonNumber
117
118 }}} // Tizen::Web::Json
119 #endif // _FWEB_JSON_JSON_NUMBER_H_