Merge "fix memory leak" into tizen_2.1
[platform/framework/native/appfw.git] / src / io / FIoDataSetEnumerator.cpp
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 FIoDataSetEnumerator.cpp\r
20 * @brief        This is the implementation file for DataSetEnumerator class.\r
21 */\r
22 \r
23 #include <new>\r
24 \r
25 #include <FBaseInteger.h>\r
26 #include <FBaseDouble.h>\r
27 #include <FBaseString.h>\r
28 #include <FBaseByteBuffer.h>\r
29 #include <FBaseDateTime.h>\r
30 #include <FBaseUtilStringUtil.h>\r
31 #include <FBaseSysLog.h>\r
32 #include <FIoDataSetEnumerator.h>\r
33 \r
34 #include <FBase_NativeError.h>\r
35 #include <FIo_DataSetEnumeratorImpl.h>\r
36 \r
37 using namespace Tizen::Base;\r
38 using namespace Tizen::Base::Utility;\r
39 using namespace Tizen::Base::Runtime;\r
40 \r
41 namespace Tizen { namespace Io\r
42 {\r
43 DataSetEnumerator::DataSetEnumerator(void)\r
44         : __pDataSetEnumeratorImpl(null)\r
45 {\r
46 \r
47         __pDataSetEnumeratorImpl = new (std::nothrow)_DataSetEnumeratorImpl;\r
48 \r
49         SysTryReturnVoidResult(NID_IO, __pDataSetEnumeratorImpl != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");\r
50 }\r
51 \r
52 DataSetEnumerator::~DataSetEnumerator(void)\r
53 {\r
54         delete __pDataSetEnumeratorImpl;\r
55 }\r
56 \r
57 result\r
58 DataSetEnumerator::MoveNext(void)\r
59 {\r
60         return __pDataSetEnumeratorImpl->MoveNext();\r
61 }\r
62 \r
63 result\r
64 DataSetEnumerator::MovePrevious(void)\r
65 {\r
66         return __pDataSetEnumeratorImpl->MovePrevious();\r
67 }\r
68 \r
69 result\r
70 DataSetEnumerator::MoveFirst(void)\r
71 {\r
72         return __pDataSetEnumeratorImpl->MoveFirst();\r
73 }\r
74 \r
75 result\r
76 DataSetEnumerator::MoveLast(void)\r
77 {\r
78         return __pDataSetEnumeratorImpl->MoveLast();\r
79 }\r
80 \r
81 result\r
82 DataSetEnumerator::Reset(void)\r
83 {\r
84         return __pDataSetEnumeratorImpl->Reset();\r
85 }\r
86 \r
87 result\r
88 DataSetEnumerator::GetIntAt(int columnIndex, int& value) const\r
89 {\r
90         return __pDataSetEnumeratorImpl->GetIntAt(columnIndex, value);\r
91 }\r
92 \r
93 result\r
94 DataSetEnumerator::GetInt64At(int columnIndex, long long& value) const\r
95 {\r
96         return __pDataSetEnumeratorImpl->GetInt64At(columnIndex, value);\r
97 }\r
98 \r
99 result\r
100 DataSetEnumerator::GetDoubleAt(int columnIndex, double& value) const\r
101 {\r
102         return __pDataSetEnumeratorImpl->GetDoubleAt(columnIndex, value);\r
103 }\r
104 \r
105 result\r
106 DataSetEnumerator::GetStringAt(int columnIndex, String& value) const\r
107 {\r
108         return __pDataSetEnumeratorImpl->GetStringAt(columnIndex, value);\r
109 }\r
110 \r
111 result\r
112 DataSetEnumerator::GetBlobAt(int columnIndex, ByteBuffer& value) const\r
113 {\r
114         return __pDataSetEnumeratorImpl->GetBlobAt(columnIndex, value);\r
115 }\r
116 \r
117 result\r
118 DataSetEnumerator::GetBlobAt(int columnIndex, void* buffer, int size) const\r
119 {\r
120 \r
121         SysTryReturnResult(NID_IO, buffer != null, E_INVALID_ARG, "Null pointer was passed.");\r
122         SysTryReturnResult(NID_IO, size > 0, E_INVALID_ARG, "Invalid size was passed.");\r
123 \r
124         return __pDataSetEnumeratorImpl->GetBlobAt(columnIndex, buffer, size);\r
125 }\r
126 \r
127 result\r
128 DataSetEnumerator::GetDateTimeAt(int columnIndex, DateTime& value) const\r
129 {\r
130         return __pDataSetEnumeratorImpl->GetDateTimeAt(columnIndex, value);\r
131 }\r
132 \r
133 int\r
134 DataSetEnumerator::GetColumnCount(void) const\r
135 {\r
136         return __pDataSetEnumeratorImpl->GetColumnCount();\r
137 }\r
138 \r
139 DbColumnType\r
140 DataSetEnumerator::GetColumnType(int columnIndex) const\r
141 {\r
142         return __pDataSetEnumeratorImpl->GetColumnType(columnIndex);\r
143 }\r
144 \r
145 String\r
146 DataSetEnumerator::GetColumnName(int columnIndex) const\r
147 {\r
148         return __pDataSetEnumeratorImpl->GetColumnName(columnIndex);\r
149 }\r
150 \r
151 int\r
152 DataSetEnumerator::GetColumnSize(int columnIndex) const\r
153 {\r
154         return __pDataSetEnumeratorImpl->GetColumnSize(columnIndex);\r
155 }\r
156 \r
157 }} // Tizen::Io\r
158 \r