profilesservices/ProfileEngine/EngSrc/CProfileImpl.h
branchRCL_3
changeset 25 7e0eff37aedb
parent 24 8ee96d21d9bf
equal deleted inserted replaced
24:8ee96d21d9bf 25:7e0eff37aedb
    20 #ifndef __CPROFILEIMPL_H__
    20 #ifndef __CPROFILEIMPL_H__
    21 #define __CPROFILEIMPL_H__
    21 #define __CPROFILEIMPL_H__
    22 
    22 
    23 //  INCLUDES
    23 //  INCLUDES
    24 #include <e32base.h>
    24 #include <e32base.h>
    25 #include <MProfileExtended2.h>
    25 #include <MProfileExtended.h>
    26 #include <centralrepository.h> // NCentralRepositoryConstants::KMaxBinaryLength
    26 #include <centralrepository.h> // NCentralRepositoryConstants::KMaxBinaryLength
    27 
    27 
    28 // CONSTANTS
    28 // CONSTANTS
    29 // MACROS
    29 // MACROS
    30 // DATA TYPES
    30 // DATA TYPES
    38 class CProfileExtraSettingsImpl;
    38 class CProfileExtraSettingsImpl;
    39 class CPGFileGenerator;
    39 class CPGFileGenerator;
    40 class MProfilesNamesArray;
    40 class MProfilesNamesArray;
    41 class MProfilesLocalFeatures;
    41 class MProfilesLocalFeatures;
    42 struct TProfilePresenceSettings;
    42 struct TProfilePresenceSettings;
    43 class CProfileVibraSettingsImpl;
       
    44 
    43 
    45 // CLASS DECLARATION
    44 // CLASS DECLARATION
    46 
    45 
    47 /**
    46 /**
    48 *  Profile implementation.
    47 *  Profile implementation.
    49 *
    48 *
    50 *  @lib ?library
    49 *  @lib ?library
    51 *  @since 2.0
    50 *  @since 2.0
    52 */
    51 */
    53 NONSHARABLE_CLASS(CProfileImpl) : public CBase,
    52 NONSHARABLE_CLASS(CProfileImpl) : public CBase,
    54                      public MProfileExtended2
    53                      public MProfileExtended
    55     {
    54     {
    56     public:  // Constructors and destructor
    55     public:  // Constructors and destructor
    57 
    56 
    58         /**
    57         /**
    59         * Two-phased constructor.
    58         * Two-phased constructor.
    72         * @param aFs Ref. to file server session
    71         * @param aFs Ref. to file server session
    73         * @param aProfile Profile settings
    72         * @param aProfile Profile settings
    74         * @param aId Profile ID
    73         * @param aId Profile ID
    75         */
    74         */
    76         static CProfileImpl* NewLC(
    75         static CProfileImpl* NewLC(
    77             RFs& aFs, const MProfileExtended2& aProfile, TInt aId );
    76             RFs& aFs, const MProfileExtended& aProfile, TInt aId );
    78 
    77 
    79         /**
    78         /**
    80         * Destructor.
    79         * Destructor.
    81         */
    80         */
    82         virtual ~CProfileImpl();
    81         virtual ~CProfileImpl();
   196 
   195 
   197         /**
   196         /**
   198         * From MProfileExtended.
   197         * From MProfileExtended.
   199         */
   198         */
   200         virtual MProfileSetExtraSettings& ProfileSetExtraSettings() const;
   199         virtual MProfileSetExtraSettings& ProfileSetExtraSettings() const;
   201         
       
   202         
       
   203         /**
       
   204         * From MProfileExtended2.
       
   205         */
       
   206         virtual const MProfileExtraTones2& ProfileExtraTones2() const;
       
   207         
       
   208         /**
       
   209         * From MProfileExtended2.
       
   210         */
       
   211         virtual MProfileSetExtraTones2& ProfileSetExtraTones2();
       
   212         
       
   213         /**
       
   214         * From MProfileExtended2.
       
   215         */
       
   216         virtual const MProfileVibraSettings& ProfileVibraSettings() const;
       
   217         
       
   218         /**
       
   219         * From MProfileExtended2.
       
   220         */
       
   221         virtual MProfileSetVibraSettings& ProfileSetVibraSettings();
       
   222 
   200 
   223         /**
   201         /**
   224         * Externalize data to Central Repository.
   202         * Externalize data to Central Repository.
   225         * @since 2.8
   203         * @since 2.8
   226         * @param aCenRep Central Repository object to write the settings
   204         * @param aCenRep Central Repository object to write the settings
   243         /**
   221         /**
   244         * By default Symbian 2nd phase constructor is private.
   222         * By default Symbian 2nd phase constructor is private.
   245         * @param aProfile Profile settings
   223         * @param aProfile Profile settings
   246         * @param aId Profile ID
   224         * @param aId Profile ID
   247         */
   225         */
   248         void ConstructL( const MProfileExtended2& aProfile, TInt aId );
   226         void ConstructL( const MProfileExtended& aProfile, TInt aId );
   249 
   227 
   250         /**
   228         /**
   251          * This method does the common part of the construction.
   229          * This method does the common part of the construction.
   252          */
   230          */
   253         void CommonConstructL();
   231         void CommonConstructL();
   269         // Own: Profile extra settings implementation
   247         // Own: Profile extra settings implementation
   270         CProfileExtraSettingsImpl* iProfileExtraSettings;
   248         CProfileExtraSettingsImpl* iProfileExtraSettings;
   271 
   249 
   272         // Own: Profile presence settings implementation
   250         // Own: Profile presence settings implementation
   273         CProfilePresenceImpl* iProfilePresence;
   251         CProfilePresenceImpl* iProfilePresence;
   274         
       
   275         // Own: Profile vibra settings implementation
       
   276         CProfileVibraSettingsImpl *iProfileVibraSettings;
       
   277 
   252 
   278         // Own: Profile modifiable flags
   253         // Own: Profile modifiable flags
   279         TUint32 iModifiableFlags;
   254         TUint32 iModifiableFlags;
   280 
   255 
   281         // Own: Profile visible flags
   256         // Own: Profile visible flags