omacpadapters/cpdestinationnwadapter/inc/cwpdestinationnwitem.h
author hgs
Fri, 15 Oct 2010 11:39:02 +0530
changeset 67 fdbfe0a95492
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
67
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:   Settings item for one destination network. Also handles
hgs
parents:
diff changeset
    15
*                saving destination networks to permanent storage.
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#ifndef CWPDESTINATIONNWITEM_H
hgs
parents:
diff changeset
    22
#define CWPDESTINATIONNWITEM_H
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include <e32base.h>
hgs
parents:
diff changeset
    25
#include <cmmanagerext.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
class CWPCharacteristic;
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
/**
hgs
parents:
diff changeset
    30
 *  Destination network settings item.
hgs
parents:
diff changeset
    31
 *
hgs
parents:
diff changeset
    32
 *  Destination network item handles saving destination networks via
hgs
parents:
diff changeset
    33
 *  Connection Method Manager API.
hgs
parents:
diff changeset
    34
 *
hgs
parents:
diff changeset
    35
 *  @lib cwpdestinationnwadapter.lib
hgs
parents:
diff changeset
    36
 *  @since S60 v3.2.
hgs
parents:
diff changeset
    37
 */
hgs
parents:
diff changeset
    38
class CWPDestinationNwItem : public CBase
hgs
parents:
diff changeset
    39
    {
hgs
parents:
diff changeset
    40
    /**
hgs
parents:
diff changeset
    41
     * Friend classes for unit testing - uncomment when running tests.
hgs
parents:
diff changeset
    42
     */
hgs
parents:
diff changeset
    43
    //friend class UT_wpdestinationnwadapter;
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
public:
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
    static CWPDestinationNwItem* NewL();
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
    virtual ~CWPDestinationNwItem();
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
    /**
hgs
parents:
diff changeset
    52
     * Setter for APPREF.
hgs
parents:
diff changeset
    53
     * @since S60 v3.2.
hgs
parents:
diff changeset
    54
     * @param aAPPREF.
hgs
parents:
diff changeset
    55
     */
hgs
parents:
diff changeset
    56
    void SetAppRefL( const TDesC8& aAppRef );
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
    /**
hgs
parents:
diff changeset
    59
     * Setter for user viewable name of the setting.
hgs
parents:
diff changeset
    60
     * @since S60 v3.2.
hgs
parents:
diff changeset
    61
     * @param aNAME. Value is TCP or UDP.
hgs
parents:
diff changeset
    62
     */
hgs
parents:
diff changeset
    63
    void SetSettingsNameL( const TDesC& aSettingsName );
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
    /**
hgs
parents:
diff changeset
    66
     * Setter for NAPDEF (IAP settings).
hgs
parents:
diff changeset
    67
     * @since S60 v3.2.
hgs
parents:
diff changeset
    68
     * @param aNapDef.
hgs
parents:
diff changeset
    69
     */
hgs
parents:
diff changeset
    70
    void AddNapDefL( CWPCharacteristic* aNapDef );
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    /**
hgs
parents:
diff changeset
    73
     * Getter for APPREF value.
hgs
parents:
diff changeset
    74
     * @since S60 v3.2.
hgs
parents:
diff changeset
    75
     * @return APPREF.
hgs
parents:
diff changeset
    76
     */
hgs
parents:
diff changeset
    77
    const TDesC8& AppRef() const;
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
    /**
hgs
parents:
diff changeset
    80
     * Getter for user viewable name of Destination network.
hgs
parents:
diff changeset
    81
     * @since S60 v3.2.
hgs
parents:
diff changeset
    82
     * @return Settings name.
hgs
parents:
diff changeset
    83
     */
hgs
parents:
diff changeset
    84
    const TDesC& SettingsName() const;
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
    /**
hgs
parents:
diff changeset
    87
     * Saves the destination network settings.
hgs
parents:
diff changeset
    88
     * @since S60 v3.2.
hgs
parents:
diff changeset
    89
     */
hgs
parents:
diff changeset
    90
    void SaveL();
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
    /**
hgs
parents:
diff changeset
    93
     * Return destination network ID.
hgs
parents:
diff changeset
    94
     * @since S60 v3.2.
hgs
parents:
diff changeset
    95
     * @return ID of the destination network.
hgs
parents:
diff changeset
    96
     */
hgs
parents:
diff changeset
    97
    const TDesC8& SaveData() const;
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
private:
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    /**
hgs
parents:
diff changeset
   102
     * Creates a network destination.
hgs
parents:
diff changeset
   103
     * @since S60 v3.2.
hgs
parents:
diff changeset
   104
     * @param aCmManager Connection Method Manager handle.
hgs
parents:
diff changeset
   105
     * @return Network destination.
hgs
parents:
diff changeset
   106
     */
hgs
parents:
diff changeset
   107
    RCmDestinationExt CreateDestinationL( RCmManagerExt& aCmManager );
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
		/**
hgs
parents:
diff changeset
   110
     * Returnes the Iap id that matches the given Wap id.
hgs
parents:
diff changeset
   111
     * @since S60 v3.2.3
hgs
parents:
diff changeset
   112
     * @param aWapId IAP's Wap Id.
hgs
parents:
diff changeset
   113
     * @return Iap Id.
hgs
parents:
diff changeset
   114
     */
hgs
parents:
diff changeset
   115
		TUint32 IapIdFromWapIdL( TUint32 aWapId );
hgs
parents:
diff changeset
   116
		
hgs
parents:
diff changeset
   117
private:
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    void ConstructL();
hgs
parents:
diff changeset
   120
    CWPDestinationNwItem();
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
private: // data
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
    /**
hgs
parents:
diff changeset
   125
     * Destination network reference identity in provisioning document.
hgs
parents:
diff changeset
   126
     * Own.
hgs
parents:
diff changeset
   127
     */
hgs
parents:
diff changeset
   128
    HBufC8* iAppRef;
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
    /**
hgs
parents:
diff changeset
   131
     * Name of destination network visible to user when viewing the
hgs
parents:
diff changeset
   132
     * provisioning message.
hgs
parents:
diff changeset
   133
     * Own.
hgs
parents:
diff changeset
   134
     */
hgs
parents:
diff changeset
   135
    HBufC* iSettingsName;
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
    /**
hgs
parents:
diff changeset
   138
     * Array of NAPDEFs, IAP settings.
hgs
parents:
diff changeset
   139
     * Not own. (Contained pointers are deleted by ProvisioningEngine.)
hgs
parents:
diff changeset
   140
     */
hgs
parents:
diff changeset
   141
    RPointerArray<CWPCharacteristic> iNapDefs;
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
    /**
hgs
parents:
diff changeset
   144
     * ID value of the referred IAP.
hgs
parents:
diff changeset
   145
     */
hgs
parents:
diff changeset
   146
    TUint32 iIAPId;
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
    /** 
hgs
parents:
diff changeset
   149
     * Destination network ID as a descriptor to be returned by the
hgs
parents:
diff changeset
   150
     * SaveData method to the framework via adapters SaveDataL.
hgs
parents:
diff changeset
   151
     * Own.
hgs
parents:
diff changeset
   152
     */
hgs
parents:
diff changeset
   153
    HBufC8* iSavedProfileId;
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
    };
hgs
parents:
diff changeset
   156
hgs
parents:
diff changeset
   157
#endif // CWPDESTINATIONNWITEM_H