Modify smack rule to access the privilege description DB
[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 name 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 DB_COLUMNTYPE_NULL\r
88         *                               On 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 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         * Get 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 \r
111         *                       else @c null if the memory is insufficient\r
112         */\r
113         DataSet* CloneN(void) const;\r
114 \r
115         /**\r
116         * Checks whether the value of the specified instance of Object is equal to the value of the current instance of\r
117         * %DataSet.\r
118         *\r
119         * @since                2.1\r
120         *\r
121         * @return       @c true if the value of the specified instance of Object is equal to the value of the current\r
122         *                       instance of %DataSet, @n\r
123         *                       else @c false\r
124         * @param[in]    obj             An instance of Object to compare\r
125         * @remarks      The method returns @c false if the specified @c obj is not a %DataSet instance.\r
126         */\r
127         virtual bool Equals(const Tizen::Base::Object& obj) const;\r
128 \r
129         /**\r
130         * Gets the hash value of the current instance.\r
131         *\r
132         * @since                2.1\r
133         *\r
134         * @return       The hash value of the current instance\r
135         */\r
136         virtual int GetHashCode(void) const;\r
137 \r
138 private:\r
139         //\r
140         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.\r
141         //\r
142         // @since       2.1\r
143         //\r
144 \r
145         DataSet(const DataSet& value);\r
146 \r
147         //\r
148         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.\r
149         //\r
150         // @since       2.1\r
151         //\r
152         DataSet& operator =(const DataSet& rhs);\r
153 \r
154         class _DataSetImpl* __pDataSetImpl;\r
155         friend class _DataSetImpl;\r
156 \r
157 }; // DataSet\r
158 \r
159 }} // Tizen::Io\r
160 \r
161 #endif // _FIO_DATA_SET_H_\r