williamr@2: /* williamr@2: * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Declaration of FavouritesWapAp williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef FAVOURITES_WAP_AP_H williamr@2: #define FAVOURITES_WAP_AP_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: #include williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * TFavouritesWapAp is the representation one the Access Point used in favourites. williamr@2: * In addition to the AP Uid-s an item may hold "Use default" and "Unset/Null" values. williamr@2: */ williamr@2: class TFavouritesWapAp williamr@2: { williamr@2: williamr@2: public: // construction williamr@2: williamr@2: /** williamr@2: * C++ default constructor. Initializes to "Default". williamr@2: * @since 0.9 williamr@2: */ williamr@2: IMPORT_C TFavouritesWapAp(); williamr@2: williamr@2: public: // operators williamr@2: williamr@2: /** williamr@2: * Assignment operator (from another TFavouritesWapAp). williamr@2: * @since 0.9 williamr@2: * @param aAp AP to assign from. williamr@2: * @return TFavouritesWapAp williamr@2: */ williamr@2: IMPORT_C TFavouritesWapAp& operator= ( const TFavouritesWapAp& aAp ); williamr@2: williamr@2: /** williamr@2: * Assignment operator (from TUint32). williamr@2: * "Null" and "Default" properties cleared. williamr@2: * @since 0.9 williamr@2: * @param aApId AP id to assign from. williamr@2: * @return TFavouritesWapAp williamr@2: */ williamr@2: IMPORT_C TFavouritesWapAp& operator= ( TUint32 aApId ); williamr@2: williamr@2: public: // setters williamr@2: williamr@2: /** williamr@2: * Set value is unset. Any previous value is lost. williamr@2: * @since 0.9 williamr@2: * @return void williamr@2: */ williamr@2: IMPORT_C void SetNull(); williamr@2: williamr@2: /** williamr@2: * Set value is "Default". Any previous value is lost. williamr@2: * @since 0.9 williamr@2: * @return void williamr@2: */ williamr@2: IMPORT_C void SetDefault(); williamr@2: williamr@2: /** williamr@2: * Set value. "Null" and "Default" properties cleared. williamr@2: * @since 0.9 williamr@2: * @param aApId AP id to set. williamr@2: * @return void williamr@2: */ williamr@2: IMPORT_C void SetApId( TUint32 aApId ); williamr@2: williamr@2: public: // getters williamr@2: williamr@2: /** williamr@2: * Check if value is unset. williamr@2: * @since 0.9 williamr@2: * @return ETrue if value is unset. williamr@2: */ williamr@2: IMPORT_C TBool IsNull() const; williamr@2: williamr@2: /** williamr@2: * Check if value is "Default". williamr@2: * @since 0.9 williamr@2: * @return ETrue if value is "Default". williamr@2: */ williamr@2: IMPORT_C TBool IsDefault() const; williamr@2: williamr@2: /** williamr@2: * Get the AP id. If the value is "Null" or "Default", this method williamr@2: * panics. Check those before calling this method! williamr@2: * @since 0.9 williamr@2: * @return AP id. williamr@2: */ williamr@2: IMPORT_C TUint32 ApId() const; williamr@2: williamr@2: public: // (But not exported): Streaming williamr@2: williamr@2: /** williamr@2: * Externalize into a stream. williamr@2: * @since 0.9 williamr@2: * @param aStream The stream to externalize to. williamr@2: * @return void williamr@2: */ williamr@2: void ExternalizeL( RWriteStream& aStream ) const; williamr@2: williamr@2: /** williamr@2: * Internalize from a stream. williamr@2: * @since 0.9 williamr@2: * @param aStream The stream to externalize from. williamr@2: */ williamr@2: void InternalizeL( RReadStream& aStream ); williamr@2: williamr@2: private: // friends williamr@2: williamr@2: /// RFavouritesTable writes this into database. williamr@2: friend class RFavouritesSrvTable; williamr@2: williamr@2: private: // types williamr@2: williamr@2: /** williamr@2: * This enum holds the value kind ("Null", "Default" or just normal). williamr@2: */ williamr@2: enum TValueKind williamr@2: { williamr@2: ENormal, ///< Has real value (not special). williamr@2: ENull, ///< Has "Null" value. williamr@2: EDefault ///< Has "Default value". williamr@2: }; williamr@2: williamr@2: private: // data williamr@2: williamr@2: /** williamr@2: * AP id. Meaningless if value is "Null" or "Default". williamr@2: */ williamr@2: TUint32 iApId; williamr@2: williamr@2: /** williamr@2: * Value kind. williamr@2: */ williamr@2: TValueKind iValueKind; williamr@2: }; williamr@2: williamr@2: #endif williamr@2: williamr@2: // End of File