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