homesync/contentmanager/homesyncgsplugin/inc/mssettingitemmemory.h
changeset 0 7f85d04be362
equal deleted inserted replaced
-1:000000000000 0:7f85d04be362
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Definition for MediaServant memory setting item
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef MSSETTINGITEMMEMORY_H
       
    20 #define MSSETTINGITEMMEMORY_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <aknsettingitemlist.h>
       
    24 
       
    25 // FORWARD DECLARATIONS
       
    26 class CMSEngine;
       
    27 class CSelectionItemList;
       
    28 class CMSSettingItemList;
       
    29 
       
    30 // CLASS DECLARATION
       
    31 
       
    32 /**
       
    33  * CMSSettingItemmemory class.
       
    34  */
       
    35 NONSHARABLE_CLASS( CMSSettingItemMemory ): public CAknTextSettingItem
       
    36     {
       
    37     public: // Constructor and destructor
       
    38 
       
    39         /**
       
    40          * NewL
       
    41          * 2-phase constructor.
       
    42          *
       
    43          * @param aIdentifier, setting item identifier
       
    44          * @param aText, setting item text
       
    45          * @param aMSEngine, application engine
       
    46          * @param aParent, parent list
       
    47          * @return CMSSettingItemMemory*, the new CMSSettingItemMemory object
       
    48          */
       
    49         static CMSSettingItemMemory* NewL( TInt aIdentifier,
       
    50                                         TDes& aText,
       
    51                                         CMSEngine& aMSEngine,
       
    52                                         CMSSettingItemList& aParent );
       
    53 
       
    54         /**
       
    55          * NewLC
       
    56          * 2-phase constructor.
       
    57          *
       
    58          * @param aIdentifier, setting item identifier
       
    59          * @param aText, setting item text
       
    60          * @param aMSEngine, application engine
       
    61          * @param aParent, parent list
       
    62          * @return CMSSettingItemMemory*, the new CMSSettingItemMemory object
       
    63          */
       
    64         static CMSSettingItemMemory* NewLC( TInt aIdentifier,
       
    65                                         TDes& aText,
       
    66                                         CMSEngine& aMSEngine,
       
    67                                         CMSSettingItemList& aParent );
       
    68 
       
    69        /**
       
    70         * Destructor.
       
    71         */
       
    72         virtual ~CMSSettingItemMemory();
       
    73 
       
    74 
       
    75     protected: // From CAknSettingItem
       
    76 
       
    77        /**
       
    78         * This method activates the memory "setting page"
       
    79         */
       
    80         void EditItemL( TBool aCalledFromMenu );
       
    81 
       
    82     private: // New functions
       
    83 
       
    84         /**
       
    85          * Creates selection list for drive selection
       
    86          *
       
    87          * @since S60 5.1
       
    88          */
       
    89         void CreateSelectionListL();
       
    90 
       
    91         /**
       
    92          * Sets storage information to settings
       
    93          *
       
    94          * @since S60 5.1
       
    95          */
       
    96         void SetStorageInformationL();
       
    97 
       
    98         /**
       
    99          * Sets correct text setting item secondary text
       
   100          *
       
   101          * @since S60 5.1
       
   102          */
       
   103         void SetSettingItemTextL();
       
   104 
       
   105     private:
       
   106 
       
   107          /**
       
   108           * Constructor.
       
   109           */
       
   110         CMSSettingItemMemory(
       
   111             TInt aIdentifier,
       
   112             TDes& aText,
       
   113             CMSEngine& aMSEngine,
       
   114             CMSSettingItemList& aParent
       
   115             );
       
   116 
       
   117         /**
       
   118          * ConstructL
       
   119          * Second phase constructor.
       
   120          */
       
   121         void ConstructL();
       
   122 
       
   123     private:
       
   124 
       
   125         /**
       
   126          * application ui
       
   127          */
       
   128         CMSEngine&                          iMSEngine;
       
   129         
       
   130         /**
       
   131          * application ui
       
   132          */
       
   133         CMSSettingItemList&                 iParent;
       
   134         
       
   135         /**
       
   136          * array of available memory cards - needed for settingpage
       
   137          */
       
   138         CSelectionItemList*                 iItemArray;     // owned
       
   139         
       
   140         /**
       
   141          * drive info array
       
   142          */
       
   143         RPointerArray<CCmDriveInfo>         iDriveArray;    // owned
       
   144     };
       
   145 
       
   146 #endif // MSSETTINGITEMMEMORY_H
       
   147 
       
   148 // End of File