--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/engine/accesspointmanager/inc/catalogsaccesspoint.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,172 @@
+/*
+* 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: Class CCatalogsAccessPoint declation
+*
+*/
+
+
+#ifndef C_CATALOGSACCESSPOINT_H
+#define C_CATALOGSACCESSPOINT_H
+
+#include <s32strm.h>
+#include "catalogsaccesspointsettings.h"
+
+class CCatalogsAccessPoint: public CCatalogsAccessPointSettings
+ {
+public:
+
+ /**
+ * Two phase constructor.
+ *
+ * @param aApNcdId The id of the access point (obtained from CDB).
+ * @return A pointer to the created object.
+ */
+ static CCatalogsAccessPoint* NewL(const TDesC& aApNcdId, const TDesC& aName);
+
+ /**
+ * Two phase constructor. Object is constructed from a stream.
+ *
+ * @param aSettings Stream which can be used to initialize object's state.
+ *
+ * @return A pointer to the created object.
+ */
+ static CCatalogsAccessPoint* NewL( RReadStream& aStream );
+
+ /**
+ * Seconds phase constructor.
+ *
+ * @param aApNcdId The id of the access point (obtained from CDB).
+ * @return A pointer to the created object. Object is in cleanupstack.
+ */
+ static CCatalogsAccessPoint* NewLC(const TDesC& aApNcdId, const TDesC& aName);
+
+ /**
+ * Seconds phase constructor. Object is constructed from a stream.
+ *
+ * @param aSettings Stream which can be used to initialize object's state.
+ *
+ * @return A pointer to the created object. Object is in cleanupstack.
+ */
+ static CCatalogsAccessPoint* NewLC( RReadStream& aStream );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCatalogsAccessPoint();
+
+ /**
+ * Writes objects state to a stream.
+ *
+ * @param aStream Opened write stream.
+ */
+ void ExternalizeL( RWriteStream& aStream );
+
+ /**
+ * Initializes objects state from a stream.
+ *
+ * @param aStream Opened read stream.
+ */
+ void InternalizeL( RReadStream& aStream );
+
+ /**
+ * Sets the name of the access point.
+ *
+ * @param aName The name.
+ */
+ void SetNameL(const TDesC& aName);
+
+ /**
+ * Get the name of the access point.
+ *
+ * @return The name.
+ */
+ const TDesC& Name() const;
+
+ /**
+ * Get accesspoint's id in the commsdatabase.
+ *
+ * @return Id of the accesspoint.
+ */
+ TUint32 AccessPointId() const;
+
+ /**
+ * Get the accesspoint's id used in NCD (given by CDB).
+ *
+ * @return NCD id of the accesspoint.
+ */
+ const TDesC& NcdAccessPointId() const;
+
+ /**
+ * Set accesspoints id in the commsdatabase
+ *
+ * @param aId Id of the accesspoint.
+ */
+ void SetAccessPointId( TUint32 aId );
+
+ /**
+ * Get accesspoint's iCreatedByManager flag. If true, accesspoint is deleted in the manager's destructor.
+ *
+ * @return Boolean flag value.
+ */
+ TBool CreatedByManager () const;
+
+ /**
+ * Set accesspoint's iCreatedByManager flag to true, so that it gets deleted in the manager's destructor.
+ */
+ void SetCreatedByManager();
+
+protected:
+
+ /**
+ * Constructor.
+ */
+ CCatalogsAccessPoint();
+
+ /**
+ * Performs seconds phase construction.
+ */
+ void ConstructL(const TDesC& aApNcdId, const TDesC& aName);
+
+ /**
+ * Constructs the object from the given stream data.
+ *
+ * @param aStream The stream.
+ */
+ void ConstructL(RReadStream& aStream);
+
+ /**
+ * Compare two accesspoints.
+ *
+ * @param aAccessPoint
+ * A Reference to another accesspoint.
+ *
+ * @return ETrue if settings are same, EFalse otherwise.
+ */
+ TBool MatchingAccessPoint( const CCatalogsAccessPoint& aAccessPoint );
+
+private:
+
+ HBufC* iName;
+ HBufC* iNcdAccessPointId;
+ TUint32 iAccessPointId;
+
+ // Boolean flag to avoid deleting pre-existing access points in ~CCatalogsAccessPointManager().
+ // Fix for [#PRECLI-1596]
+ TBool iCreatedByManager;
+ };
+
+
+
+#endif
+