epoc32/include/app/CPbk2ViewState.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
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@4
     1
/*
williamr@4
     2
* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
williamr@4
     3
* All rights reserved.
williamr@4
     4
* This component and the accompanying materials are made available
williamr@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@4
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@4
     8
*
williamr@4
     9
* Initial Contributors:
williamr@4
    10
* Nokia Corporation - initial contribution.
williamr@4
    11
*
williamr@4
    12
* Contributors:
williamr@4
    13
*
williamr@4
    14
* Description:  Phonebook 2 view state.
williamr@4
    15
*
williamr@4
    16
*/
williamr@4
    17
williamr@4
    18
williamr@4
    19
williamr@4
    20
/**
williamr@4
    21
 *  VIEW STATE BINARY STREAM FORMAT
williamr@4
    22
 *
williamr@4
    23
 *  - View parameter UID is 0x102072a0
williamr@4
    24
 *
williamr@4
    25
 *  - Format of the stream in (slightly freeform) EBNF:
williamr@4
    26
 *
williamr@4
    27
 *  stream  ::= version , { command } ;
williamr@4
    28
 *  version ::= Int8(1) ;
williamr@4
    29
 *  command ::= Int8(EFocusedContact) , contactlink ;
williamr@4
    30
 *  command ::= Int8(ETopContact) , contactlink ;
williamr@4
    31
 *  command ::= Int8(EMarkedContacts) , Uint16(length) , MVPbkContactLinkArray(links) ;
williamr@4
    32
 *  command ::= Int8(EFocusedFieldIndex) , Int32(index) ;
williamr@4
    33
 *  command ::= Int8(ETopFieldIndex) , Int32(index) ;
williamr@4
    34
 *  command ::= Int8(EParentContact) , contactlink ;
williamr@4
    35
 *  command ::= Int8(EFocusedPropertiesIndex) , Int32(index) ;
williamr@4
    36
 *  command ::= Int8(ETopPropertiesIndex) , Int32(index) ;
williamr@4
    37
 *  command ::= Int8(EFlags) , Int32(flags) ;
williamr@4
    38
 *  command ::= EEnd ; // no further commands are read after EEnd,
williamr@4
    39
 *                     // EEnd is not mandatory in a stream
williamr@4
    40
 *  contactlink ::= Uint16(length) , MVPbkContactLink(link) ;
williamr@4
    41
 *
williamr@4
    42
 *  Constants:
williamr@4
    43
 *      EEnd                    = 0,
williamr@4
    44
 *      EFocusedContact         = 1,
williamr@4
    45
 *      ETopContact             = 2,
williamr@4
    46
 *      EMarkedContacts         = 3,
williamr@4
    47
 *      EFocusedFieldIndex      = 4,
williamr@4
    48
 *      ETopFieldIndex          = 5,
williamr@4
    49
 *      EParentContact          = 6
williamr@4
    50
 *      EFlags                  = 7
williamr@4
    51
 *      EFocusedPropertiesIndex = 8,
williamr@4
    52
 *      ETopPropertiesIndex     = 9,
williamr@4
    53
 *
williamr@4
    54
 *  - Example:
williamr@4
    55
 *  Activate Phonebook2's contact info view to show a contact
williamr@4
    56
 *  with field at index 3 focused. This example assumes there
williamr@4
    57
 *  is a contactLink variable of type MVPbkContactLink.
williamr@4
    58
 *
williamr@4
    59
 *  // Write parameters in a buffer
williamr@4
    60
 *  TBuf8<256> param;
williamr@4
    61
 *  RDesWriteStream stream( param );
williamr@4
    62
 *  stream.PushL();
williamr@4
    63
 *  stream.WriteInt8L(1);                   // version number
williamr@4
    64
 *  stream.WriteInt8L( 1 );                 // opcode EFocusedContact
williamr@4
    65
 *  HBufC8* buf = contactLink->PackLC();   // pack the contact link
williamr@4
    66
 *  stream.WriteUint16L( buf->Length() );   // write link length
williamr@4
    67
 *  stream.WriteL( *buf );                  // write the actual link buffer
williamr@4
    68
 *  CleanupStack::PopAndDestroy();         // cleanup buf
williamr@4
    69
 *  stream.WriteInt8L( 4 );                 // opcode EFocusedFieldIndex
williamr@4
    70
 *  stream.WriteInt32L( 3 );                // field index 3
williamr@4
    71
 *  stream.CommitL();
williamr@4
    72
 *  CleanupStack::PopAndDestroy();         // cleanup stream
williamr@4
    73
 *
williamr@4
    74
 *  // Make view id with Phonebook2's app UID3 and Contact Info View's id
williamr@4
    75
 *  // (view ids are defined in Pbk2ViewId.hrh)
williamr@4
    76
 *  const TVwsViewId viewId( TUid::Uid(0x101f4cce), 4 );
williamr@4
    77
 *
williamr@4
    78
 *  // Activate the view
williamr@4
    79
 *  AppUi()->ActivateViewL( viewId, TUid::Uid( 0x102072a0 ), param );
williamr@4
    80
 *
williamr@4
    81
 *
williamr@4
    82
 *  - Same example as above, now using CPbk2ViewState:
williamr@4
    83
 *
williamr@4
    84
 *  #include <Pbk2UID.h>           // Phonebook 2 UIDs
williamr@4
    85
 *  #include <CPbk2ViewState.h>    // need also to add Pbk2CommonUI.lib
williamr@4
    86
 *                                 // into projects .mmp
williamr@4
    87
 *
williamr@4
    88
 *  CPbk2ViewState* pbk2ViewParam = CPbk2ViewState::NewLC();
williamr@4
    89
 *  pbk2ViewParam->SetFocusedContact( contactLink );
williamr@4
    90
 *  pbk2ViewParam->SetFocusedFieldIndex( 3 );
williamr@4
    91
 *  HBufC8* paramBuf = pbk2ViewParam->PackLC();
williamr@4
    92
 *
williamr@4
    93
 *  // Make view id with Phonebook2's app UID3 and Contact Info View's id
williamr@4
    94
 *  const TVwsViewId viewId( TUid::Uid(0x101f4cce), EPbk2ContactInfoViewId );
williamr@4
    95
 *
williamr@4
    96
 *  // Activate the view
williamr@4
    97
 *  AppUi()->ActivateViewL( viewId, CPbk2ViewState::Uid(), *paramBuf );
williamr@4
    98
 *
williamr@4
    99
 *  // Cleanup
williamr@4
   100
 *  CleanupStack::PopAndDestroy( 2 ); // paramBuf, pbk2ViewParam
williamr@4
   101
 *
williamr@4
   102
 *  - The latter example is cleaner, but using CPbk2ViewState from your
williamr@4
   103
 *  application means that your application will have a dependency to
williamr@4
   104
 *  CPbk2ViewState.h and Pbk2CommonUI.lib at compile time and to
williamr@4
   105
 *  Pbk2CommonUI.dll at run time.
williamr@4
   106
 */
williamr@4
   107
williamr@4
   108
#ifndef CPBK2VIEWSTATE_H
williamr@4
   109
#define CPBK2VIEWSTATE_H
williamr@4
   110
williamr@4
   111
//  INCLUDES
williamr@4
   112
#include <e32base.h>
williamr@4
   113
williamr@4
   114
// FORWARD DECLARATIONS
williamr@4
   115
class RReadStream;
williamr@4
   116
class RWriteStream;
williamr@4
   117
class MVPbkContactLink;
williamr@4
   118
class MVPbkContactLinkArray;
williamr@4
   119
williamr@4
   120
// CLASS DECLARATION
williamr@4
   121
williamr@4
   122
/**
williamr@4
   123
 * Phonebook 2 view state.
williamr@4
   124
 *
williamr@4
   125
 * Responsible for storing the state of a Phonebook 2 view.
williamr@4
   126
 * The state includes, for example, focused contact, focused
williamr@4
   127
 * contact field and other information for restoring the state later.
williamr@4
   128
 * This state object can be externalized to a buffer and
williamr@4
   129
 * initialized from a buffer.
williamr@4
   130
 */
williamr@4
   131
class CPbk2ViewState : public CBase
williamr@4
   132
    {
williamr@4
   133
    public: // Types
williamr@4
   134
williamr@4
   135
        /// View state data types
williamr@4
   136
        enum TDataType
williamr@4
   137
            {
williamr@4
   138
            EEnd = 0,
williamr@4
   139
            /// Focused contact
williamr@4
   140
            EFocusedContact,
williamr@4
   141
            // Top most contact of the view
williamr@4
   142
            ETopContact,
williamr@4
   143
            /// Array of marked contacts
williamr@4
   144
            EMarkedContacts,
williamr@4
   145
            /// Index of the focused field
williamr@4
   146
            EFocusedFieldIndex,
williamr@4
   147
            /// Index of the topmost field of the view
williamr@4
   148
            ETopFieldIndex,
williamr@4
   149
            /// Parent contact
williamr@4
   150
            EParentContact,
williamr@4
   151
            /// View state flags
williamr@4
   152
            EFlags,
williamr@4
   153
            /// Index of the focused properties item
williamr@4
   154
            EFocusedPropertiesIndex,
williamr@4
   155
            /// Index of the topmost properties item of the view
williamr@4
   156
            ETopPropertiesIndex
williamr@4
   157
            };
williamr@4
   158
williamr@4
   159
        /// View state flags
williamr@4
   160
        enum TFlags
williamr@4
   161
            {
williamr@4
   162
            /// Reset flags
williamr@4
   163
            ENullFlags = 0,
williamr@4
   164
            /// Focus the first item in list views
williamr@4
   165
            EFocusFirst  = 0x0001,
williamr@4
   166
            /// Focus the last item in list views
williamr@4
   167
            EFocusLast   = 0x0002,
williamr@4
   168
            /// Reset state to the view's initial state
williamr@4
   169
            EInitialized = 0x0004,
williamr@4
   170
            /// Send application to background
williamr@4
   171
            ESendToBackground = 0x0008
williamr@4
   172
            };
williamr@4
   173
williamr@4
   174
    public: // Constructors and destructor
williamr@4
   175
williamr@4
   176
        /**
williamr@4
   177
         * Creates a new instace of this class.
williamr@4
   178
         *
williamr@4
   179
         * @return  A new instance of this class.
williamr@4
   180
         */
williamr@4
   181
        IMPORT_C static CPbk2ViewState* NewL();
williamr@4
   182
williamr@4
   183
        /**
williamr@4
   184
         * Creates a new instace of this class.
williamr@4
   185
         *
williamr@4
   186
         * @return  A new instance of this class.
williamr@4
   187
         */
williamr@4
   188
        IMPORT_C static CPbk2ViewState* NewLC();
williamr@4
   189
williamr@4
   190
        /**
williamr@4
   191
         * Creates a new instace of this class initialized from a buffer.
williamr@4
   192
         * @see CPbk2ViewState::PackL and CPbk2ViewState::PackLC for
williamr@4
   193
         * constructing the buffer.
williamr@4
   194
         *
williamr@4
   195
         * @param aBuf  Buffer to initialize this instance from.
williamr@4
   196
         * @return  A new instance of this class.
williamr@4
   197
         */
williamr@4
   198
        IMPORT_C static CPbk2ViewState* NewL(
williamr@4
   199
                const TDesC8& aBuf );
williamr@4
   200
williamr@4
   201
        /**
williamr@4
   202
         * Creates a new instace of this class initialized from a buffer.
williamr@4
   203
         * @see CPbk2ViewState::PackL and CPbk2ViewState::PackLC for
williamr@4
   204
         * constructing the buffer.
williamr@4
   205
         *
williamr@4
   206
         * @param aBuf  Buffer to initialize this instance from.
williamr@4
   207
         * @return  A new instance of this class.
williamr@4
   208
         */
williamr@4
   209
        IMPORT_C static CPbk2ViewState* NewLC(
williamr@4
   210
                const TDesC8& aBuf );
williamr@4
   211
williamr@4
   212
        /**
williamr@4
   213
         * Destructor.
williamr@4
   214
         */
williamr@4
   215
        ~CPbk2ViewState();
williamr@4
   216
williamr@4
   217
    public: // Getters
williamr@4
   218
williamr@4
   219
        /**
williamr@4
   220
         * Returns the message uid for use with view server messages.
williamr@4
   221
         *
williamr@4
   222
         * @return  Message uid.
williamr@4
   223
         */
williamr@4
   224
        IMPORT_C static TUid Uid();
williamr@4
   225
williamr@4
   226
        /**
williamr@4
   227
         * Returns a link to the focused contact.
williamr@4
   228
         * Null if not set.
williamr@4
   229
         *
williamr@4
   230
         * @return  Link to the focused contact.
williamr@4
   231
         */
williamr@4
   232
        IMPORT_C const MVPbkContactLink* FocusedContact() const;
williamr@4
   233
williamr@4
   234
        /**
williamr@4
   235
         * Returns a link to the focused contact.
williamr@4
   236
         * Null if not set. Ownership is transferred to the caller.
williamr@4
   237
         *
williamr@4
   238
         * @return  Link to the focused contact.
williamr@4
   239
         */
williamr@4
   240
        IMPORT_C MVPbkContactLink* TakeFocusedContact();
williamr@4
   241
williamr@4
   242
        /**
williamr@4
   243
         * Returns a link to the the topmost contact.
williamr@4
   244
         * Null if not set.
williamr@4
   245
         *
williamr@4
   246
         * @return  Link to the topmost contact.
williamr@4
   247
         */
williamr@4
   248
        IMPORT_C const MVPbkContactLink* TopContact() const;
williamr@4
   249
williamr@4
   250
        /**
williamr@4
   251
         * Returns a link to the topmost contact.
williamr@4
   252
         * Null if not set. Ownership is transferred to caller.
williamr@4
   253
         *
williamr@4
   254
         * @return  Link to the topmost contact.
williamr@4
   255
         */
williamr@4
   256
        IMPORT_C MVPbkContactLink* TakeTopContact();
williamr@4
   257
williamr@4
   258
        /**
williamr@4
   259
         * Returns a link to the parent contact.
williamr@4
   260
         *
williamr@4
   261
         * @return  Link to the parent contact.
williamr@4
   262
         */
williamr@4
   263
        IMPORT_C const MVPbkContactLink* ParentContact() const;
williamr@4
   264
williamr@4
   265
        /**
williamr@4
   266
         * Returns a link to the parent contact.
williamr@4
   267
         * Null if not set. Ownership is transferred to caller.
williamr@4
   268
         *
williamr@4
   269
         * @return  Link to the parent contact.
williamr@4
   270
         */
williamr@4
   271
        IMPORT_C MVPbkContactLink* TakeParentContact();
williamr@4
   272
williamr@4
   273
        /**
williamr@4
   274
         * Returns const array of marked contacts.
williamr@4
   275
         * NULL if not set.
williamr@4
   276
         *
williamr@4
   277
         * @return  Marked contacts in a link array.
williamr@4
   278
         */
williamr@4
   279
        IMPORT_C const MVPbkContactLinkArray* MarkedContacts() const;
williamr@4
   280
williamr@4
   281
        /**
williamr@4
   282
         * Returns const array of marked contacts.
williamr@4
   283
         * NULL if not set. Ownership is transferred to caller.
williamr@4
   284
         *
williamr@4
   285
         * @return  Marked contacts in a link array.
williamr@4
   286
         */
williamr@4
   287
        IMPORT_C MVPbkContactLinkArray* TakeMarkedContacts();
williamr@4
   288
williamr@4
   289
        /**
williamr@4
   290
         * Returns the index of the focused field.
williamr@4
   291
         * KErrNotFound indicates there is no
williamr@4
   292
         * focused field information available.
williamr@4
   293
         *
williamr@4
   294
         * @return  Field index.
williamr@4
   295
         */
williamr@4
   296
        IMPORT_C TInt FocusedFieldIndex() const;
williamr@4
   297
williamr@4
   298
        /**
williamr@4
   299
         * Returns the index of the top field.
williamr@4
   300
         * KErrNotFound indicates there is no
williamr@4
   301
         * focused field information available.
williamr@4
   302
         *
williamr@4
   303
         * @return  Field index.
williamr@4
   304
         */
williamr@4
   305
        IMPORT_C TInt TopFieldIndex() const;
williamr@4
   306
        
williamr@4
   307
        /**
williamr@4
   308
         * Returns the index of the focused properties item.
williamr@4
   309
         * KErrNotFound indicates there is no
williamr@4
   310
         * focused properties item information available.
williamr@4
   311
         *
williamr@4
   312
         * @return  Properties item index.
williamr@4
   313
         */
williamr@4
   314
        IMPORT_C TInt FocusedPropertiesIndex() const;
williamr@4
   315
williamr@4
   316
        /**
williamr@4
   317
         * Returns the index of the top properties item.
williamr@4
   318
         * KErrNotFound indicates there is no
williamr@4
   319
         * focused properties item information available.
williamr@4
   320
         *
williamr@4
   321
         * @return  Properties item index.
williamr@4
   322
         */
williamr@4
   323
        IMPORT_C TInt TopPropertiesIndex() const;
williamr@4
   324
williamr@4
   325
        /**
williamr@4
   326
         * Returns the view state flags.
williamr@4
   327
         *
williamr@4
   328
         * @return  View state flags.
williamr@4
   329
         */
williamr@4
   330
        IMPORT_C TUint Flags() const;
williamr@4
   331
williamr@4
   332
    public: // Setters
williamr@4
   333
williamr@4
   334
        /**
williamr@4
   335
         * Sets focused contact to given contact.
williamr@4
   336
         *
williamr@4
   337
         * @param aContact  The contact to set.
williamr@4
   338
         */
williamr@4
   339
        IMPORT_C void SetFocusedContact(
williamr@4
   340
                MVPbkContactLink* aContact );
williamr@4
   341
williamr@4
   342
        /**
williamr@4
   343
         * Sets top contact to given contact.
williamr@4
   344
         *
williamr@4
   345
         * @param aTopContact  The contact to set.
williamr@4
   346
         */
williamr@4
   347
        IMPORT_C void SetTopContact(
williamr@4
   348
                MVPbkContactLink* aTopContact );
williamr@4
   349
williamr@4
   350
        /**
williamr@4
   351
         * Sets parent contact to given contact.
williamr@4
   352
         *
williamr@4
   353
         * @param aParentContact  The contact to set.
williamr@4
   354
         */
williamr@4
   355
        IMPORT_C void SetParentContact(
williamr@4
   356
                MVPbkContactLink* aParentContact );
williamr@4
   357
williamr@4
   358
        /**
williamr@4
   359
         * Sets marked contacts according to given array of contact links.
williamr@4
   360
         *
williamr@4
   361
         * @param aArray  The contacts to set marked.
williamr@4
   362
         */
williamr@4
   363
        IMPORT_C void SetMarkedContacts(
williamr@4
   364
                MVPbkContactLinkArray* aArray );
williamr@4
   365
williamr@4
   366
        /**
williamr@4
   367
         * Sets the index of the focused field to the given index.
williamr@4
   368
         * KErrNotFound indicates there is no focused field
williamr@4
   369
         * information available.
williamr@4
   370
         *
williamr@4
   371
         * @param aIndex    The index to set.
williamr@4
   372
         */
williamr@4
   373
        IMPORT_C void SetFocusedFieldIndex(
williamr@4
   374
                TInt aIndex );
williamr@4
   375
williamr@4
   376
        /**
williamr@4
   377
         * Sets the index of the topmost field to the given index.
williamr@4
   378
         * KErrNotFound indicates there is no topmost field
williamr@4
   379
         * information available.
williamr@4
   380
         *
williamr@4
   381
         * @param aIndex    The index to set.
williamr@4
   382
         */
williamr@4
   383
        IMPORT_C void SetTopFieldIndex(
williamr@4
   384
                TInt aIndex );
williamr@4
   385
        
williamr@4
   386
        /**
williamr@4
   387
         * Sets the index of the focused properties item to the given index.
williamr@4
   388
         * KErrNotFound indicates there is no focused properties item
williamr@4
   389
         * information available.
williamr@4
   390
         *
williamr@4
   391
         * @param aIndex    The index to set.
williamr@4
   392
         */
williamr@4
   393
        IMPORT_C void SetFocusedPropertiesIndex(
williamr@4
   394
                TInt aIndex );
williamr@4
   395
williamr@4
   396
        /**
williamr@4
   397
         * Sets the index of the topmost properties item to the given index.
williamr@4
   398
         * KErrNotFound indicates there is no topmost properties item
williamr@4
   399
         * information available.
williamr@4
   400
         *
williamr@4
   401
         * @param aIndex    The index to set.
williamr@4
   402
         */
williamr@4
   403
        IMPORT_C void SetTopPropertiesIndex(
williamr@4
   404
                TInt aIndex );
williamr@4
   405
williamr@4
   406
        /**
williamr@4
   407
         * Reset this view state to an empty state.
williamr@4
   408
         */
williamr@4
   409
        IMPORT_C void Reset();
williamr@4
   410
williamr@4
   411
        /**
williamr@4
   412
         * Sets the view state flags.
williamr@4
   413
         *
williamr@4
   414
         * @param aFlags    The flags to set.
williamr@4
   415
         */
williamr@4
   416
        IMPORT_C void SetFlags(
williamr@4
   417
                TUint aFlags );
williamr@4
   418
williamr@4
   419
    public: // Client-server support
williamr@4
   420
williamr@4
   421
        /**
williamr@4
   422
         * Packages and returns this object in a buffer.
williamr@4
   423
         * Caller is responsible for deleting the buffer.
williamr@4
   424
         *
williamr@4
   425
         * @return  This view state instance packaged into a buffer.
williamr@4
   426
         */
williamr@4
   427
        IMPORT_C HBufC8* PackL() const;
williamr@4
   428
williamr@4
   429
        /**
williamr@4
   430
         * Packages and returns this object in a buffer.
williamr@4
   431
         * Caller is responsible for deleting the buffer.
williamr@4
   432
         *
williamr@4
   433
         * @return  This view state instance packaged into a buffer.
williamr@4
   434
         */
williamr@4
   435
        IMPORT_C HBufC8* PackLC() const;
williamr@4
   436
williamr@4
   437
        /**
williamr@4
   438
         * Sets this view state from given packaged buffer.
williamr@4
   439
         *
williamr@4
   440
         * @param aPack     Packaged view state buffer.
williamr@4
   441
         */
williamr@4
   442
        IMPORT_C void UnpackL(
williamr@4
   443
                const TDesC8& aPack );
williamr@4
   444
williamr@4
   445
williamr@4
   446
    public: // Support functions
williamr@4
   447
williamr@4
   448
        /**
williamr@4
   449
         * Comparison operator.
williamr@4
   450
         *
williamr@4
   451
         * @param aRhs  View state instance to compare to this instance.
williamr@4
   452
         * @return  ETrue if view states are equal, EFalse otherwise.
williamr@4
   453
         */
williamr@4
   454
        IMPORT_C TBool operator==(
williamr@4
   455
                const CPbk2ViewState& aRhs ) const;
williamr@4
   456
williamr@4
   457
    private: // Implementation
williamr@4
   458
        CPbk2ViewState();
williamr@4
   459
        void ConstructL(
williamr@4
   460
                const TDesC8& aBuf );
williamr@4
   461
        void ExternalizeL(
williamr@4
   462
                RWriteStream& aStream ) const;
williamr@4
   463
        void InternalizeL(
williamr@4
   464
                RReadStream& aStream );
williamr@4
   465
williamr@4
   466
    private: // Data
williamr@4
   467
        /// Own: Link to the focused contact.
williamr@4
   468
        MVPbkContactLink* iFocusedContact;
williamr@4
   469
        /// Own: Link to the topmost contact.
williamr@4
   470
        MVPbkContactLink* iTopContact;
williamr@4
   471
        /// Own: Link to the parent contact.
williamr@4
   472
        MVPbkContactLink* iParentContact;
williamr@4
   473
        /// Own: Array of marked contacts.
williamr@4
   474
        MVPbkContactLinkArray* iArray;
williamr@4
   475
        /// Own: Index of the focused field
williamr@4
   476
        TInt iFocusedFieldIndex;
williamr@4
   477
        /// Own: Index of the top field
williamr@4
   478
        TInt iTopFieldIndex;
williamr@4
   479
        /// Own: Index of the properties item
williamr@4
   480
        TInt iFocusedPropertiesIndex;
williamr@4
   481
        /// Own: Index of the top properties item
williamr@4
   482
        TInt iTopPropertiesIndex;
williamr@4
   483
        /// Own: Flags
williamr@4
   484
        TUint iFlags;
williamr@4
   485
williamr@4
   486
    private: // Const static data
williamr@4
   487
        static const TUid KUid;
williamr@4
   488
    };
williamr@4
   489
williamr@4
   490
#endif // CPBK2VIEWSTATE_H
williamr@4
   491
williamr@4
   492
// End of File