diff -r 000000000000 -r ba25891c3a9e ncdengine/engine/accesspointmanager/inc/catalogsaccesspoint.h --- /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 +#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 +