Merge "Modify Scanner class" into tizen_2.1
[platform/framework/native/appfw.git] / inc / FIoDataSet.h
1 //\r
2 // Open Service Platform\r
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.\r
4 //\r
5 // Licensed under the Apache License, Version 2.0 (the License);\r
6 // you may not use this file except in compliance with the License.\r
7 // You may obtain a copy of the License at\r
8 //\r
9 //     http://www.apache.org/licenses/LICENSE-2.0\r
10 //\r
11 // Unless required by applicable law or agreed to in writing, software\r
12 // distributed under the License is distributed on an "AS IS" BASIS,\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14 // See the License for the specific language governing permissions and\r
15 // limitations under the License.\r
16 //\r
17 \r
18 /**\r
19 * @file            FIoDataSet.h\r
20 * @brief          This is the header file for the %DataSet class.\r
21 *\r
22 * This header file contains the declarations of the %DataSet class.\r
23 */\r
24 \r
25 #ifndef _FIO_DATA_SET_H_\r
26 #define _FIO_DATA_SET_H_\r
27 \r
28 #include <FBaseObject.h>\r
29 #include <FBaseColIList.h>\r
30 #include <FIoDataRow.h>\r
31 #include <FIoDataSetEnumerator.h>\r
32 \r
33 namespace Tizen { namespace Io\r
34 {\r
35 \r
36 /**\r
37 * @class                DataSet\r
38 * @brief                This class provides methods to manipulate in-memory table.\r
39 *\r
40 * @since                2.1\r
41 *\r
42 * @final                This class is not intended for extension.\r
43 *\r
44 * The %DataSet class provides methods to manipulate in-memory table.\r
45 */\r
46 class _OSP_EXPORT_ DataSet\r
47            : public Tizen::Base::Object\r
48 {\r
49 \r
50 public:\r
51         /**\r
52         * The object is not fully constructed after this constructor is called. For full construction,\r
53         * the Construct() method must be called right after calling this constructor.\r
54         *\r
55         * @since                2.1\r
56         */\r
57         DataSet(void);\r
58 \r
59         /**\r
60         * This destructor overrides Tizen::Base::Object::~Object().\r
61         *\r
62         * @since                2.1\r
63         */\r
64         virtual ~DataSet(void);\r
65 \r
66         /**\r
67         * Creates in-memory table.\r
68         *\r
69         * @since                2.1\r
70         *\r
71         * @return               An error code\r
72         * @param[in]            columnNames             The list of column names to create @n\r
73         *                                                               The object type in the specified list should be String.\r
74         * @exception            E_SUCCESS               The method is successful.\r
75         * @exception            E_INVALID_ARG   The specified @c columnNames has no element.\r
76         */\r
77         result Construct(const Tizen::Base::Collection::IList& columnNames);\r
78 \r
79         /**\r
80         * Creates a row in the table.\r
81         *\r
82         * @since                2.1\r
83         *\r
84         * @return       A pointer to the DataRow instance, @n\r
85         *                       else @c null if the memory is insufficient\r
86         * @remarks      The column type is decided by the type of each element inserted in first row.\r
87         *                       If a specific column element on the first row is not inserted, then the column's type is @c DB_COLUMNTYPE_NULL\r
88         *                               In that case, when a new column element is added later,\r
89         *                               then the column's type will be changed according to the new element.\r
90         */\r
91         DataRow* CreateDataRowN(void);\r
92 \r
93         /**\r
94         * Gets a table enumerator.\r
95         *\r
96         * @since                2.1\r
97         *\r
98         * @return       A pointer to the DataSetEnumerator instance, @n\r
99         *                       else @c null if the memory is insufficient\r
100         */\r
101         DataSetEnumerator* GetDataSetEnumeratorN(void);\r
102 \r
103 \r
104         /**\r
105         * Gets a copy of this instance.\r
106         *\r
107         * @since                2.1\r
108         *\r
109         * @return       A pointer to the copy of the %DataSet instance, @n\r
110         *                       else @c null if the memory is insufficient\r
111         */\r
112         DataSet* CloneN(void) const;\r
113 \r
114         /**\r
115         * Checks whether the value of a specified instance of Tizen::Base::Object is equal to the value of a current instance of\r
116         * %DataSet.\r
117         *\r
118         * @since                2.1\r
119         *\r
120         * @return       @c true if the value of the specified instance of Tizen::Base::Object is equal to the value of the current\r
121         *                       instance of %DataSet, @n\r
122         *                       else @c false\r
123         * @param[in]    obj             An instance of Tizen::Base::Object to compare\r
124         * @remarks      This method returns @c false if the specified @c obj is not a %DataSet instance.\r
125         */\r
126         virtual bool Equals(const Tizen::Base::Object& obj) const;\r
127 \r
128         /**\r
129         * Gets the hash value of a current instance.\r
130         *\r
131         * @since                2.1\r
132         *\r
133         * @return       The hash value of the current instance\r
134         */\r
135         virtual int GetHashCode(void) const;\r
136 \r
137 private:\r
138         //\r
139         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.\r
140         //\r
141         // @since       2.1\r
142         //\r
143 \r
144         DataSet(const DataSet& value);\r
145 \r
146         //\r
147         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.\r
148         //\r
149         // @since       2.1\r
150         //\r
151         DataSet& operator =(const DataSet& rhs);\r
152 \r
153         class _DataSetImpl* __pDataSetImpl;\r
154         friend class _DataSetImpl;\r
155 \r
156 }; // DataSet\r
157 \r
158 }} // Tizen::Io\r
159 \r
160 #endif // _FIO_DATA_SET_H_\r