xdmprotocols/XcapProtocol/XcapOperations/src/XcapDeletion.cpp
branchRCL_3
changeset 17 2669f8761a99
parent 16 2580314736af
child 18 fbd2e7cec7ef
--- a/xdmprotocols/XcapProtocol/XcapOperations/src/XcapDeletion.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   CXcapDeletion
-*
-*/
-
-
-
-
-// INCLUDES
-#include "XcapCache.h"
-#include "XcapProtocol.h"
-#include "XcapDeletion.h"
-#include "XcapAppUsage.h"
-#include "XcapDocument.h"
-#include "XcapUriParser.h"
-#include "XdmXmlParser.h"
-#include "XcapDocumentNode.h"
-#include "XcapHttpTransport.h"
-#include "XcapHttpOperation.h"
-#include "XcapHttpReqDelete.h"
-#include "XcapOperationFactory.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CXcapDeletion::CXcapDeletion
-//
-// ---------------------------------------------------------
-//
-CXcapDeletion::CXcapDeletion( CXcapDocument& aParentDoc,
-                              CXcapDocumentNode* aDocumentSubset,
-                              CXcapOperationFactory& aOperationFactory ) :
-                              CXcapHttpOperation( aParentDoc, aDocumentSubset, aOperationFactory ),
-                              iOperationType( iDocumentSubset == NULL ?
-                              EXdmDocument : EXdmPartialDocument )                                 
-    {
-    }
-
-// ---------------------------------------------------------
-// CXcapDeletion::NewL
-//
-// ---------------------------------------------------------
-//
-CXcapDeletion* CXcapDeletion::NewL( CXcapDocument& aParentDoc,
-                                    CXcapDocumentNode* aDocumentSubset,
-                                    CXcapOperationFactory& aOperationFactory )
-    {
-    CXcapDeletion* self = new ( ELeave ) CXcapDeletion( aParentDoc, aDocumentSubset, aOperationFactory );
-    CleanupStack::PushL( self );
-    self->BaseConstructL();
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CXcapDeletion::ConstructL
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::ConstructL()
-    {
-    CXcapHttpReqDelete* request = Transport().DeleteL( iTargetDoc.Name() );
-    CleanupStack::PushL( request );
-    User::LeaveIfError( iRequestQueue.Append( request ) );
-    request->SetExpiryTimeL( NULL, KDefaultHttpRequestTimeout * 1000000 );
-    CleanupStack::Pop();  //request
-    if( iOperationType != EXdmDocument && iDocumentSubset != NULL )
-    	{
-    	iUriParser->SetDocumentSubset( iDocumentSubset );
-    	//Add namespace mappings
-    	User::LeaveIfError( iTargetDoc.ApplicationUsage().Validate(
-                        	*iDocumentSubset, iUriParser, ETrue ) );
-    	}
-    }
-    
-// ---------------------------------------------------------
-// CXcapDeletion::ExecuteL
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::ExecuteL()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::ExecuteL()" ) );  
-    #endif
-    TPtrC8 eTag = iTargetDoc.ETag();
-    if( eTag.Length() > 0 )
-        iActiveRequest->SetHeaderL( KHttpHeaderIfMatch, eTag );
-    TRAPD( error, iUriParser->ParseL( iActiveRequest->RequestUriL() ) );
-    if( error == KErrNone )
-        {
-        TPtrC8 uri = iUriParser->DesC8();
-        #ifdef _DEBUG
-            iOperationFactory.WriteToLog( _L8( " New URI: %S" ), &uri );  
-        #endif
-        HBufC8* escape = CXcapHttpOperation::EscapeLC( uri );
-        iActiveRequest->UpdateRequestUriL( escape->Des() );
-        CleanupStack::PopAndDestroy();  //escape
-        } 
-    }
-        
-// ---------------------------------------------------------
-// CXcapDeletion::OperationCompleteL
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::OperationCompleteL()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::OperationCompleteL()" ) );  
-    #endif
-    switch( iRequestData->iHttpStatus )
-        {
-        case 200:           //Document was deleted
-            {
-            #ifdef _DEBUG
-                iOperationFactory.WriteToLog( _L8( " Status 200 - Document deleted" ) );  
-            #endif
-            iOperationType == EXdmDocument ?
-                              HandleDocDeletion() :
-                              HandlePartialDeletion();
-            iCompleted = ETrue;
-            }
-            break;
-        case 404:           //Document was not found
-            {
-            #ifdef _DEBUG   
-                iOperationFactory.WriteToLog( _L8( " Status 404 - Document not found" ) );  
-            #endif
-            iCompleted = ETrue;
-            iResult = KErrNotFound;
-            }
-            break;
-        default:
-            #ifdef _DEBUG
-                iOperationFactory.WriteToLog( _L8( " Default case - Status: %d" ),
-                                                   iRequestData->iHttpStatus );  
-            #endif
-            iCompleted = ETrue;
-            break;
-        }
-    iResult = ReinterpretStatus( iRequestData->iHttpStatus );
-    }
-
-// ---------------------------------------------------------
-// CXcapDeletion::HandleDocDeletion
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::HandleDocDeletion()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::HandleDocDeletion()" ) );  
-    #endif
-    TPtrC name = iTargetDoc.Name();
-    TPtrC8 root = Transport().RootUri();
-    RXcapCache* cache = iTargetDoc.Protocol().Cache();
-    if( cache != NULL )
-        {
-        TInt error = cache->Delete( name, root );
-        #ifdef _DEBUG
-            iOperationFactory.WriteToLog( _L8( "  Document deleted from the cache" ) );  
-        #endif
-        }
-    }
-
-// ---------------------------------------------------------
-// CXcapDeletion::HandlePartialDeletion
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::HandlePartialDeletion()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::HandlePartialDeletion()" ) );  
-    #endif
-    TPtrC name = iTargetDoc.Name();
-    TPtrC8 root = Transport().RootUri();
-    iTargetDoc.RemoveFromModelL( iDocumentSubset );
-    TPtrC8 eTag = Descriptor( iRequestData->iETag );
-    RXcapCache* cache = iTargetDoc.Protocol().Cache();
-    if( cache != NULL )
-        {
-        HBufC8* newDoc = iXmlParser->FormatToXmlLC( ETrue, &iTargetDoc, iTargetDoc.DocumentRoot() );
-        cache->Store( eTag, name, root, newDoc->Des() );
-        CleanupStack::PopAndDestroy();  //newDoc
-        }
-    iTargetDoc.SetETag( eTag );
-    }
-      
-// ---------------------------------------------------------
-// CXcapDeletion::OperationFailedL
-//
-// ---------------------------------------------------------
-//
-void CXcapDeletion::OperationFailedL()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::OperationFailedL() - Error: %d" ),
-                                        iStatus.Int() );  
-    #endif
-    if( iStatus.Int() >= KErrNone )
-        {
-        TInt status = iActiveRequest->ResponseData()->iHttpStatus;
-        TInt completion = iActiveRequest->ResponseData()->iCompletion;
-        iResult = status < KErrNone || completion < KErrNone ? status : ReinterpretStatus( status );
-        }
-    else iResult = iStatus.Int();
-    iCompleted = ETrue;
-    }
-    
-// ---------------------------------------------------------
-// CXcapDeletion::Result
-//
-// ---------------------------------------------------------
-//
-TBool CXcapDeletion::Result() const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CXcapDeletion::~CXcapDeletion
-//
-// ---------------------------------------------------------
-//
-CXcapDeletion::~CXcapDeletion()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapDeletion::~CXcapDeletion()" ) );  
-    #endif
-    }
-
-//  End of File  
-