omacpadapters/accesspointadapter/Inc/CWPAPAccesspointItem.h
author hgs
Fri, 15 Oct 2010 11:39:02 +0530
changeset 67 fdbfe0a95492
parent 47 d316aecb87fd
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
* All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
* Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
* Description:    Class stores data for one accesspoint
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
#ifndef CWPAPACCESSPOINTITEM_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
#define CWPAPACCESSPOINTITEM_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
// INCLUDES
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
#include <e32def.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
#include <e32std.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
#include <e32base.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
#include <cmmanagerext.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
// FORWARD DECLARATIONS
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
class CWPEngine;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
class CWPAPItemBase;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
class CWPParameter;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
class CWPCharacteristic;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
class CCommsDatabase;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
class CWPAPNapdef;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
class RCmManagerExt;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
// CLASS DECLARATION
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
 * CWPAPAccesspointItem handles accesspoint settings. It links data from
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
 * logical proxy, physical proxy and napdef into one item.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
 */ 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
class CWPAPAccesspointItem : public CBase
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
	public:  // Constructors and destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
        * Two-phased constructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
        * @param aDefaultName The default name if none is found
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
        * @param aLogicalProxy The logical proxy 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
        * @param aPhysicalProxy The physical proxy 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
        * @param aNapdef The napdef
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
        * @param aCharacteristic The characteristic 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
		static CWPAPAccesspointItem* NewLC(
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
		                            const TDesC& aDefaultName,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
                                    CWPAPItemBase* iLogicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
                                    CWPAPItemBase* iPhysicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
                                    CWPAPItemBase* aNapdef,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
                                    CWPCharacteristic& aCharacteristic );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
        * Destructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
		virtual ~CWPAPAccesspointItem();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
	public: // New methods
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
		* Get the accesspoint name.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
		* @return reference to name.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
		*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
		const TDesC& Name() const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
		
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
		* Get the NAPdef pointer
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
		* @return pointer to napdef.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
		*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
	  	CWPAPItemBase* NapDef();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
	  	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
	  	/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
		* Set the pointer to the CM manager
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
		* @return void
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
		*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
	  	void SetCMManager( RCmManagerExt* aCm );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
	  	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
	  	/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
		* Get the characteristic value
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
		* @return iCharacteristic.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
		*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
	  	TInt Characteristic();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
		
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
		* Save this accesspoint to comms database.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
		* @param aCommsDb reference to CCommsdatabase
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
		*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
		TUint32 SaveL( CCommsDatabase& aCommsDb );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
        * Return the UID of the saved access point.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
        * @return UID
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
        const TDesC8& Uid() const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
        * Delete old data from engine model.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
        void DeleteUidData() const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
	private:  // New functions
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
		* Store the accesspoint data to comms database.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
		* @param aCommsDb reference to CCommsdatabase
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
		*/ 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
		TUint32 StoreL( CCommsDatabase& aCommsDb );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
        * C++ default constructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
        * @param aDefaultName The default name if none is found
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
        * @param aLogicalProxy The logical proxy 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
        * @param aPhysicalProxy The physical proxy 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
        * @param aNapdef The napdef
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125
        * @param aCharacteristic The characteristic 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   126
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   127
		CWPAPAccesspointItem( const TDesC& aDefaultName,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   128
                              CWPAPItemBase* iLogicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   129
                              CWPAPItemBase* iPhysicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   130
                              CWPAPItemBase* aNapdef,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   131
                              CWPCharacteristic& aCharacteristic );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   132
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   133
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   134
        * By default Symbian 2nd phase constructor is private.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   135
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   136
		void ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   137
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   138
	private: // Data (Total ownership is assumed unless otherwise stated)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   139
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   140
        /// The default name if no other is found
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   141
        const TDesC& iDefaultName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   142
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   143
        /// The napdef
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   144
        CWPAPItemBase* iNapdef;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   145
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   146
        /// The physical proxy
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   147
        CWPAPItemBase* iPhysicalProxy;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   148
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   149
        /// The logical proxy
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   150
        CWPAPItemBase* iLogicalProxy;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   151
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   152
        /// The uid created when saving
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   153
        TPckgBuf<TUint32> iUid;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   154
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   155
        /// The characteristic the caused the creation of an access point
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   156
        CWPCharacteristic& iCharacteristic;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   157
        RCmManagerExt* iCmManager;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   158
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   159
	private: // For testing usage.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   160
		friend class T_CWPAPAccesspointItem;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   161
		friend class T_CWPAPAdapter;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   162
		friend class T_WPAPTestUtils;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   163
	};
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   164
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   165
#endif	// CWPAPACCESSPOINTITEM_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   166
            
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   167
// End of File