--- /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 <e32base.h>
+#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