diff -r 000000000000 -r c8caa15ef882 pressrv_plat/xdm_api/inc/XdmProtocolInfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pressrv_plat/xdm_api/inc/XdmProtocolInfo.h Tue Feb 02 01:05:17 2010 +0200 @@ -0,0 +1,195 @@ +/* +* 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: XDM protocol information +* +*/ + + + + +#ifndef __XDMPROTOCOLINFO__ +#define __XDMPROTOCOLINFO__ + +#include +#include "XdmCredentials.h" + +//FORWARD DECLARATION +class CXdmDocument; + +//CLASS DECLARATION +class CXdmProtocolInfo : public CBase + { + public: + + /** + * Create a new protocol info object + * + * @param TInt ID of the access point to use + * @param TUid The UID of the XDM protocol to use + * @param TDesC& Address of the remote host + * @return CXdmProtocolInfo The protocol info object + */ + IMPORT_C static CXdmProtocolInfo* NewL( TInt aAccessPoint, + TInt aProtocolUid, + const TDesC& aRootLocation ); + + /** + * Create a new protocol info object + * + * @param TInt ID of the settings collection + * + * NOTE: In order to be able to use this overload + * of the constructor, the client must first + * fetch the collection of XDM Settings through + * the static method XdmSettingsL() declared in + * CXdmEngine API. This method returns an array + * of strings, which denote the names of the + * settings collections stored for XDM. + * + * @return CXdmProtocolInfo* The protocol info object + */ + IMPORT_C static CXdmProtocolInfo* NewL( TInt aSettingsId ); + + /** + * Return the root location of the XDM documents + * + * @return TPtrC RootURI + */ + IMPORT_C TPtrC Root() const; + + /** + * Return the access point + * + * @return TInt Access point + */ + IMPORT_C TInt AccessPoint() const; + + /** + * Return the the UID of the protocol in use + * + * @return TUid UID of the protocol implementation + */ + IMPORT_C TUid ProtocolUid() const; + + /** + * Set appropriate credentials in case the used + * resource requires authorization. + * + * @param TXdmCredentials Credentials for the user + * @return void + */ + IMPORT_C void SetCredentials( const TXdmCredentials aCredentials ); + + /** + * Enable/disable cache + * + * @param TBool Is cache in use or not + * @return void + */ + IMPORT_C void SetCacheUsage( TBool aCacheUsage ); + + /** + * Enable/disable secure transfer + * + * @param TBool Is the protocol secure + * @return void + */ + IMPORT_C void SetSecurity( TBool aSecure ); + + /** + * Is secure transfer enabled + * + * @return TBool Secure or not + */ + IMPORT_C TBool IsSecure() const; + + /** + * Check cache usage + * + * @return TBool Is cache in use + */ + IMPORT_C TBool IsCacheEnabled() const; + + /** + * Return the credentials + * + * @return TXdmCredentials& Credentials for the user + */ + IMPORT_C const TXdmCredentials& Credentials() const; + + /** + * Return the ID of the settings + * + * @return TInt SettingsID + */ + IMPORT_C TInt SettingsID() const; + + /** + * Destructor + */ + IMPORT_C virtual ~CXdmProtocolInfo(); + + private: + + /** + * C++ constructor is private + */ + CXdmProtocolInfo(); + + /** + * C++ constructor is private + * + * @param TInt UID of the protocol plugin + */ + CXdmProtocolInfo( TInt aProtocolUid ); + + /** + * C++ constructor is private + * + * @param TInt ID of the access point in use + * @param TInt UID of the protocol plugin + */ + CXdmProtocolInfo( TInt aAccessPoint, + TInt aProtocolUid ); + + /** + * Symbian OS second-phase constructor + * + * @param TDesC& Root location + * @return void + */ + void ConstructL( const TDesC& aRootLocation ); + + /** + * Symbian OS non-leaving constructor + * + * @param TInt Settings ID + * @return void + */ + void Construct( TInt aSettingsId ); + + private: //Data + + TUid iProtocolUid; + TInt iSettingsId; + TInt iAccessPoint; + TBool iSecure; + TBool iUseCache; + HBufC* iRootLocation; + TXdmCredentials iCredentials; + }; + +#endif //__XDMPROTOCOLINFO__ + +// End of File