--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/engine/accesspointmanager/inc/catalogsaccesspointmanager.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2006 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: Interface MCatalogsAccessPointManager declation
+*
+*/
+
+
+#ifndef M_CATALOGSACCESSPOINTMANAGER_H
+#define M_CATALOGSACCESSPOINTMANAGER_H
+
+class CCatalogsAccessPoint;
+class MNcdConfigurationProtocolDetail;
+class MNcdConfigurationProtocolClientConfiguration;
+class CNcdNodeIdentifier;
+class CNcdKeyValuePair;
+
+class MCatalogsAccessPointManager
+{
+public:
+ enum TAction
+ {
+ EDownload,
+ EBrowse,
+ EPurchase,
+ };
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~MCatalogsAccessPointManager()
+ {
+ }
+
+ /**
+ * Sets fixed access point. If fixed access point is set, it is created to
+ * commsDB and always used. That is, when AccessPointIdL is called, it will always
+ * return the fixed AP, if it is set with this function.
+ *
+ * @param aApDetails Details of the access point. Key-value pairs are AP properties
+ * where key is the name of the property and value is its value.
+ */
+ virtual void SetFixedApL( const RPointerArray<CNcdKeyValuePair>& aApDetails ) = 0;
+
+ /**
+ * Gets fixed accesspoint.
+ *
+ * @param aAccessPointId ID of the fixed accesspoint. Value is unchanged if fixed accesspoint is not set.
+ * @leave Symbian error code
+ */
+ virtual void GetFixedApL( TUint32& aAccessPointId ) = 0;
+
+ /**
+ * Parses the client configuration details and creates the access points to
+ * commsDB if it is missing them. Also parses the contentSources section and
+ * maps download, browse and purchase access points to correct namespaces.
+ *
+ * @param aConfiguration The client configuration response.
+ * @param aClientUid The client UID.
+ * @param aIgnoreFixedAp If true, accesspoint data is parsed even if fixed
+ * accesspoint was set
+ * @param aCreatedAps If a pointer is given then ids of created accesspoints are
+ * added to it. Ownership is NOT transferred
+ */
+ virtual void ParseAccessPointDataFromClientConfL(
+ const MNcdConfigurationProtocolClientConfiguration& aConfiguration,
+ const TUid& aClientUid,
+ TBool aIgnoreFixedAp = EFalse,
+ RArray<TUint32>* aCreatedAps = NULL ) = 0;
+
+ /**
+ * Get accesspoint's id in comms database. Method also validates that
+ * correct accesspoint settings exists in the commsdatabase.
+ * So for example if accesspoint has been removed from the commsdatabase
+ * it is created again based on the correct settings.
+ *
+ * @param aNameSpace The namespace of content source.
+ * @param aAction The action.
+ * @param aClientUid The UID of the client.
+ * @param aAccessPointId Id of the accesspoint in the comms database
+ * @return Error code, KErrNotFound if the access point is undefined.
+ */
+ virtual TInt AccessPointIdL(
+ const TDesC& aNameSpace,
+ const MCatalogsAccessPointManager::TAction& aAction,
+ const TUid& aClientUid,
+ TUint32& aAccessPointId) = 0;
+
+
+ /**
+ * Get accesspoint's id in comms database. Method also validates that
+ * correct accesspoint settings exists in the commsdatabase.
+ * So for example if accesspoint has been removed from the commsdatabase
+ * it is created again based on the correct settings.
+ *
+ * @param aNameSpace The namespace of content source.
+ * @param aCatalogId Id of the catalog.
+ * @param aAction The action.
+ * @param aClientUid The UID of the client.
+ * @param aAccessPointId Id of the accesspoint in the comms database
+ * @return Error code, KErrNotFound if the access point is undefined.
+ */
+ virtual TInt AccessPointIdL(
+ const TDesC& aNameSpace,
+ const TDesC& aCatalogId,
+ const MCatalogsAccessPointManager::TAction& aAction,
+ const TUid& aClientUid,
+ TUint32& aAccessPointId) = 0;
+
+ /**
+ * Get accesspoint's id in comms database. Method also validates that
+ * correct accesspoint settings exists in the commsdatabase.
+ * So for example if accesspoint has been removed from the commsdatabase
+ * it is created again based on the correct settings.
+ * NOTE! The function leaves if the node with the given identifier does not exist.
+ *
+ * @param aNodeIdentifier The node identifier.
+ * @param aAction The action.
+ * @param aClientUid The UID of the client.
+ * @param aAccessPointId Id of the accesspoint in the comms database
+ * @return Error code, KErrNotFound if the access point is undefined.
+ */
+ virtual TInt AccessPointIdL(
+ const CNcdNodeIdentifier& aNodeIdentifier,
+ const MCatalogsAccessPointManager::TAction& aAction, const TUid& aClientUid,
+ TUint32& aAccessPointId) = 0;
+
+ };
+
+#endif