syncmlfw/ds/hostserver/dshostserverbase/src/Nsmldshostsession.cpp
changeset 22 19fb38abab1d
parent 0 b497e44ab2fc
equal deleted inserted replaced
5:3f7d9dbe57c8 22:19fb38abab1d
   853     	{
   853     	{
   854     	User::Leave( KErrAlreadyExists );
   854     	User::Leave( KErrAlreadyExists );
   855     	}
   855     	}
   856     
   856     
   857     CNSmlDSAsyncCallBackForOpen* p = new ( ELeave ) CNSmlDSAsyncCallBackForOpen( 
   857     CNSmlDSAsyncCallBackForOpen* p = new ( ELeave ) CNSmlDSAsyncCallBackForOpen( 
   858     	this, aMessage, OpenFinishedL );
   858     	this, aMessage, &CNSmlDSHostSession::OpenFinishedL );
   859     CleanupStack::PushL( p );
   859     CleanupStack::PushL( p );
   860     
   860     
   861     p->iDpi = DataProviderItemL( aMessage.Int0() );
   861     p->iDpi = DataProviderItemL( aMessage.Int0() );
   862     CSmlDataProvider* dp = p->iDpi->iDataprovider;
   862     CSmlDataProvider* dp = p->iDpi->iDataprovider;
   863     TMemPtr& memptr( MemPtrL() );
   863     TMemPtr& memptr( MemPtrL() );
  1022     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1022     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1023    
  1023    
  1024     RArray<TInt>* resultArray = new ( ELeave ) RArray<TInt>;
  1024     RArray<TInt>* resultArray = new ( ELeave ) RArray<TInt>;
  1025     CleanupStack::PushL( resultArray );
  1025     CleanupStack::PushL( resultArray );
  1026     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1026     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1027     	this, dsi, aMessage, CommitBatchRequestFinishedL, resultArray );
  1027     	this, dsi, aMessage, &CNSmlDSHostSession::CommitBatchRequestFinishedL, resultArray );
  1028     CleanupStack::Pop( resultArray ); //dsao takes ownership
  1028     CleanupStack::Pop( resultArray ); //dsao takes ownership
  1029     
  1029     
  1030     CleanupStack::PushL( dsao );
  1030     CleanupStack::PushL( dsao );
  1031     dsao->CallDSAsyncLC().CommitBatchL( *resultArray, dsao->iStatus );
  1031     dsao->CallDSAsyncLC().CommitBatchL( *resultArray, dsao->iStatus );
  1032     CleanupStack::Pop( 2 ); //CallDSAsyncLC(), dsao
  1032     CleanupStack::Pop( 2 ); //CallDSAsyncLC(), dsao
  1160     {
  1160     {
  1161     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1161     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1162     CNSmlServerDSHostItem* dshi = DataStoreItemParamsLC();
  1162     CNSmlServerDSHostItem* dshi = DataStoreItemParamsLC();
  1163     
  1163     
  1164     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1164     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1165     	this, dsi, aMessage, OpenItemRequestFinishedL, dshi );
  1165     	this, dsi, aMessage, &CNSmlDSHostSession::OpenItemRequestFinishedL, dshi );
  1166     CleanupStack::Pop( dshi ); //dsao takes ownership
  1166     CleanupStack::Pop( dshi ); //dsao takes ownership
  1167     CleanupStack::PushL( dsao );
  1167     CleanupStack::PushL( dsao );
  1168     
  1168     
  1169     dsao->CallDSAsyncLC().OpenItemL( 
  1169     dsao->CallDSAsyncLC().OpenItemL( 
  1170     	dshi->Uid(), dshi->FieldChange(), dshi->Size(), dshi->ParentUid(), 
  1170     	dshi->Uid(), dshi->FieldChange(), dshi->Size(), dshi->ParentUid(), 
  1242 void CNSmlDSHostSession::CreateItemL( const RMessage2& aMessage )
  1242 void CNSmlDSHostSession::CreateItemL( const RMessage2& aMessage )
  1243     {
  1243     {
  1244     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1244     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1245     CNSmlServerDSHostItem* dshi = DataStoreItemParamsLC();
  1245     CNSmlServerDSHostItem* dshi = DataStoreItemParamsLC();
  1246     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1246     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1247     	this, dsi, aMessage, CreateItemRequestFinishedL, dshi );
  1247     	this, dsi, aMessage, &CNSmlDSHostSession::CreateItemRequestFinishedL, dshi );
  1248     CleanupStack::Pop( dshi ); //dsao takes ownership
  1248     CleanupStack::Pop( dshi ); //dsao takes ownership
  1249     CleanupStack::PushL( dsao );
  1249     CleanupStack::PushL( dsao );
  1250     
  1250     
  1251     TSmlDbItemUid* uid = NULL;
  1251     TSmlDbItemUid* uid = NULL;
  1252 
  1252 
  1379 void CNSmlDSHostSession::CommitItemL( const RMessage2& aMessage )
  1379 void CNSmlDSHostSession::CommitItemL( const RMessage2& aMessage )
  1380 	{
  1380 	{
  1381     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1381     TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1382 
  1382 
  1383     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1383     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1384     	this, dsi, aMessage, CommitItemRequestFinishedL );
  1384     	this, dsi, aMessage, &CNSmlDSHostSession::CommitItemRequestFinishedL );
  1385     CleanupStack::PushL( dsao );
  1385     CleanupStack::PushL( dsao );
  1386     dsao->CallDSAsyncLC().CommitItemL( dsao->iStatus );
  1386     dsao->CallDSAsyncLC().CommitItemL( dsao->iStatus );
  1387     CleanupStack::Pop(2); //CallDSAsyncLC, dsao
  1387     CleanupStack::Pop(2); //CallDSAsyncLC, dsao
  1388 	}
  1388 	}
  1389 
  1389 
  1620 void CNSmlDSHostSession::AllItemsL( const RMessage2& aMessage )
  1620 void CNSmlDSHostSession::AllItemsL( const RMessage2& aMessage )
  1621 	{
  1621 	{
  1622 	TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1622 	TNSmlDSDataStoreElement* dsi = DataStoreItemL( aMessage );
  1623 	
  1623 	
  1624     CNSmlDSChangedItemsFetcher* dsao = CNSmlDSChangedItemsFetcher::NewLC( 
  1624     CNSmlDSChangedItemsFetcher* dsao = CNSmlDSChangedItemsFetcher::NewLC( 
  1625     	this, dsi, aMessage, AllItemsRequestFinishedL );
  1625     	this, dsi, aMessage, &CNSmlDSHostSession::AllItemsRequestFinishedL );
  1626     dsao->FetchAllChangedItemsL();
  1626     dsao->FetchAllChangedItemsL();
  1627     CleanupStack::Pop(); //dsao
  1627     CleanupStack::Pop(); //dsao
  1628 	}
  1628 	}
  1629 
  1629 
  1630 // ------------------------------------------------------------------------------------------------
  1630 // ------------------------------------------------------------------------------------------------
  1671     RReadStream& readStream = ptr.ReadStreamLC();
  1671     RReadStream& readStream = ptr.ReadStreamLC();
  1672     dius->InternalizeL( readStream );
  1672     dius->InternalizeL( readStream );
  1673     CleanupStack::PopAndDestroy(); //readStream
  1673     CleanupStack::PopAndDestroy(); //readStream
  1674     
  1674     
  1675     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1675     CNSmlDSAsyncCallBack* dsao = new ( ELeave ) CNSmlDSAsyncCallBack( 
  1676     	this, dsi, aMessage, CommitChangesRequestFinishedL, dius );
  1676     	this, dsi, aMessage, &CNSmlDSHostSession::CommitChangesRequestFinishedL, dius );
  1677     CleanupStack::Pop( dius ); //dsao takes the ownership.
  1677     CleanupStack::Pop( dius ); //dsao takes the ownership.
  1678     CleanupStack::PushL( dsao );
  1678     CleanupStack::PushL( dsao );
  1679     dsao->CallDSAsyncLC().CommitChangeInfoL( dsao->iStatus, *dius );
  1679     dsao->CallDSAsyncLC().CommitChangeInfoL( dsao->iStatus, *dius );
  1680     CleanupStack::Pop(2); //CallDSAsyncLC(), dsao
  1680     CleanupStack::Pop(2); //CallDSAsyncLC(), dsao
  1681 	}
  1681 	}