xdmprotocols/XcapProtocol/inc/XcapDocument.h
changeset 26 04ca1926b01c
parent 20 76bddcd072ba
child 28 d9861ae9169c
child 32 32463a6c57b3
--- a/xdmprotocols/XcapProtocol/inc/XcapDocument.h	Thu May 27 13:17:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +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: CXcapDocument
-*
-*/
-
-
-
-
-#ifndef __XCAPDOCUMENT__
-#define __XCAPDOCUMENT__
-
-#include <e32base.h>
-#include <XdmDocument.h>
-
-//CONSTANTS
-const TUint KETagBufferMaxLength                       = 64;
-_LIT8( KSlash,                                         "/" );
-_LIT8( KUserDirName,                                   "users/" );
-_LIT8( KGlobalDirName,                                 "global/" );
-_LIT8( KXcapGlobalDocName,                             "index" );
-
-//FORWARD DECLARATIONS
-class RXcapCache;
-class CXdmEngine;
-class CXdmNamespace;
-class CXcapProtocol;
-class CXcapAppUsage;
-class MXdmOperation;
-class CXcapDocumentNode;
-class CXdmOperationFactory;
-
-//CLASS DECLARATION
-class CXcapDocument : public CXdmDocument
-    {
-    public:
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        static CXcapDocument* NewL( TXdmDocType aDocumentType,
-                                    const TDesC& aDocumentName,
-                                    const CXdmEngine& aXdmEngine,
-                                    const CXcapProtocol& aXcapProtocol );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        static CXcapDocument* NewL( TXdmDocType aDocumentType,
-                                    const TDesC8& aDocumentName,
-                                    const CXdmEngine& aXdmEngine,
-                                    const CXcapProtocol& aXcapProtocol );
-        
-        /**
-        * Set one option
-        * @return void
-        * @param The completed update operation
-        */
-        void SetOption( TInt aOption );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */                         
-        TXdmDocType DocumentType() const;
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */  
-        void NotifyResolverCompleteL( TInt aError );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        void StartInternalL( TRequestStatus& aStatus );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        void CancelUpdate(); 
-
-        /**
-        * Destructor.
-        */      
-        virtual ~CXcapDocument();
-    
-    public:  //Exported methods
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C TPtrC8 ETag() const;
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C void SetETag( const TDesC8& aETagDesc );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C TInt DataLength() const;
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C CXcapAppUsage& ApplicationUsage() const;
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C CXcapDocument* TempCopyL();
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C void RemoveData( CXcapDocumentNode* aDocumentNode );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        IMPORT_C CXcapProtocol& Protocol() const;
-        
-        /**
-        * Reset the document subset
-        */
-        IMPORT_C virtual void ResetSubset();
-        
-    private:  //From CXdmDocument
-        
-        /**
-        * Construct an "anonymous" entry point for this document.
-        * This node effectively becomes the root of this document.
-        * 
-        */
-        CXdmDocumentNode* CreateRootL();
-
-        /**
-        * Return the time stamp for this document
-        *
-		* @return TTime 
-        */
-        TTime TimeStamp() const;
-        
-        /**
-        * Return an error document for a failed update
-        * 
-        * NOTE: The returning object will be NULL in case
-        *       the used protocol does not support this feature.
-        *
-		* @return CXdmDocument* The error document
-        */
-        CXdmDocumentNode* ErrorRoot();
-              
-        /*
-        * Reset the contents of this document model.
-        */
-        void ResetContents();
-        
-    public:  //From CXdmDocument
-    
-        /**
-        * Return the root element of this document
-        *
-        * @return CXdmDocumentNode The root element of the document
-        *
-        * NOTE: The returning node may or may not contain any data,
-        *       since, in the case that this document model does not
-        *       have content yet, the element is a simple "entry point"
-        *       to the whole document. Thus, for instance, if the client
-        *       application requests the Xdm Engine to fetch a particular
-        *       document, the root element points to nothing until the 
-        *       request has been completed.
-        *         
-        */
-        CXdmDocumentNode* DocumentRoot() const;
-        
-    private:  //From MXdmNamespaceContainer
-        
-        /**
-        * Return the number of namespace declarations
-        * @return TInt Namespace declaration count
-        */
-        TInt Count() const;
-        
-        /**
-        * Copies the request data
-        * @param aRequestData Data to be sent
-        */
-        void AppendNamespaceL( const TDesC8& aUri, const TDesC8& aPrefix );
-        
-        /**
-        * Remove a namespace from the document
-        * @param TDesC8& URI of the namespace
-        * @param TDesC8& Prefix of the namespace
-        */
-        void RemoveNamespace( const TDesC8& aUri );
-        
-        /**
-        * Copies the request data
-        * @param aRequestData Data to be sent
-        */
-        TPtrC8 Uri( const TDesC8& aPrefix ) const;
-        
-        /**
-        * Fetch the aIndex-th URI
-        * @param TInt The index of the desired URI string
-        * @return TPtrC URI string
-        */
-        TPtrC8 Uri( TInt aIndex ) const;
-        
-        /**
-        * Fetch the aIndex-th prefix
-        * @param TDesC8 The index of the desired prefix string
-        * @return TPtrC Prefix string
-        */
-        TPtrC8 Prefix( TInt aIndex ) const;
-    
-        /**
-        * Resets namespaces from the document
-        *
-        * @return void
-        */
-        void ResetNamespaces();
-    
-    private:
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        CXcapDocument( TXdmDocType aDocumentType,
-                       const CXdmEngine& aXdmEngine,
-                       const CXcapProtocol& aXcapProtocol );
-        
-        /**
-        * From CActive.
-        * @return void
-        */
-		void RunL();
-
-        /**
-        * From CActive.
-        * @return void
-        */
-		void DoCancel();
-		
-	    /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */    
-		void InstallAppUsageL();
-		
-		/**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */    
-		void UpdateDocumentInfoL( RXcapCache* aCacheClient );
-		
-		/**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        void StartUpdateL();
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */    
-        void SaveClientStatus( TRequestStatus& aClientStatus );
-        
-        /**
-        * Handle a failed update operation
-        * @return void
-        * @param CXdmDocOperation* The failed operation
-        */
-        void HandleErrorL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void HandleRequestCompletionL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void ResolveAsyncConflictL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void CreateTempCopyL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void ActivateOperationL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void CheckOperationQueueL();
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void DequeueOperation( MXdmOperation* aOperation );
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */
-        void DequeueAll();
-        
-        /**
-        * Append an element to the path identifying the 
-        * the current document subset
-        * @return void
-        */
-        void AppendPathPartL( const TDesC& aString );
-        
-        /**
-        * Return the current document subset (including descendants)
-        * @return void
-        */
-        CXdmDocumentNode* CurrentExtent() const;
-
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */                            
-        HBufC8* EightBitNameLC();                                       
-        
-        /**
-        * Handle a successful update operation
-        * @return void
-        * @param The completed update operation
-        */    
-        TBool IsGlobalTree( const TDesC8& aAuid );
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        void ConstructL();
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CXdmDocOperation*
-        */     
-        void ConstructL( const TDesC8& aDocumentName );
-        
-    private:  //Data
-
-        enum TXcapDocumentState
-            {
-            EXdmDocIdle = 0,
-            EXdmDocUpdating,
-            EResolvingAsyncConflict,
-            ERetryingFailedOperation
-            };
-        
-        TInt                                    iDataLength;
-        TInt                                    iUpdateIndex;
-        TInt                                    iOperationCount;
-        TUint                                   iOptions;
-        TTime                                   iLastAccess;
-        TTime                                   iLastModification;
-        HBufC8*                                 iEightBitName;
-        TXdmDocType                             iDocumentType;
-        CXcapDocument*                          iTempCopy;
-        CXcapAppUsage*                          iAppUsage;
-        CXcapDocumentNode*                      iDocumentRoot;
-        CXdmDocumentNode*                       iErrorRoot;
-        TXcapDocumentState                      iDocumentState;
-        CXcapProtocol&                          iXcapProtocol;
-        TBuf8<KETagBufferMaxLength>             iETagBuffer;
-        RPointerArray<CXdmNamespace>            iNamespaces;
-    };
-
-#endif      //__XCAPDOCUMENT__
-            
-// End of File