ncdengine/engine/accesspointmanager/inc/catalogsaccesspoint.h
changeset 0 ba25891c3a9e
--- /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
+