diff -r 77cb48a03620 -r d9861ae9169c xdmprotocols/XcapProtocol/inc/XcapProtocol.h --- a/xdmprotocols/XcapProtocol/inc/XcapProtocol.h Thu Jul 01 14:09:06 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,337 +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: CXcapProtocol -* -*/ - - - - -#ifndef __XCAPPROTOCOL__ -#define __XCAPPROTOCOL__ - -#include -#include -#include -#include "XcapCache.h" -#include "XdmProtocol.h" -#include "XdmShutdownSwitch.h" -#include "XcapUtilsInterface.h" - -enum TXcapAuthType - { - EXcapAuthGaa = 0, - EXcapAuthEarlyIms, - EXcapAuthHttpDigest - }; - -//CONSTANTS -_LIT( KHttp, "http://" ); -_LIT( KHttps, "https://" ); -_LIT( KHostSeparator, "/" ); -_LIT( KXcapEngLogDir, "XDM" ); -_LIT( KXcapEngLogFile, "XcapProtocol" ); -const TInt KXcapEngLogBufferMaxSize = 2000; - -//FORWARD DECLARATIONS -class CXdmLogWriter; -class CXcapDocument; -class CXdmXmlParser; -class CXcapEarlyIms; -class MMsgConnManager; -class CXdmShutdownTimer; -class CXcapHttpTransport; -class CXdmOperationFactory; -class CXdmSettingsCollection; - -//CLASS DECLARATION -class CXcapProtocol : public CXdmProtocol, - public MXcapEarlyImsObs, - public MXdmShutdownSwitch, - public MMsgBearerObsCallback - { - - public: - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - IMPORT_C TPtrC8 PublicID(); - - /** - * Return a pointer to the cache client interface - * @return RXcapCache* Pointer to the cache interface - */ - IMPORT_C RXcapCache* Cache(); - - /** - * Return a reference to the XML Parser - * @return CXdmXmlParser& Reference to XML Parser - */ - IMPORT_C CXdmXmlParser& Parser(); - - /** - * Return a reference to the XML Parser - * @return CXdmXmlParser& Reference to XML Parser - */ - IMPORT_C CXcapHttpTransport& Transport(); - - /** - * Check whether network is available - * @return TBool Is network available - */ - IMPORT_C TBool IsNetworkAvailable(); - - public: //Not exported - - /** - * Check whether there are requests being carried out - * and start the idle timer if appropriate - * - * @return void - */ - void CheckActivity(); - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - TPtrC8 UserName() const; - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - TXcapAuthType AuthType() const; - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - TBool IsSimRequestPending( TInt& aError ) const; - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - void AppendNotifyeeL( CXcapDocument* aPendingDoc ); - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - void CancelImsResolver(); - - /** - * Logging function - * @param TRefByValue aFmt,... - * @return void - */ - void WriteToLog( TRefByValue aFmt,... ) const; - - private: //From CXdmProtocol - - /** - * Initialise the media used to transfer Xdm data - */ - void InitTransferMedium( TInt aIdleTimeout, TRequestStatus& aStatus ); - - /** - * Cancel initialisation of the transfer media. - */ - void CancelTransferMediumInit(); - - /** - * Cancel initialisation of the transfer media. - */ - TBool IsTransferAvailable() const; - - /** - * Create a new document node. - */ - CXdmDocumentNode* CreateDocumentNodeL(); - - /** - * Create a new protocol dependent document model - */ - CXdmDocument* CreateDocumentL( const TDesC& aDocumentName, - const TXdmDocType aDocumentType ); - - /** - * Create a new protocol dependent document model - */ - CXdmDirectory* CreateDirectoryL( const TDesC& aDirectoryPath ); - - /** - * Destructor. - */ - virtual ~CXcapProtocol(); - - private: - - /** - * From MXdmShutdownSwitch - * @return void - */ - void SwitchOff(); - - /** - * From MXcapEarlyImsObs. - * @param TInt Error - * @return void - */ - void RequestComplete( TInt aError ); - - public: //Static - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - static CXcapProtocol* NewL( const TXdmProtocolParams& aProtocolInfo ); - - /** - * A Global logging function - * @param TRefByValue aFmt,... - * @return void - */ - static TInt GenerateUniqueIdL(); - - private: //Methods - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - CXcapProtocol(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void ConstructL( const TXdmProtocolParams& aProtocolParams ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void DeleteLogFileL(); - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - TInt SaveSettingsL(); - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - void SaveFromCollectionL( const CXdmSettingsCollection& aSettings ); - - /** - * Return an operation object that knows how to manipulate - * partial document - */ - void ResolveIdentityL(); - - /** - * Select the type of the authentication - */ - void SelectAuthTypeL( const CXdmSettingsCollection& aSettings ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - RXcapCache* CacheHandle(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - TPtrC8 Impu() const; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - HBufC* ParseRootLocationLC( const TBool aSecurity, - const TDesC& aRootLocation ); - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - HBufC* CheckProtocolPrefixL( const TDesC& aRootLocation ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - HBufC* ConstructSecureUriL( const TDesC& aBasicUri ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - HBufC* ConstructStandardUriL( const TDesC& aBasicUri ); - - /** - * Handle a bearer event - * @param TMsgBearerEvent The type of the event - */ - void HandleBearerEventL( TBool aAuthoritativeClose, - TMsgBearerEvent aBearerEvent ); - - private: //Data - - TInt iIdleTimeout; - TInt iAccessPoint; - TInt iImsResolverError; - TBool iSuspend; - TBool iCacheUsage; - TBool iTransferMediaOpen; - TBool iSimRequestPending; - HBufC* iRootUri; - HBufC8* iPublicId; - RXcapCache iCacheClient; - CXdmEngine* iXdmEngine; - CXdmDocument* iCapabilities; - CXdmLogWriter* iLogWriter; - TXcapAuthType iAuthType; - CXdmXmlParser* iXmlParser; - CXcapEarlyIms* iImsResolver; - TXdmCredentials iCredentials; - MMsgConnManager* iConnectionManager; - CXdmShutdownTimer* iIdleTimer; - CXcapHttpTransport* iHttpTransport; - const CXdmProtocolInfo* iProtocolInfo; - TBuf8 iUserName; - RPointerArray iNotifyeeQueue; - }; - -#endif //__XCAPPROTOCOL__ - -// End of File