2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file FIoDbEnumerator.cpp
20 * @brief This is the implementation file for DbEnumerator class.
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>
34 #include <FBase_NativeError.h>
35 #include <FIo_DbEnumeratorImpl.h>
37 using namespace Tizen::Base;
38 using namespace Tizen::Base::Utility;
39 using namespace Tizen::Base::Runtime;
41 namespace Tizen { namespace Io
44 DbEnumerator::DbEnumerator(void)
45 : __pDbEnumeratorImpl(null)
48 __pDbEnumeratorImpl = new (std::nothrow)_DbEnumeratorImpl;
50 SysTryReturnVoidResult(NID_IO, __pDbEnumeratorImpl != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
53 DbEnumerator::~DbEnumerator(void)
55 delete __pDbEnumeratorImpl;
59 DbEnumerator::MoveNext(void)
61 return __pDbEnumeratorImpl->MoveNext();
65 DbEnumerator::MovePrevious(void)
67 return __pDbEnumeratorImpl->MovePrevious();
71 DbEnumerator::MoveFirst(void)
73 return __pDbEnumeratorImpl->MoveFirst();
77 DbEnumerator::MoveLast(void)
79 return __pDbEnumeratorImpl->MoveLast();
83 DbEnumerator::Reset(void)
85 return __pDbEnumeratorImpl->Reset();
89 DbEnumerator::GetIntAt(int columnIndex, int& value) const
91 return __pDbEnumeratorImpl->GetIntAt(columnIndex, value);
95 DbEnumerator::GetInt64At(int columnIndex, long long& value) const
97 return __pDbEnumeratorImpl->GetInt64At(columnIndex, value);
101 DbEnumerator::GetDoubleAt(int columnIndex, double& value) const
103 return __pDbEnumeratorImpl->GetDoubleAt(columnIndex, value);
107 DbEnumerator::GetStringAt(int columnIndex, String& value) const
109 return __pDbEnumeratorImpl->GetStringAt(columnIndex, value);
113 DbEnumerator::GetBlobAt(int columnIndex, ByteBuffer& value) const
115 return __pDbEnumeratorImpl->GetBlobAt(columnIndex, value);
119 DbEnumerator::GetBlobAt(int columnIndex, void* buffer, int size) const
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.");
125 return __pDbEnumeratorImpl->GetBlobAt(columnIndex, buffer, size);
129 DbEnumerator::GetDateTimeAt(int columnIndex, DateTime& value) const
131 return __pDbEnumeratorImpl->GetDateTimeAt(columnIndex, value);
135 DbEnumerator::GetColumnCount(void) const
137 return __pDbEnumeratorImpl->GetColumnCount();
141 DbEnumerator::GetColumnType(int columnIndex) const
143 return __pDbEnumeratorImpl->GetColumnType(columnIndex);
147 DbEnumerator::GetColumnName(int columnIndex) const
149 return __pDbEnumeratorImpl->GetColumnName(columnIndex);
153 DbEnumerator::GetColumnSize(int columnIndex) const
155 return __pDbEnumeratorImpl->GetColumnSize(columnIndex);