2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file FIoDbEnumerator.cpp
19 * @brief This is the implementation file for DbEnumerator class.
24 #include <FBaseInteger.h>
25 #include <FBaseDouble.h>
26 #include <FBaseString.h>
27 #include <FBaseByteBuffer.h>
28 #include <FBaseDateTime.h>
29 #include <FBaseUtilStringUtil.h>
30 #include <FBaseSysLog.h>
31 #include <FIoDbEnumerator.h>
33 #include <FBase_NativeError.h>
34 #include <FIo_DbEnumeratorImpl.h>
36 using namespace Tizen::Base;
37 using namespace Tizen::Base::Utility;
38 using namespace Tizen::Base::Runtime;
40 namespace Tizen { namespace Io
43 DbEnumerator::DbEnumerator(void)
44 : __pDbEnumeratorImpl(null)
47 __pDbEnumeratorImpl = new (std::nothrow)_DbEnumeratorImpl;
49 SysTryReturnVoidResult(NID_IO, __pDbEnumeratorImpl != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
52 DbEnumerator::~DbEnumerator(void)
54 delete __pDbEnumeratorImpl;
58 DbEnumerator::MoveNext(void)
60 return __pDbEnumeratorImpl->MoveNext();
64 DbEnumerator::MovePrevious(void)
66 return __pDbEnumeratorImpl->MovePrevious();
70 DbEnumerator::MoveFirst(void)
72 return __pDbEnumeratorImpl->MoveFirst();
76 DbEnumerator::MoveLast(void)
78 return __pDbEnumeratorImpl->MoveLast();
82 DbEnumerator::Reset(void)
84 return __pDbEnumeratorImpl->Reset();
88 DbEnumerator::GetIntAt(int columnIndex, int& value) const
90 return __pDbEnumeratorImpl->GetIntAt(columnIndex, value);
94 DbEnumerator::GetInt64At(int columnIndex, long long& value) const
96 return __pDbEnumeratorImpl->GetInt64At(columnIndex, value);
100 DbEnumerator::GetDoubleAt(int columnIndex, double& value) const
102 return __pDbEnumeratorImpl->GetDoubleAt(columnIndex, value);
106 DbEnumerator::GetStringAt(int columnIndex, String& value) const
108 return __pDbEnumeratorImpl->GetStringAt(columnIndex, value);
112 DbEnumerator::GetBlobAt(int columnIndex, ByteBuffer& value) const
114 return __pDbEnumeratorImpl->GetBlobAt(columnIndex, value);
118 DbEnumerator::GetBlobAt(int columnIndex, void* buffer, int size) const
121 SysTryReturnResult(NID_IO, buffer != null, E_INVALID_ARG, "Null pointer was passed.");
122 SysTryReturnResult(NID_IO, size > 0, E_INVALID_ARG, "Invalid size was passed.");
124 return __pDbEnumeratorImpl->GetBlobAt(columnIndex, buffer, size);
128 DbEnumerator::GetDateTimeAt(int columnIndex, DateTime& value) const
130 return __pDbEnumeratorImpl->GetDateTimeAt(columnIndex, value);
134 DbEnumerator::GetColumnCount(void) const
136 return __pDbEnumeratorImpl->GetColumnCount();
140 DbEnumerator::GetColumnType(int columnIndex) const
142 return __pDbEnumeratorImpl->GetColumnType(columnIndex);
146 DbEnumerator::GetColumnName(int columnIndex) const
148 return __pDbEnumeratorImpl->GetColumnName(columnIndex);
152 DbEnumerator::GetColumnSize(int columnIndex) const
154 return __pDbEnumeratorImpl->GetColumnSize(columnIndex);