xdmprotocols/XcapProtocol/XcapOperations/src/XcapInsertion.cpp
branchRCL_3
changeset 17 2669f8761a99
parent 16 2580314736af
child 18 fbd2e7cec7ef
--- a/xdmprotocols/XcapProtocol/XcapOperations/src/XcapInsertion.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +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:   CXcapInsertion
-*
-*/
-
-
-
-
-// INCLUDES
-//This is only for logging
-#include <XdmErrors.h>
-#include "XcapProtocol.h"
-#include "XcapDocument.h"
-#include "XcapUriParser.h"
-#include "XcapInsertion.h"
-#include "XdmXmlParser.h"
-#include "XcapHttpReqPut.h"
-#include "XdmNodeAttribute.h"
-#include "XcapHttpTransport.h"
-#include "XcapEngineDefines.h"
-#include "XcapOperationFactory.h"
-
-
-// ---------------------------------------------------------
-// C++ constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------
-//
-CXcapInsertion::CXcapInsertion( CXcapDocument& aParentDoc,
-                                CXcapDocumentNode* aDocumentSubset,
-                                CXcapOperationFactory& aOperationFactory ) :
-                                CXcapHttpOperation( aParentDoc, aDocumentSubset, aOperationFactory ),
-                                iOperationType( EXdmPartialDocument )
-                                                              
-    {
-    }
-
-// ---------------------------------------------------------
-// Two-phased constructor.
-//
-// ---------------------------------------------------------
-//
-CXcapInsertion* CXcapInsertion::NewL( CXcapDocument& aParentDoc,
-                                      CXcapDocumentNode* aDocumentSubset,
-                                      CXcapOperationFactory& aOperationFactory )
-    {
-    CXcapInsertion* self = new ( ELeave ) CXcapInsertion( aParentDoc, aDocumentSubset, aOperationFactory );
-    CleanupStack::PushL( self );
-    self->BaseConstructL();
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CXcapInsertion::ConstructL
-//
-// ---------------------------------------------------------
-//
-void CXcapInsertion::ConstructL()
-    {
-    CXcapHttpReqPut* request = Transport().PutL( iTargetDoc.Name() );
-    CleanupStack::PushL( request );
-    User::LeaveIfError( iRequestQueue.Append( request ) );
-    request->SetExpiryTimeL( NULL, KDefaultHttpRequestTimeout * 1000000 );
-    CleanupStack::Pop();  //request
-    iUriParser->SetDocumentSubset( iDocumentSubset );
-    }
-
-// ---------------------------------------------------------
-// CXcapAddition::FormatModRequestL
-//
-// ---------------------------------------------------------
-//
-TInt CXcapInsertion::FormatModRequestL( const CXdmDocumentNode* aDocumentNode )
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapInsertion::FormatModRequestL()" ) );
-        iOperationFactory.WriteToLog( _L8( "  Operation type:  %d" ), iOperationType );
-        iOperationFactory.WriteToLog( _L8( "  Document subset: %x" ), iDocumentSubset );
-    #endif
-    return CXcapHttpOperation::FormatModRequestL( aDocumentNode );
-    }
-    
-// ---------------------------------------------------------
-// CXcapInsertion::ExecuteL
-//
-// ---------------------------------------------------------
-//
-void CXcapInsertion::ExecuteL()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapInsertion::ExecuteL()" ) );  
-    #endif
-    CXcapHttpOperation::ExecuteL( iActiveRequest, iDocumentSubset );
-    iActiveRequest->SetHeaderL( KHttpHeaderIfMatch, _L8( "*" ) );
-    }
-        
-// ---------------------------------------------------------
-// CXcapInsertion::OperationCompleteL
-//
-// ---------------------------------------------------------
-//
-void CXcapInsertion::OperationCompleteL()
-    {
-    
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapInsertion::OperationCompleteL()" ) );  
-    #endif
-    TPtrC8 root = Transport().RootUri();
-    iRequestData = iActiveRequest->ResponseData();
-    TPtrC name = iTargetDoc.Name();
-    TPtrC8 eTag = Descriptor( iRequestData->iETag );
-    switch( iRequestData->iHttpStatus )
-        {
-        case 201:           //"Created" -> Put operation was succesful
-            {
-            #ifdef _DEBUG
-                iOperationFactory.WriteToLog( _L8( " Status 201 - Created" ) );  
-            #endif
-            iResult = KErrNone;
-            iTargetDoc.SetETag( eTag );
-            CXcapHttpContSupplier* request = ( CXcapHttpContSupplier* )iActiveRequest;
-            RXcapCache* cache = iTargetDoc.Protocol().Cache();
-            if( cache != NULL && iOperationType == EXdmDocument )
-                {
-                TPtrC8 payload = request->RequestBody();
-                cache->Store( eTag, name, root, payload );
-                }
-            iCompleted = ETrue;
-            }
-            break;
-        case 412:           //"Precondition failed" -> Cache out of date
-            {
-            #ifdef _DEBUG
-                iOperationFactory.WriteToLog( _L8( " Status 412 - Precondition failed" ) );  
-            #endif
-            iResult = KXcapErrorHttpPrecondFailed;
-            //RXcapCache* cache = CXcapProtocol::Cache();
-            //if( cache != NULL && iOperationType == EXcapDocument )
-            //    cache->Delete( name, root );
-            iCompleted = ETrue;
-            iActiveRequest->ResetUriL( _L( "" ) );
-            iActiveRequest->ReleaseResponseData();
-            iRequestData->iCompletion = KInsertConflict;
-            }
-            break;
-        default:
-            #ifdef _DEBUG
-                iOperationFactory.WriteToLog( _L8( " Default case - Status: %d" ),
-                                                       iRequestData->iHttpStatus ); 
-            #endif
-            TInt status = iRequestData->iHttpStatus;
-            iResult = ReinterpretStatus( status );
-            iCompleted = ETrue;
-            break;
-        } 
-    }
-    
-// ---------------------------------------------------------
-// Symbian OS default constructor may leave.
-//
-// ---------------------------------------------------------
-//
-void CXcapInsertion::OperationFailedL()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapInsertion::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;
-    }
-
-// ---------------------------------------------------------
-// Symbian OS default constructor may leave.
-//
-// ---------------------------------------------------------
-//
-TBool CXcapInsertion::Result() const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Destructor
-//
-// ---------------------------------------------------------
-//
-CXcapInsertion::~CXcapInsertion()
-    {
-    #ifdef _DEBUG
-        iOperationFactory.WriteToLog( _L8( "CXcapInsertion::~CXcapInsertion()" ) );  
-    #endif
-    }
-
-//  End of File  
-