//
-// Open Service Platform
// Copyright (c) 2013 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
namespace Tizen { namespace Io
{
_DataSetImpl::_DataSetImpl(void)
- :__rowCount(0),
- __pDataSet(null),
- __pColumnList(null),
- __pColumnTypeList(null)
+ : __columnCount(0)
+ , __rowCount(0)
+ , __pDataSet(null)
+ , __pColumnList(null)
+ , __pColumnTypeList(null)
{
}
_DataSetImpl::~_DataSetImpl(void)
{
+ for (int i = 0; i< __enumImplList.GetCount() ; i++)
+ (static_cast<_DataSetEnumeratorImpl*>(__enumImplList.GetAt(i)))->__dataSetDeleted = true;
+ for (int i = 0; i< __rowImplList.GetCount() ; i++)
+ (static_cast<_DataRowImpl*>(__rowImplList.GetAt(i)))->__dataSetDeleted = true;
+
delete __pDataSet;
delete __pColumnList;
delete __pColumnTypeList;
_DataRowImpl::GetInstance(*pDataRow)->__pColumnTypeList = __pColumnTypeList;
+ r = __rowImplList.Add(_DataRowImpl::GetInstance(*pDataRow));
+ SysTryReturn(NID_IO, r == E_SUCCESS, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Add to LinkedList Falied");
+
+ _DataRowImpl::GetInstance(*pDataRow)->__pRowImplList = &__rowImplList;
+
__rowCount = __pDataSet->GetCount();
//SysLog(NID_IO, "row count is %d", __rowCount);
DataSetEnumerator*
_DataSetImpl::GetDataSetEnumeratorN(void)
{
+ result r;
+
unique_ptr<DataSetEnumerator> pDataSetEnum(_DataSetEnumeratorImpl::CreateDataSetEnumeratorInstanceN());
_DataSetEnumeratorImpl::GetInstance(*pDataSetEnum)->__pDataSet = __pDataSet;
//SysLog(NID_IO, "row count is %d, column count is %d", __rowCount, __columnCount);
+ r = __enumImplList.Add(_DataSetEnumeratorImpl::GetInstance(*pDataSetEnum));
+ SysTryReturn(NID_IO, r == E_SUCCESS, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Add to LinkedList Falied");
+
+ _DataSetEnumeratorImpl::GetInstance(*pDataSetEnum)->__pEnumImplList = &__enumImplList;
+
return pDataSetEnum.release();
}