epoc32/include/mw/aknmfnesettingpage.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@2
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description: 
williamr@2
    15
*     Header file for Setting page implementations for Date, Time, duration 
williamr@2
    16
*       and IP addresses 
williamr@2
    17
*
williamr@2
    18
*/
williamr@2
    19
williamr@2
    20
williamr@2
    21
#ifndef __AKNMFNESETTINGPAGE_H__
williamr@2
    22
#define __AKNMFNESETTINGPAGE_H__ 
williamr@2
    23
williamr@2
    24
#include <eikdef.h>
williamr@2
    25
#include <eikbtgpc.h>
williamr@2
    26
#include <eikmfne.h>
williamr@2
    27
#include <aknipfed.h>
williamr@2
    28
#include <in_sock.h>
williamr@2
    29
#include <aknsettingpage.h>
williamr@2
    30
williamr@2
    31
 
williamr@2
    32
// FORWARD DECLARATIONS
williamr@2
    33
class CAknButton;
williamr@2
    34
 
williamr@2
    35
/** 
williamr@2
    36
 *
williamr@2
    37
 * This class is used as the base for the date, time, duration and Ip editor
williamr@2
    38
 * setting page types.  It performs all the layout.
williamr@2
    39
 *
williamr@2
    40
 */
williamr@2
    41
class CAknMfneSettingPage : public CAknSettingPage
williamr@2
    42
{
williamr@2
    43
williamr@2
    44
public: 
williamr@2
    45
    /**
williamr@2
    46
     * From CCoeControl.     
williamr@2
    47
     * Handles pointer events
williamr@2
    48
     */
williamr@2
    49
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
    50
    /**
williamr@2
    51
    * Destructor.
williamr@2
    52
    */
williamr@2
    53
    IMPORT_C virtual ~CAknMfneSettingPage();
williamr@2
    54
williamr@2
    55
protected:
williamr@2
    56
    /**
williamr@2
    57
     * Constructor using purely Setting page resource
williamr@2
    58
     *
williamr@2
    59
     * @param   aResourceId     Setting page resource Id
williamr@2
    60
     */
williamr@2
    61
    IMPORT_C CAknMfneSettingPage(TInt ResourceId );
williamr@2
    62
     /**
williamr@2
    63
     * Constructor that allows separate setting page and editor resources
williamr@2
    64
     * 
williamr@2
    65
     * @param aSettingTitleText Text at top of setting pane ; Externally owned
williamr@2
    66
     * @param aSettingNumber        Number at top left (if present)
williamr@2
    67
     * @param aControlType          Determines the type constructed and how its
williamr@2
    68
     *                              resource is read
williamr@2
    69
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
    70
     *                          (if present)
williamr@2
    71
     */
williamr@2
    72
    IMPORT_C CAknMfneSettingPage(   const TDesC* aSettingTitleText, 
williamr@2
    73
                                TInt aSettingNumber, 
williamr@2
    74
                                TInt aControlType,
williamr@2
    75
                                TInt aEditorResourceId, 
williamr@2
    76
                                TInt aSettingPageResourceId );
williamr@2
    77
williamr@2
    78
    /**
williamr@2
    79
    *
williamr@2
    80
    * Framework method called when the control needs to be re-laid out
williamr@2
    81
    *
williamr@2
    82
    */
williamr@2
    83
    IMPORT_C virtual void SizeChanged();
williamr@2
    84
    
williamr@2
    85
    /** 
williamr@2
    86
    * Draws the control. Framework method
williamr@2
    87
    */
williamr@2
    88
    IMPORT_C void Draw(const TRect& aRect) const;
williamr@2
    89
williamr@2
    90
    /**
williamr@2
    91
    * Type-specific access to control
williamr@2
    92
    */
williamr@2
    93
    IMPORT_C CEikMfne* Mfne() const;
williamr@2
    94
williamr@2
    95
    /**
williamr@2
    96
    * Implementation of of validity framework method for mfnes.
williamr@2
    97
    * Checks if the current focused field in the mfne is valid and sets the 
williamr@2
    98
    * setting page validity accordingly.
williamr@2
    99
    * 
williamr@2
   100
    * This method is called in order for the softkeys to be updated
williamr@2
   101
    */
williamr@2
   102
    IMPORT_C void CheckAndSetDataValidity();
williamr@2
   103
williamr@2
   104
    /**
williamr@2
   105
    * From MCoeControlObserver:
williamr@2
   106
    * Acts upon changes in the hosted control's state. 
williamr@2
   107
    * 
williamr@2
   108
    * This observer method performs
williamr@2
   109
    *  - Updates the value if EUpdateWhenChanged is the setting page's update
williamr@2
   110
    *    mode
williamr@2
   111
    *  - updates CBA labels depending on the data validity
williamr@2
   112
    *
williamr@2
   113
    * @param    aControl    The control changing its state (not used)
williamr@2
   114
    * @param    aEventType  The type of control event 
williamr@2
   115
    */
williamr@2
   116
    IMPORT_C virtual void HandleControlEventL(CCoeControl* aControl,
williamr@2
   117
                                            TCoeEvent aEventType);
williamr@2
   118
                                            
williamr@2
   119
    /**
williamr@2
   120
    *
williamr@2
   121
    * 2nd stage construction. This creates the editing buttons in 
williamr@2
   122
    * touch enabled builds.
williamr@2
   123
    *
williamr@2
   124
    */
williamr@2
   125
    IMPORT_C virtual void ConstructL();
williamr@2
   126
    
williamr@2
   127
    /**
williamr@2
   128
     * Standard CCoeControl routine to return the number of componentn controls
williamr@2
   129
     *
williamr@2
   130
     * @param	aIndex	index at which to return control
williamr@2
   131
     */
williamr@2
   132
    IMPORT_C TInt CountComponentControls() const;
williamr@2
   133
williamr@2
   134
    /**
williamr@2
   135
     * Standard CCoeControl routine to return the control at a given index
williamr@2
   136
     *
williamr@2
   137
     * @param	aIndex	index at which to return control
williamr@2
   138
     */ 
williamr@2
   139
    IMPORT_C CCoeControl* ComponentControl(TInt anIndex) const;
williamr@2
   140
                                            
williamr@2
   141
protected:
williamr@2
   142
williamr@2
   143
    // Buttons for modifying the value of the active MFNE field with stylus.
williamr@2
   144
    // The derived classes which require the buttons, must call this class'
williamr@2
   145
    // ConstructL function in their second phase constructor. This class
williamr@2
   146
    // takes care of the button positioning and functionality.
williamr@2
   147
    CAknButton* iIncreaseValueButton;
williamr@2
   148
    CAknButton* iDecreaseValueButton;
williamr@2
   149
williamr@2
   150
private:
williamr@2
   151
    /**
williamr@2
   152
    * From CAknControl
williamr@2
   153
    */
williamr@2
   154
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   155
williamr@2
   156
private:
williamr@2
   157
    // Layout information is stored here and not in the derived classes
williamr@2
   158
    TAknLayoutRect iMfneLayoutRect;
williamr@2
   159
    TAknLayoutRect iHorizontalShadow;
williamr@2
   160
    TAknLayoutRect iVerticalShadow;
williamr@2
   161
    TAknLayoutRect iOutlineFrame;
williamr@2
   162
williamr@2
   163
    TInt iSpare_1;
williamr@2
   164
williamr@2
   165
};
williamr@2
   166
williamr@2
   167
williamr@2
   168
/** 
williamr@2
   169
*
williamr@2
   170
* This class is used for entering Dates in a "Code" setting page
williamr@2
   171
*
williamr@2
   172
*/
williamr@2
   173
class CAknDateSettingPage : public CAknMfneSettingPage
williamr@2
   174
{
williamr@2
   175
public:
williamr@2
   176
williamr@2
   177
    /**
williamr@2
   178
     * Constructor using purely Setting page resource
williamr@2
   179
     *
williamr@2
   180
     * @param   aResourceId     Setting page resource Id
williamr@2
   181
     * @param   aDateValue      Reference to a date value set to the initial 
williamr@2
   182
     *                          date
williamr@2
   183
     */
williamr@2
   184
    IMPORT_C CAknDateSettingPage(
williamr@2
   185
        TInt aResourceID, 
williamr@2
   186
        TTime& aDateValue);
williamr@2
   187
williamr@2
   188
    /**
williamr@2
   189
     * Constructor that allows separate setting page and editor resources
williamr@2
   190
     * 
williamr@2
   191
     * This constructor allows the use of setting page using only the editor 
williamr@2
   192
     * resource. Other combinations are also possible
williamr@2
   193
     *
williamr@2
   194
     * In all cases the number (if supplied i.e. <> 0 ) is used.  
williamr@2
   195
     *
williamr@2
   196
     *      Editor Resource     Setting Page Resource
williamr@2
   197
     *          present             present             Both are used 
williamr@2
   198
     *                                                  (but text 
williamr@2
   199
     *                                                  & number overridden)
williamr@2
   200
     *           = 0                present             Editor resource is used
williamr@2
   201
     *                                                  via SP resource 
williamr@2
   202
     *                                                  (Effectively like the
williamr@2
   203
     *                                                  other constructor)
williamr@2
   204
     *          present             = 0                 Default Avkon SP 
williamr@2
   205
     *                                                  resource if used + this
williamr@2
   206
     *                                                  editor resource
williamr@2
   207
     *           = 0                = 0                 uses default resource
williamr@2
   208
     *                                                  for both SP and editor.
williamr@2
   209
     *                                                  This is OK if:
williamr@2
   210
     *   i) control type is present, 
williamr@2
   211
     *  ii) a default resource exists ( OK for text, integer, date, time, 
williamr@2
   212
     *      duration )
williamr@2
   213
     *
williamr@2
   214
     * Note: The first argument is a TDesC* (rather than TDesC&) because the
williamr@2
   215
     * other constructor cannot initialize such a member without allocation or
williamr@2
   216
     * having an internal dummy buffer.
williamr@2
   217
     * Note that this descriptor must be owned by the client at least until the
williamr@2
   218
     * ExecuteLD().
williamr@2
   219
     *
williamr@2
   220
     * Rules for text and numbers: The rules are the same for both:  
williamr@2
   221
     * (non-zero length) text or number other than 
williamr@2
   222
     * EAknSettingPageNoOrdinalDisplayed if given in this constructor will not
williamr@2
   223
     * override resource (unless that is zero length or 
williamr@2
   224
     * EAknSettingPageNoOrdinalDisplayed).  Note, however, that text or number
williamr@2
   225
     * given via the specific API for setting them, WILL override resource.
williamr@2
   226
     * It is assumed that number from resource is very rare.  Special text is
williamr@2
   227
     * somewhat more likely.
williamr@2
   228
     * 
williamr@2
   229
     * @param aSettingTitleText Text at top of setting pane; OWNED EXTERNALLY
williamr@2
   230
     * @param aSettingNumber        Number at top left (if present)
williamr@2
   231
     * @param aControlType          Determines the type constructed and how its
williamr@2
   232
     *                              resource is read
williamr@2
   233
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
   234
     *                          (if present)
williamr@2
   235
     * @param aSettingPageResourceId        Setting Page to use (if present)
williamr@2
   236
     * @param aDateValue                reference to date
williamr@2
   237
     */
williamr@2
   238
    IMPORT_C CAknDateSettingPage(   
williamr@2
   239
                                const TDesC* aSettingTitleText, 
williamr@2
   240
                                TInt aSettingNumber, 
williamr@2
   241
                                TInt aControlType,
williamr@2
   242
                                TInt aEditorResourceId, 
williamr@2
   243
                                TInt aSettingPageResourceId,    
williamr@2
   244
                                TTime& aDateValue );
williamr@2
   245
williamr@2
   246
williamr@2
   247
    /**
williamr@2
   248
    *
williamr@2
   249
    * 2nd stage construction.  This uses stored values from the conststuctor
williamr@2
   250
    * to allocate the required aggregate objects, and then set the Date value.
williamr@2
   251
    *
williamr@2
   252
    */
williamr@2
   253
    IMPORT_C virtual void ConstructL();
williamr@2
   254
williamr@2
   255
    /**
williamr@2
   256
     * Type-specific access to the editor 
williamr@2
   257
     *
williamr@2
   258
     * @return the hosted editor
williamr@2
   259
     */
williamr@2
   260
    IMPORT_C CEikDateEditor* DateEditor();
williamr@2
   261
williamr@2
   262
    /**
williamr@2
   263
    *  From CCoeControl
williamr@2
   264
    */ 
williamr@2
   265
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   266
williamr@2
   267
protected:
williamr@2
   268
    /**
williamr@2
   269
    * Destructor
williamr@2
   270
    */
williamr@2
   271
    IMPORT_C virtual ~CAknDateSettingPage();
williamr@2
   272
williamr@2
   273
    /**
williamr@2
   274
    * This framework method is called when the editor changes its value and the
williamr@2
   275
    * mode of execution of the setting page is a continuous update mode.
williamr@2
   276
    *
williamr@2
   277
    */
williamr@2
   278
    IMPORT_C virtual void UpdateSettingL();
williamr@2
   279
williamr@2
   280
    /**
williamr@2
   281
    * Called when the user has accepted the value.
williamr@2
   282
    * The external value is updated once again, in case we were not in
williamr@2
   283
    * continuous update mode. 
williamr@2
   284
    * A specific observer event is generated for the observer to say that the
williamr@2
   285
    * value is accepted.
williamr@2
   286
    */
williamr@2
   287
    IMPORT_C virtual void AcceptSettingL();
williamr@2
   288
williamr@2
   289
    /**
williamr@2
   290
    * The backup value, stored at construction time, is re-loaded into the 
williamr@2
   291
    * referenced Date. An event is sent to the observer saying that the event
williamr@2
   292
    * was dismissed.
williamr@2
   293
    */
williamr@2
   294
    IMPORT_C virtual void RestoreOriginalSettingL();
williamr@2
   295
    
williamr@2
   296
//
williamr@2
   297
// CoeControl Framework and reserved methods
williamr@2
   298
//
williamr@2
   299
protected:
williamr@2
   300
williamr@2
   301
/**
williamr@2
   302
 * Writes the internal state of the control and its components to aStream.
williamr@2
   303
 * Does nothing in release mode.
williamr@2
   304
 * Designed to be overidden and base called by subclasses.
williamr@2
   305
 *
williamr@2
   306
 * @param   aWriteSteam     A connected write stream
williamr@2
   307
 */ 
williamr@2
   308
    IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   309
williamr@2
   310
private:
williamr@2
   311
/**
williamr@2
   312
 *  Reserved method derived from CCoeControl
williamr@2
   313
 */
williamr@2
   314
    IMPORT_C virtual void Reserved_2();
williamr@2
   315
williamr@2
   316
private:
williamr@2
   317
    /**
williamr@2
   318
    * From CAknControl
williamr@2
   319
    */
williamr@2
   320
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   321
williamr@2
   322
/**
williamr@2
   323
 * New reserved methods for CAknSettingPage hierarchy
williamr@2
   324
 */ 
williamr@2
   325
private: 
williamr@2
   326
    IMPORT_C virtual void CAknSettingPage_Reserved_1();
williamr@2
   327
    IMPORT_C virtual void CAknSettingPage_Reserved_2();
williamr@2
   328
williamr@2
   329
private:
williamr@2
   330
    TTime& iDateValue;
williamr@2
   331
    TTime iBackupDateValue;
williamr@2
   332
};
williamr@2
   333
williamr@2
   334
/** 
williamr@2
   335
 *
williamr@2
   336
 * This class is used for entering Times in a "Code" setting page
williamr@2
   337
 *
williamr@2
   338
 */
williamr@2
   339
class CAknTimeSettingPage : public CAknMfneSettingPage
williamr@2
   340
{
williamr@2
   341
public:
williamr@2
   342
    /**
williamr@2
   343
     * Constructor using purely Setting page resource
williamr@2
   344
     *
williamr@2
   345
     * @param   aResourceId     Setting page resource Id
williamr@2
   346
     * @param   aTimeValue      Reference to a time value for the initial time
williamr@2
   347
     */
williamr@2
   348
    IMPORT_C CAknTimeSettingPage(
williamr@2
   349
        TInt aResourceID, 
williamr@2
   350
        TTime& aTimeValue);
williamr@2
   351
williamr@2
   352
    /**
williamr@2
   353
     * Constructor that allows separate setting page and editor resources
williamr@2
   354
     * 
williamr@2
   355
     * This constructor allows the use of setting page using only the editor 
williamr@2
   356
     * resource.  Other combinations are also possible
williamr@2
   357
     *
williamr@2
   358
     * In all cases the number (if supplied i.e. <> 0 ) is used.  
williamr@2
   359
     *
williamr@2
   360
     *      Editor Resource     Setting Page Resource
williamr@2
   361
     *          present             present             Both are used (but text
williamr@2
   362
     *                                                  & number overridden)
williamr@2
   363
     *           = 0                present             Editor resource is used
williamr@2
   364
     *                                                  via SP resource 
williamr@2
   365
     *                                                  (Effectively like the
williamr@2
   366
     *                                                  other constructor)
williamr@2
   367
     *          present              = 0                Default Avkon SP 
williamr@2
   368
     *                                                  resource if used + this
williamr@2
   369
     *                                                  editor resource
williamr@2
   370
     *           = 0                 = 0                uses default resource
williamr@2
   371
     *                                                  for both SP and editor.
williamr@2
   372
     *                                                  This is OK if:
williamr@2
   373
     *   i) control type is present, 
williamr@2
   374
     *  ii) a default resource exists ( OK for text, integer, 
williamr@2
   375
     *      date, time, duration )
williamr@2
   376
     *
williamr@2
   377
     * Note: The first argument is a TDesC* (rather than TDesC&) because the
williamr@2
   378
     * other constructor cannot initialize such a member without allocation or
williamr@2
   379
     * having an internal dummy buffer.
williamr@2
   380
     * Note that this descriptor must be owned by the client at least until the
williamr@2
   381
     * ExecuteLD().
williamr@2
   382
     *
williamr@2
   383
     * Rules for text and numbers: The rules are the same for both:  
williamr@2
   384
     * (non-zero length) text or number other than 
williamr@2
   385
     * EAknSettingPageNoOrdinalDisplayed if given in this constructor will not
williamr@2
   386
     * override resource (unless that is zero length or 
williamr@2
   387
     * EAknSettingPageNoOrdinalDisplayed).  Note, however, that text or number
williamr@2
   388
     * given via the specific API for setting them, WILL override resource.
williamr@2
   389
     * It is assumed that number from resource is very rare.  Special text is
williamr@2
   390
     * somewhat more likely.
williamr@2
   391
     * 
williamr@2
   392
     * @param aSettingTitleText Text at top of setting pane
williamr@2
   393
     * @param aSettingNumber        Number at top left (if present)
williamr@2
   394
     * @param aControlType          Determines the type constructed and how its
williamr@2
   395
     *                              resource is read
williamr@2
   396
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
   397
     *                          (if present)
williamr@2
   398
     * @param aSettingPageResourceId        Setting Page to use (if present)
williamr@2
   399
     * @param aTimeValue                reference to a time
williamr@2
   400
     */
williamr@2
   401
    IMPORT_C CAknTimeSettingPage(   const TDesC* aSettingTitleText, 
williamr@2
   402
                                TInt aSettingNumber, 
williamr@2
   403
                                TInt aControlType,
williamr@2
   404
                                TInt aEditorResourceId, 
williamr@2
   405
                                TInt aSettingPageResourceId,    
williamr@2
   406
                                TTime& aTimeValue );
williamr@2
   407
williamr@2
   408
    /**
williamr@2
   409
    * Specific 2nd stage contructor for this type. Construction is performed
williamr@2
   410
    * according to the resources and parameters set in the C++ constructors
williamr@2
   411
    *
williamr@2
   412
    */ 
williamr@2
   413
    IMPORT_C virtual void ConstructL();
williamr@2
   414
williamr@2
   415
    /**
williamr@2
   416
     * Type-specific access to the editor 
williamr@2
   417
     */
williamr@2
   418
    IMPORT_C CEikTimeEditor* TimeEditor();
williamr@2
   419
williamr@2
   420
    /**
williamr@2
   421
    *  From CCoeControl
williamr@2
   422
    */ 
williamr@2
   423
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   424
williamr@2
   425
protected:
williamr@2
   426
williamr@2
   427
    /**
williamr@2
   428
    * Destructor
williamr@2
   429
    */
williamr@2
   430
    IMPORT_C virtual ~CAknTimeSettingPage();
williamr@2
   431
williamr@2
   432
    /**
williamr@2
   433
    * This framework method is called when the editor changes its value and 
williamr@2
   434
    * the mode of execution of the setting page is a continuous update mode.
williamr@2
   435
    *
williamr@2
   436
    */
williamr@2
   437
    IMPORT_C virtual void UpdateSettingL();
williamr@2
   438
williamr@2
   439
    /**
williamr@2
   440
    * Called when the user has accepted the value.
williamr@2
   441
    * The external value is updated once again, in case we were not in
williamr@2
   442
    * continuous update mode. 
williamr@2
   443
    * A specific observer event is generated for the observer to say that the
williamr@2
   444
    * value is accepted.
williamr@2
   445
    */
williamr@2
   446
    IMPORT_C virtual void AcceptSettingL();
williamr@2
   447
    /**
williamr@2
   448
    * The backup value, stored at construction time, is re-loaded into the 
williamr@2
   449
    * referenced Date.
williamr@2
   450
    * An event is sent to the observer saying that the event was dismissed.
williamr@2
   451
    */
williamr@2
   452
    IMPORT_C virtual void RestoreOriginalSettingL();
williamr@2
   453
    
williamr@2
   454
//
williamr@2
   455
// CoeControl Framework and reserved methods
williamr@2
   456
//
williamr@2
   457
protected:
williamr@2
   458
williamr@2
   459
/**
williamr@2
   460
 * Writes the internal state of the control and its components to aStream.
williamr@2
   461
 * Does nothing in release mode.
williamr@2
   462
 * Designed to be overidden and base called by subclasses.
williamr@2
   463
 *
williamr@2
   464
 * @param   aWriteSteam     A connected write stream
williamr@2
   465
 */ 
williamr@2
   466
    IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   467
williamr@2
   468
private:
williamr@2
   469
williamr@2
   470
/**
williamr@2
   471
 *  Reserved method derived from CCoeControl
williamr@2
   472
 */
williamr@2
   473
    IMPORT_C virtual void Reserved_2();
williamr@2
   474
williamr@2
   475
private:
williamr@2
   476
    /**
williamr@2
   477
    * From CAknControl
williamr@2
   478
    */
williamr@2
   479
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   480
williamr@2
   481
/**
williamr@2
   482
 * New reserved methods for CAknSettingPage hierarchy
williamr@2
   483
 */ 
williamr@2
   484
private: 
williamr@2
   485
    IMPORT_C virtual void CAknSettingPage_Reserved_1();
williamr@2
   486
    IMPORT_C virtual void CAknSettingPage_Reserved_2();
williamr@2
   487
williamr@2
   488
williamr@2
   489
private:
williamr@2
   490
    TTime& iTimeValue;
williamr@2
   491
    TTime iBackupTimeValue;
williamr@2
   492
williamr@2
   493
};
williamr@2
   494
williamr@2
   495
/** 
williamr@2
   496
 *
williamr@2
   497
 * This class is used for entering duration in a "Code" setting page
williamr@2
   498
 *
williamr@2
   499
 */
williamr@2
   500
class CAknDurationSettingPage : public CAknMfneSettingPage
williamr@2
   501
{
williamr@2
   502
public:
williamr@2
   503
    /**
williamr@2
   504
     * Constructor using purely Setting page resource
williamr@2
   505
     *
williamr@2
   506
     * @param   aResourceId     Setting page resource Id
williamr@2
   507
     * @param   aDurationValue      Reference to the maintained duration value
williamr@2
   508
     */
williamr@2
   509
    IMPORT_C CAknDurationSettingPage(
williamr@2
   510
        TInt                    aResourceID, 
williamr@2
   511
        TTimeIntervalSeconds&   aDurationValue);
williamr@2
   512
    /**
williamr@2
   513
     * Constructor that allows separate setting page and editor resources
williamr@2
   514
     * 
williamr@2
   515
     * This constructor allows the use of setting page using only the editor 
williamr@2
   516
     * resource.  Other combinations are also possible
williamr@2
   517
     *
williamr@2
   518
     * In all cases the number (if supplied i.e. <> 0 ) is used.  
williamr@2
   519
     *
williamr@2
   520
     *      Editor Resource     Setting Page Resource
williamr@2
   521
     *          present             present             Both are used 
williamr@2
   522
     *                                                  (but text & number 
williamr@2
   523
     *                                                  overridden)
williamr@2
   524
     *           = 0                    present         Editor resource is used
williamr@2
   525
     *                                                  via SP resource 
williamr@2
   526
     *                                                  (Effectively like the 
williamr@2
   527
     *                                                  other constructor)
williamr@2
   528
     *          present             = 0                 Default Avkon SP 
williamr@2
   529
     *                                                  resource if used + this
williamr@2
   530
     *                                                  editor resource
williamr@2
   531
     *           = 0                    = 0             uses default resource 
williamr@2
   532
     *                                                  for both SP and editor.
williamr@2
   533
     *                                                  This is OK if:
williamr@2
   534
     *   i) control type is present, 
williamr@2
   535
     *  ii) a default resource exists ( OK for text, integer, 
williamr@2
   536
     *      date, time, duration )
williamr@2
   537
     *
williamr@2
   538
     * Note: The first argument is a TDesC* (rather than TDesC&) because the 
williamr@2
   539
     * other constructor cannot initialize such a member without allocation or
williamr@2
   540
     * having an internal dummy buffer.
williamr@2
   541
     * Note that this descriptor must be owned by the client at least until the
williamr@2
   542
     * ExecuteLD().
williamr@2
   543
     *
williamr@2
   544
     * Rules for text and numbers: The rules are the same for both:
williamr@2
   545
     * (non-zero length) text or number other than 
williamr@2
   546
     * EAknSettingPageNoOrdinalDisplayed if given in this constructor will not
williamr@2
   547
     * override resource (unless that is zero length or 
williamr@2
   548
     * EAknSettingPageNoOrdinalDisplayed).  Note, however, that text or number
williamr@2
   549
     * given via the specific API for setting them, WILL override resource.
williamr@2
   550
     * It is assumed that number from resource is very rare.  Special text is
williamr@2
   551
     * somewhat more likely.
williamr@2
   552
     * 
williamr@2
   553
     * @param aSettingTitleText Text at top of setting pane; OWNED EXTERNALLY
williamr@2
   554
     * @param aSettingNumber        Number at top left (if present)
williamr@2
   555
     * @param aControlType          Determines the type constructed and how its
williamr@2
   556
     *                              resource is read
williamr@2
   557
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
   558
     *                          (if present)
williamr@2
   559
     * @param aSettingPageResourceId        Setting Page to use (if present)
williamr@2
   560
     * @param aDurationValue                reference to a duration
williamr@2
   561
     */
williamr@2
   562
    IMPORT_C CAknDurationSettingPage(   const TDesC* aSettingTitleText, 
williamr@2
   563
                                TInt aSettingNumber, 
williamr@2
   564
                                TInt aControlType,
williamr@2
   565
                                TInt aEditorResourceId, 
williamr@2
   566
                                TInt aSettingPageResourceId,    
williamr@2
   567
                                TTimeIntervalSeconds&   aDurationValue);
williamr@2
   568
williamr@2
   569
    /**
williamr@2
   570
    * Specific 2nd stage contructor for this type. Construction is performed
williamr@2
   571
    * according to the resources and parameters set in the C++ constructors
williamr@2
   572
    *
williamr@2
   573
    */ 
williamr@2
   574
    IMPORT_C virtual void ConstructL();
williamr@2
   575
    /**
williamr@2
   576
     * Type-specific access to the editor 
williamr@2
   577
     */
williamr@2
   578
    IMPORT_C CEikDurationEditor* DurationEditor();
williamr@2
   579
    /**
williamr@2
   580
     * From CCoeControl.     
williamr@2
   581
     * Handles pointer events
williamr@2
   582
     */
williamr@2
   583
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   584
williamr@2
   585
protected:
williamr@2
   586
    /**
williamr@2
   587
    * Destructor
williamr@2
   588
    */
williamr@2
   589
    IMPORT_C virtual ~CAknDurationSettingPage();
williamr@2
   590
williamr@2
   591
    /**
williamr@2
   592
    * This framework method is called when the editor changes its value and 
williamr@2
   593
    * the mode of execution of the setting page is a continuous update mode.
williamr@2
   594
    *
williamr@2
   595
    */
williamr@2
   596
    IMPORT_C virtual void UpdateSettingL();
williamr@2
   597
williamr@2
   598
    /**
williamr@2
   599
    * Called when the user has accepted the value.
williamr@2
   600
    * The external value is updated once again, in case we were not in
williamr@2
   601
    * continuous update mode. 
williamr@2
   602
    * A specific observer event is generated for the observer to say that the
williamr@2
   603
    * value is accepted.
williamr@2
   604
    */
williamr@2
   605
    IMPORT_C virtual void AcceptSettingL();
williamr@2
   606
williamr@2
   607
    /**
williamr@2
   608
    * The backup value, stored at construction time, is re-loaded into the 
williamr@2
   609
    * referenced Date.
williamr@2
   610
    * An event is sent to the observer saying that the event was dismissed.
williamr@2
   611
    */
williamr@2
   612
    IMPORT_C virtual void RestoreOriginalSettingL();
williamr@2
   613
    
williamr@2
   614
//
williamr@2
   615
// CoeControl Framework and reserved methods
williamr@2
   616
//
williamr@2
   617
protected:
williamr@2
   618
williamr@2
   619
/**
williamr@2
   620
 * Writes the internal state of the control and its components to aStream.
williamr@2
   621
 * Does nothing in release mode.
williamr@2
   622
 * Designed to be overidden and base called by subclasses.
williamr@2
   623
 *
williamr@2
   624
 * @param   aWriteSteam     A connected write stream
williamr@2
   625
 */ 
williamr@2
   626
    IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   627
williamr@2
   628
private:
williamr@2
   629
/**
williamr@2
   630
 *  Reserved method derived from CCoeControl
williamr@2
   631
 */
williamr@2
   632
    IMPORT_C virtual void Reserved_2();
williamr@2
   633
williamr@2
   634
private:
williamr@2
   635
    /**
williamr@2
   636
    * From CAknControl
williamr@2
   637
    */
williamr@2
   638
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   639
williamr@2
   640
/**
williamr@2
   641
 * New reserved methods for CAknSettingPage hierarchy
williamr@2
   642
 */ 
williamr@2
   643
private: 
williamr@2
   644
    IMPORT_C virtual void CAknSettingPage_Reserved_1();
williamr@2
   645
    IMPORT_C virtual void CAknSettingPage_Reserved_2();
williamr@2
   646
williamr@2
   647
private:
williamr@2
   648
    TTimeIntervalSeconds& iDurationValue;
williamr@2
   649
    TTimeIntervalSeconds iBackupDurationValue;
williamr@2
   650
};
williamr@2
   651
williamr@2
   652
williamr@2
   653
/**
williamr@2
   654
*  Time offset setting page.
williamr@2
   655
*
williamr@2
   656
*  @lib avkon
williamr@2
   657
*  @since 2.0
williamr@2
   658
*/
williamr@2
   659
williamr@2
   660
class CAknTimeOffsetSettingPage : public CAknMfneSettingPage
williamr@2
   661
{
williamr@2
   662
public:
williamr@2
   663
    /**
williamr@2
   664
     * Constructor using purely Setting page resource
williamr@2
   665
     *
williamr@2
   666
     * @since 2.0
williamr@2
   667
     * @param   aResourceId     Setting page resource Id
williamr@2
   668
     * @param   aTimeOffsetValue        Reference to the maintained 
williamr@2
   669
     *                                  offset value
williamr@2
   670
     */
williamr@2
   671
    IMPORT_C CAknTimeOffsetSettingPage(
williamr@2
   672
        TInt                    aResourceID, 
williamr@2
   673
        TTimeIntervalSeconds&   aTimeOffsetValue);
williamr@2
   674
    /**
williamr@2
   675
     * Constructor that allows separate setting page and editor resources
williamr@2
   676
     * 
williamr@2
   677
     * This constructor allows the use of setting page using only the editor 
williamr@2
   678
     * resource. Other combinations are also possible
williamr@2
   679
     *
williamr@2
   680
     * In all cases the number (if supplied i.e. <> 0 ) is used.  
williamr@2
   681
     *
williamr@2
   682
     *      Editor Resource     Setting Page Resource
williamr@2
   683
     *          present             present             Both are used 
williamr@2
   684
     *                                                  (but text & number 
williamr@2
   685
     *                                                  overridden)
williamr@2
   686
     *           = 0                present             Editor resource is 
williamr@2
   687
     *                                                  used via SP resource 
williamr@2
   688
     *                                                  (Effectively like the 
williamr@2
   689
     *                                                  other constructor)
williamr@2
   690
     *          present             = 0                 Default Avkon SP 
williamr@2
   691
     *                                                  resource if used + 
williamr@2
   692
     *                                                  this editor resource
williamr@2
   693
     *           = 0                = 0                 uses default resource 
williamr@2
   694
     *                                                  for both SP and editor. 
williamr@2
   695
     *                                                  This is OK if:
williamr@2
   696
     * i) control type is present, 
williamr@2
   697
     * ii) a default resource exists ( OK for text, integer, 
williamr@2
   698
     *     date, time, duration )
williamr@2
   699
     *
williamr@2
   700
     * Note: The first argument is a TDesC* (rather than TDesC&) because 
williamr@2
   701
     * the other constructor cannot initialize such a member without allocation
williamr@2
   702
     * or having an internal dummy buffer.
williamr@2
   703
     * Note that this descriptor must be owned by the client at least until the
williamr@2
   704
     * ExecuteLD().
williamr@2
   705
     *
williamr@2
   706
     * Rules for text and numbers: The rules are the same for both:  
williamr@2
   707
     * (non-zero length) text or number other than 
williamr@2
   708
     * EAknSettingPageNoOrdinalDisplayed if given in this constructor will not 
williamr@2
   709
     * override resource (unless that is zero length or 
williamr@2
   710
     * EAknSettingPageNoOrdinalDisplayed).  Note, however, that text or number 
williamr@2
   711
     * given via the specific API for setting them, WILL override resource.
williamr@2
   712
     * It is assumed that number from resource is very rare.  Special text is 
williamr@2
   713
     * somewhat more likely.
williamr@2
   714
     * 
williamr@2
   715
     * @since 2.0
williamr@2
   716
     * @param aSettingTitleText Text at top of setting pane; OWNED EXTERNALLY
williamr@2
   717
     * @param aSettingNumber        Number at top left (if present)
williamr@2
   718
     * @param aControlType          Determines the type constructed 
williamr@2
   719
     *                              and how its resource is read
williamr@2
   720
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
   721
     *                                 (if present)
williamr@2
   722
     * @param aSettingPageResourceId        Setting Page to use (if present)
williamr@2
   723
     * @param aTimeOffsetValue              reference to time offset
williamr@2
   724
     */
williamr@2
   725
    IMPORT_C CAknTimeOffsetSettingPage( const TDesC* aSettingTitleText, 
williamr@2
   726
                                TInt aSettingNumber, 
williamr@2
   727
                                TInt aControlType,
williamr@2
   728
                                TInt aEditorResourceId, 
williamr@2
   729
                                TInt aSettingPageResourceId,    
williamr@2
   730
                                TTimeIntervalSeconds&   aTimeOffsetValue);
williamr@2
   731
williamr@2
   732
    /**
williamr@2
   733
    * Specific 2nd stage contructor for this type. Construction is performed
williamr@2
   734
    * according to the resources and parameters set in the C++ constructors
williamr@2
   735
    *
williamr@2
   736
    */ 
williamr@2
   737
    IMPORT_C virtual void ConstructL();
williamr@2
   738
    /**
williamr@2
   739
     * Type-specific access to the editor 
williamr@2
   740
     */
williamr@2
   741
    IMPORT_C CEikTimeOffsetEditor* TimeOffsetEditor();
williamr@2
   742
    /**
williamr@2
   743
    *  From CCoeControl
williamr@2
   744
    */	
williamr@2
   745
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   746
williamr@2
   747
protected:
williamr@2
   748
    /**
williamr@2
   749
    * Destructor
williamr@2
   750
    */
williamr@2
   751
    IMPORT_C virtual ~CAknTimeOffsetSettingPage();
williamr@2
   752
williamr@2
   753
    /**
williamr@2
   754
    * This framework method is called when the editor changes its 
williamr@2
   755
    * value and the mode of execution of the setting page is a continuous 
williamr@2
   756
    * update mode.
williamr@2
   757
    *
williamr@2
   758
    * @since 2.0
williamr@2
   759
    */
williamr@2
   760
    IMPORT_C virtual void UpdateSettingL();
williamr@2
   761
williamr@2
   762
    /**
williamr@2
   763
    * Called when the user has accepted the value.
williamr@2
   764
    * The external value is updated once again, in case we were not in
williamr@2
   765
    * continuous update mode. 
williamr@2
   766
    * A specific observer event is generated for the observer to say that the
williamr@2
   767
    * value is accepted.
williamr@2
   768
    *
williamr@2
   769
    * @since 2.0
williamr@2
   770
    */
williamr@2
   771
    IMPORT_C virtual void AcceptSettingL();
williamr@2
   772
williamr@2
   773
    /**
williamr@2
   774
    * The backup value, stored at construction time, is re-loaded into the 
williamr@2
   775
    * referenced Date.
williamr@2
   776
    * An event is sent to the observer saying that the event was dismissed.
williamr@2
   777
    *
williamr@2
   778
    * @since 2.0
williamr@2
   779
    */
williamr@2
   780
    IMPORT_C virtual void RestoreOriginalSettingL();
williamr@2
   781
    
williamr@2
   782
//
williamr@2
   783
// CoeControl Framework and reserved methods
williamr@2
   784
//
williamr@2
   785
protected:
williamr@2
   786
williamr@2
   787
/**
williamr@2
   788
 * Writes the internal state of the control and its components to aStream.
williamr@2
   789
 * Does nothing in release mode.
williamr@2
   790
 * Designed to be overidden and base called by subclasses.
williamr@2
   791
 *
williamr@2
   792
 * @since 2.0
williamr@2
   793
 * @param   aWriteSteam     A connected write stream
williamr@2
   794
 */ 
williamr@2
   795
    IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   796
williamr@2
   797
private:
williamr@2
   798
/**
williamr@2
   799
 *  Reserved method derived from CCoeControl
williamr@2
   800
 *
williamr@2
   801
 * @since 2.0
williamr@2
   802
 */
williamr@2
   803
    IMPORT_C virtual void Reserved_2();
williamr@2
   804
williamr@2
   805
private:
williamr@2
   806
    /**
williamr@2
   807
    * From CAknControl
williamr@2
   808
    */
williamr@2
   809
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   810
williamr@2
   811
/**
williamr@2
   812
 * New reserved methods for CAknSettingPage hierarchy
williamr@2
   813
 */ 
williamr@2
   814
private: 
williamr@2
   815
    IMPORT_C virtual void CAknSettingPage_Reserved_1();
williamr@2
   816
    IMPORT_C virtual void CAknSettingPage_Reserved_2();
williamr@2
   817
williamr@2
   818
private:
williamr@2
   819
    TTimeIntervalSeconds& iTimeOffsetValue;
williamr@2
   820
    TTimeIntervalSeconds iBackupTimeOffsetValue;
williamr@2
   821
williamr@2
   822
};
williamr@2
   823
/** 
williamr@2
   824
 *
williamr@2
   825
 * Setting page class for entering an IP Address
williamr@2
   826
 *
williamr@2
   827
 */
williamr@2
   828
class CAknIpFieldSettingPage : public CAknMfneSettingPage
williamr@2
   829
{
williamr@2
   830
public:
williamr@2
   831
    /**
williamr@2
   832
     * Constructor using purely Setting page resource
williamr@2
   833
     *
williamr@2
   834
     * @param   aResourceId     Setting page resource Id
williamr@2
   835
     * @param   aIpAddress      Reference to the maintained IP address
williamr@2
   836
     */
williamr@2
   837
    IMPORT_C CAknIpFieldSettingPage(
williamr@2
   838
        TInt                    aResourceID, 
williamr@2
   839
        TInetAddr&          aIpAddress);
williamr@2
   840
    /**
williamr@2
   841
     * Constructor that allows separate setting page and editor resources
williamr@2
   842
     * 
williamr@2
   843
     * This constructor allows the use of setting page using only the editor 
williamr@2
   844
     * resource.  Other combinations are also possible
williamr@2
   845
     *
williamr@2
   846
     * In all cases the number (if supplied i.e. <> 0 ) is used.  
williamr@2
   847
     *
williamr@2
   848
     *      Editor Resource     Setting Page Resource
williamr@2
   849
     *          present             present             Both are used (but text
williamr@2
   850
     *                                                  & number overridden)
williamr@2
   851
     *           = 0                    present         Editor resource is 
williamr@2
   852
     *                                                  used via SP resource 
williamr@2
   853
     *                                                  (Effectively like the 
williamr@2
   854
     *                                                  other constructor)
williamr@2
   855
     *          present             = 0                 Default Avkon SP 
williamr@2
   856
     *                                                  resource if used + this
williamr@2
   857
     *                                                  editor resource
williamr@2
   858
     *           = 0                    = 0             uses default resource 
williamr@2
   859
     *                                                  for both SP and editor. 
williamr@2
   860
     *                                                  This is OK if:
williamr@2
   861
     *   i) control type is present, 
williamr@2
   862
     *  ii) a default resource exists ( OK for text, integer, 
williamr@2
   863
     *      date, time, duration )
williamr@2
   864
     *
williamr@2
   865
     * Note: The first argument is a TDesC* (rather than TDesC&) because the 
williamr@2
   866
     * other constructor cannot initialize such a member without allocation 
williamr@2
   867
     * or having an internal dummy buffer.
williamr@2
   868
     * Note that this descriptor must be owned by the client at least until 
williamr@2
   869
     * the ExecuteLD().
williamr@2
   870
     *
williamr@2
   871
     * Rules for text and numbers: The rules are the same for both: 
williamr@2
   872
     * (non-zero length) text or number other than 
williamr@2
   873
     * EAknSettingPageNoOrdinalDisplayed if given in this constructor will not 
williamr@2
   874
     * override resource (unless that is zero length or 
williamr@2
   875
     * EAknSettingPageNoOrdinalDisplayed).  Note, however, that text or number 
williamr@2
   876
     * given via the specific API for setting them, WILL override resource.
williamr@2
   877
     * It is assumed that number from resource is very rare. Special text is 
williamr@2
   878
     * somewhat more likely.
williamr@2
   879
     * 
williamr@2
   880
     * @param aSettingTitleText Text at top of setting pane; OWNED EXTERNALLY
williamr@2
   881
     * @param aSettingNumber        Number at top left (if present)
williamr@2
   882
     * @param aControlType          Determines the type constructed and how its 
williamr@2
   883
     *                              resource is read
williamr@2
   884
     * @param aEditorResourceId Editor resource to use in the setting page 
williamr@2
   885
     *                          (if present)
williamr@2
   886
     * @param aSettingPageResourceId        Setting Page to use (if present)
williamr@2
   887
     * @param aIpAddress                reference to a duration
williamr@2
   888
     */
williamr@2
   889
    IMPORT_C CAknIpFieldSettingPage(    const TDesC* aSettingTitleText, 
williamr@2
   890
                                TInt aSettingNumber, 
williamr@2
   891
                                TInt aControlType,
williamr@2
   892
                                TInt aEditorResourceId, 
williamr@2
   893
                                TInt aSettingPageResourceId,    
williamr@2
   894
                                TInetAddr&  aIpAddress);
williamr@2
   895
williamr@2
   896
    /**
williamr@2
   897
    * Specific 2nd stage contructor for this type. Construction is performed
williamr@2
   898
    * according to the resources and parameters set in the C++ constructors
williamr@2
   899
    *
williamr@2
   900
    */ 
williamr@2
   901
    IMPORT_C virtual void ConstructL();
williamr@2
   902
    /**
williamr@2
   903
     * Type-specific access to the editor 
williamr@2
   904
     */
williamr@2
   905
    IMPORT_C CAknIpFieldEditor* IpFieldEditor();
williamr@2
   906
williamr@2
   907
    /**
williamr@2
   908
    *  From CCoeControl
williamr@2
   909
    */	 
williamr@2
   910
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   911
williamr@2
   912
protected:
williamr@2
   913
    /**
williamr@2
   914
    * Destructor
williamr@2
   915
    */
williamr@2
   916
    IMPORT_C virtual ~CAknIpFieldSettingPage();
williamr@2
   917
williamr@2
   918
    /**
williamr@2
   919
    * This framework method is called when the editor changes its value and 
williamr@2
   920
    * the mode of execution of the setting page is a continuous update mode.
williamr@2
   921
    *
williamr@2
   922
    */
williamr@2
   923
    IMPORT_C virtual void UpdateSettingL();
williamr@2
   924
williamr@2
   925
    /**
williamr@2
   926
    * Called when the user has accepted the value.
williamr@2
   927
    * The external value is updated once again, in case we were not in
williamr@2
   928
    * continuous update mode. 
williamr@2
   929
    * A specific observer  event is generated for the observer to say that the
williamr@2
   930
    * value is accepted.
williamr@2
   931
    */
williamr@2
   932
    IMPORT_C virtual void AcceptSettingL();
williamr@2
   933
williamr@2
   934
    /**
williamr@2
   935
    * The backup value, stored at construction time, is re-loaded into 
williamr@2
   936
    * the referenced Date.
williamr@2
   937
    * An event is sent to the observer saying that the event was dismissed.
williamr@2
   938
    */
williamr@2
   939
    IMPORT_C virtual void RestoreOriginalSettingL();
williamr@2
   940
williamr@2
   941
//
williamr@2
   942
// CoeControl Framework and reserved methods
williamr@2
   943
//
williamr@2
   944
protected:
williamr@2
   945
williamr@2
   946
/**
williamr@2
   947
 * Writes the internal state of the control and its components to aStream.
williamr@2
   948
 * Does nothing in release mode.
williamr@2
   949
 * Designed to be overidden and base called by subclasses.
williamr@2
   950
 *
williamr@2
   951
 * @param   aWriteSteam     A connected write stream
williamr@2
   952
 */ 
williamr@2
   953
    IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   954
williamr@2
   955
private:
williamr@2
   956
    
williamr@2
   957
/**
williamr@2
   958
 *  Reserved method derived from CCoeControl
williamr@2
   959
 */
williamr@2
   960
    IMPORT_C virtual void Reserved_2();
williamr@2
   961
williamr@2
   962
private:
williamr@2
   963
    /**
williamr@2
   964
    * From CAknControl
williamr@2
   965
    */
williamr@2
   966
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   967
williamr@2
   968
/**
williamr@2
   969
 * New reserved methods for CAknSettingPage hierarchy
williamr@2
   970
 */ 
williamr@2
   971
private: 
williamr@2
   972
    IMPORT_C virtual void CAknSettingPage_Reserved_1();
williamr@2
   973
    IMPORT_C virtual void CAknSettingPage_Reserved_2();
williamr@2
   974
    
williamr@2
   975
private:
williamr@2
   976
    TInetAddr& iIpAddress;
williamr@2
   977
    TInetAddr iBackupIpAddress; // Not a reference
williamr@2
   978
williamr@2
   979
    };
williamr@2
   980
#endif