Add exception check
[platform/framework/native/appfw.git] / src / io / FIoDataSetEnumerator.cpp
1 //\r
2 // Copyright (c) 2013 Samsung Electronics Co., Ltd.\r
3 //\r
4 // Licensed under the Apache License, Version 2.0 (the License);\r
5 // you may not use this file except in compliance with the License.\r
6 // You may obtain a copy of the License at\r
7 //\r
8 //     http://www.apache.org/licenses/LICENSE-2.0\r
9 //\r
10 // Unless required by applicable law or agreed to in writing, software\r
11 // distributed under the License is distributed on an "AS IS" BASIS,\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13 // See the License for the specific language governing permissions and\r
14 // limitations under the License.\r
15 //\r
16 \r
17 /**\r
18 * @file FIoDataSetEnumerator.cpp\r
19 * @brief        This is the implementation file for DataSetEnumerator class.\r
20 */\r
21 \r
22 #include <new>\r
23 \r
24 #include <FBaseInteger.h>\r
25 #include <FBaseDouble.h>\r
26 #include <FBaseString.h>\r
27 #include <FBaseByteBuffer.h>\r
28 #include <FBaseDateTime.h>\r
29 #include <FBaseUtilStringUtil.h>\r
30 #include <FBaseSysLog.h>\r
31 #include <FIoDataSetEnumerator.h>\r
32 \r
33 #include <FBase_NativeError.h>\r
34 #include <FIo_DataSetEnumeratorImpl.h>\r
35 \r
36 using namespace Tizen::Base;\r
37 using namespace Tizen::Base::Utility;\r
38 using namespace Tizen::Base::Runtime;\r
39 \r
40 namespace Tizen { namespace Io\r
41 {\r
42 DataSetEnumerator::DataSetEnumerator(void)\r
43         : __pDataSetEnumeratorImpl(null)\r
44 {\r
45 \r
46         __pDataSetEnumeratorImpl = new (std::nothrow)_DataSetEnumeratorImpl;\r
47 \r
48         SysTryReturnVoidResult(NID_IO, __pDataSetEnumeratorImpl != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");\r
49 }\r
50 \r
51 DataSetEnumerator::~DataSetEnumerator(void)\r
52 {\r
53         delete __pDataSetEnumeratorImpl;\r
54 }\r
55 \r
56 result\r
57 DataSetEnumerator::MoveNext(void)\r
58 {\r
59         return __pDataSetEnumeratorImpl->MoveNext();\r
60 }\r
61 \r
62 result\r
63 DataSetEnumerator::MovePrevious(void)\r
64 {\r
65         return __pDataSetEnumeratorImpl->MovePrevious();\r
66 }\r
67 \r
68 result\r
69 DataSetEnumerator::MoveFirst(void)\r
70 {\r
71         return __pDataSetEnumeratorImpl->MoveFirst();\r
72 }\r
73 \r
74 result\r
75 DataSetEnumerator::MoveLast(void)\r
76 {\r
77         return __pDataSetEnumeratorImpl->MoveLast();\r
78 }\r
79 \r
80 result\r
81 DataSetEnumerator::Reset(void)\r
82 {\r
83         return __pDataSetEnumeratorImpl->Reset();\r
84 }\r
85 \r
86 result\r
87 DataSetEnumerator::GetIntAt(int columnIndex, int& value) const\r
88 {\r
89         return __pDataSetEnumeratorImpl->GetIntAt(columnIndex, value);\r
90 }\r
91 \r
92 result\r
93 DataSetEnumerator::GetInt64At(int columnIndex, long long& value) const\r
94 {\r
95         return __pDataSetEnumeratorImpl->GetInt64At(columnIndex, value);\r
96 }\r
97 \r
98 result\r
99 DataSetEnumerator::GetDoubleAt(int columnIndex, double& value) const\r
100 {\r
101         return __pDataSetEnumeratorImpl->GetDoubleAt(columnIndex, value);\r
102 }\r
103 \r
104 result\r
105 DataSetEnumerator::GetStringAt(int columnIndex, String& value) const\r
106 {\r
107         return __pDataSetEnumeratorImpl->GetStringAt(columnIndex, value);\r
108 }\r
109 \r
110 result\r
111 DataSetEnumerator::GetBlobAt(int columnIndex, ByteBuffer& value) const\r
112 {\r
113         return __pDataSetEnumeratorImpl->GetBlobAt(columnIndex, value);\r
114 }\r
115 \r
116 result\r
117 DataSetEnumerator::GetBlobAt(int columnIndex, void* buffer, int size) const\r
118 {\r
119 \r
120         SysTryReturnResult(NID_IO, buffer != null, E_INVALID_ARG, "Null pointer was passed.");\r
121         SysTryReturnResult(NID_IO, size > 0, E_INVALID_ARG, "Invalid size was passed.");\r
122 \r
123         return __pDataSetEnumeratorImpl->GetBlobAt(columnIndex, buffer, size);\r
124 }\r
125 \r
126 result\r
127 DataSetEnumerator::GetDateTimeAt(int columnIndex, DateTime& value) const\r
128 {\r
129         return __pDataSetEnumeratorImpl->GetDateTimeAt(columnIndex, value);\r
130 }\r
131 \r
132 int\r
133 DataSetEnumerator::GetColumnCount(void) const\r
134 {\r
135         return __pDataSetEnumeratorImpl->GetColumnCount();\r
136 }\r
137 \r
138 DbColumnType\r
139 DataSetEnumerator::GetColumnType(int columnIndex) const\r
140 {\r
141         return __pDataSetEnumeratorImpl->GetColumnType(columnIndex);\r
142 }\r
143 \r
144 String\r
145 DataSetEnumerator::GetColumnName(int columnIndex) const\r
146 {\r
147         return __pDataSetEnumeratorImpl->GetColumnName(columnIndex);\r
148 }\r
149 \r
150 int\r
151 DataSetEnumerator::GetColumnSize(int columnIndex) const\r
152 {\r
153         return __pDataSetEnumeratorImpl->GetColumnSize(columnIndex);\r
154 }\r
155 \r
156 }} // Tizen::Io\r
157 \r