idlehomescreen/examples/carouselwidgetexample/publisher/inc/carouselplugindata.h
author jake
Mon, 02 Aug 2010 12:02:47 +0300
branchRCL_3
changeset 70 d12a7ea0f775
permissions -rw-r--r--
Example applications for various Homescreen APIs.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
70
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     1
/*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     2
* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     3
* All rights reserved.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     8
*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
     9
* Initial Contributors:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    11
*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    12
* Contributors:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    13
*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    14
* Description:  Plug-in data class
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    15
*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    16
*/
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    17
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    18
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    19
#ifndef CMCSPLUGINDATA_H
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    20
#define CMCSPLUGINDATA_H
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    21
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    22
// INCLUDE FILES
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    23
#include <e32base.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    24
#include <badesca.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    25
#include <mhomescreensettingsobserver.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    26
#include <hspluginsettings.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    27
#include <propertymap.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    28
#include <mcsmenu.h>
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    29
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    30
class TMenuItem;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    31
class CCarouselPluginEngine;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    32
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    33
/**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    34
 *  @ingroup group_mcsplugin
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    35
 *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    36
 *  Stores the MCS Menu Items and keeps track whether
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    37
 *  item needs to be published or not.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    38
 *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    39
 *  @since S60 v9.1
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    40
 */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    41
NONSHARABLE_CLASS( CCarouselData ) : public CBase
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    42
    {
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    43
public:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    44
    CCarouselData();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    45
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    46
    ~CCarouselData();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    47
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    48
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    49
     * SetMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    50
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    51
     * @param aMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    52
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    53
    void SetMenuItem( TMenuItem& aMenuItem );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    54
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    55
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    56
     * MenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    57
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    58
     * @return TMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    59
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    60
    TMenuItem& MenuItem();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    61
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    62
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    63
     * Name of the item.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    64
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    65
    TDesC& Name();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    66
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    67
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    68
     * Set name of the item,
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    69
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    70
    void SetNameL( const TDesC& aName );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    71
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    72
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    73
     * Value of the item. Used for bookmark url.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    74
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    75
    TDesC& Value();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    76
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    77
    /*
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    78
     * Set value of the item.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    79
     */   
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    80
    void SetValueL( const TDesC& aValue );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    81
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    82
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    83
     * SetDirty
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    84
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    85
     * @param aDirty
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    86
     * @return TBool
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    87
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    88
    void SetDirty( TBool aDirty );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    89
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    90
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    91
     * IsDirty
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    92
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    93
     * @return TBool
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    94
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    95
    TBool IsDirty() const;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    96
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    97
private:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    98
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
    99
     * iMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   100
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   101
    TMenuItem iMenuItem;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   102
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   103
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   104
     * Item name, own
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   105
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   106
    HBufC* iName;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   107
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   108
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   109
     * Item value, own
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   110
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   111
    HBufC* iValue;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   112
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   113
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   114
     * iDirty
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   115
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   116
    TBool iDirty;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   117
    };
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   118
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   119
/**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   120
 *  @ingroup group_mcsplugin
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   121
 *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   122
 *  Plug-in data class
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   123
 *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   124
 *  @since
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   125
 */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   126
NONSHARABLE_CLASS( CCarouselPluginData ) : public CBase,
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   127
    public HSPluginSettingsIf::MHomeScreenSettingsObserver
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   128
    {
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   129
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   130
public:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   131
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   132
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   133
    * Part of the two phased constuction
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   134
    *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   135
    * @param aEngine
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   136
    * @param aInstanceUid
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   137
    * @return Pointer to the created CMCSPluginData object
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   138
    */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   139
    static CCarouselPluginData* NewL( CCarouselPluginEngine& aEngine,
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   140
        const TDesC8& aInstanceUid );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   141
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   142
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   143
    * Constructor
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   144
    *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   145
    * @param aEngine
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   146
    * @param aInstanceUid
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   147
    * @return none
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   148
    */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   149
    CCarouselPluginData( CCarouselPluginEngine& aEngine, const TDesC8& aInstanceUid );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   150
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   151
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   152
    * Destructor
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   153
    *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   154
    * @param none
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   155
    * @return none
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   156
    */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   157
    ~CCarouselPluginData();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   158
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   159
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   160
     * DataItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   161
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   162
     * @param aIndex
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   163
     * @return TMCSData&
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   164
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   165
    CCarouselData& DataItemL( TInt aIndex );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   166
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   167
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   168
     * Saves 'Undefined' menu item into settings when mailbox is deleted
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   169
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   170
     * @param aIndex
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   171
     * @param aMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   172
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   173
    void SaveUndefinedItemL( const TInt& aIndex );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   174
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   175
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   176
     * DataCount
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   177
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   178
     * @return TInt
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   179
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   180
    TInt DataCount(){ return iData.Count();};
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   181
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   182
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   183
     * Gets the instance specific settings from HSPS and creates data items
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   184
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   185
    void UpdateDataL();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   186
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   187
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   188
     * Removes data item from data list and saves new setting into HSPS
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   189
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   190
    void RemoveDataL( TInt aId );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   191
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   192
    // From MHomeScreenSettingsObserver
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   193
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   194
     * SettingsChangedL
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   195
     * 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   196
     * @param aEvent
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   197
     * @param aPluginName
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   198
     * @param aPluginUid
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   199
     * @param aPluginId
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   200
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   201
    void SettingsChangedL( const TDesC8& aEvent,  const TDesC8& aPluginName,
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   202
                           const TDesC8& aPluginUid, const TDesC8& aPluginId );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   203
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   204
private:
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   205
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   206
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   207
    * Part of the two phased construction
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   208
    *
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   209
    * @param void
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   210
    * @return void
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   211
    */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   212
    void ConstructL();
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   213
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   214
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   215
     * GetMenuDataL
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   216
     * @param aProperties
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   217
     * @return TMenuItem
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   218
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   219
    CCarouselData* GetMenuDataL(
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   220
        RPointerArray<HSPluginSettingsIf::CPropertyMap>& aProperties );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   221
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   222
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   223
     * Get bookmark data item
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   224
     * @param aUid, used for bookmark uid
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   225
     * @param aView, used for bookmark url
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   226
     * @param aParam, used for bookmark name
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   227
     * @param aData, is filled with appropriate values
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   228
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   229
    void GetBkmDataL( const TDesC8& aUid, const TDesC8& aView, const TDesC8& aParam, CCarouselData& aData );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   230
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   231
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   232
     * Get folder data item
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   233
     * @param aParam, is used for folder id (in MCS)
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   234
     * @param aData, is filled with appropriate values
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   235
     */    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   236
    void GetFolderData( const TDesC8& aParam, CCarouselData& aData );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   237
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   238
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   239
     * Get mailbox data item
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   240
     * @param aUid, uid of the mailbox in messaging application
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   241
     * @param aParam, name of the mailbox
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   242
     * @param aData, is filled with appropriate values
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   243
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   244
    void GetMailboxDataL( const TDesC8& aUid, const TDesC8& aParam,  CCarouselData& aData );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   245
    
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   246
    /**
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   247
     * Get MCS data item
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   248
     * @param aProperties, Properties are used to filter correct item from MCS.
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   249
     * @param aData, is filled with appropriate values
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   250
     */
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   251
    void GetMCSDataL(
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   252
        RPointerArray<HSPluginSettingsIf::CPropertyMap>& aProperties,  CCarouselData& aData );
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   253
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   254
private: // data
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   255
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   256
    // Menu items, which are defined in settings
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   257
    // Own
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   258
    RPointerArray<CCarouselData> iData;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   259
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   260
    // Plugin settings. NOT OWNED!
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   261
    HSPluginSettingsIf::CHomescreenSettings* iPluginSettings;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   262
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   263
    // Reference to MCS plug-in engine
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   264
    CCarouselPluginEngine& iEngine;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   265
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   266
    // Reference to instance uid of HSPS widget
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   267
    const TDesC8& iInstanceUid;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   268
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   269
    // MCS resource handle, owned 
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   270
    RMenu iMenu;
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   271
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   272
    };
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   273
d12a7ea0f775 Example applications for various Homescreen APIs.
jake
parents:
diff changeset
   274
#endif // CMCSPLUGINDATA_H