profilesservices/ProfileEngine/EngSrc/CProfileImpl.h
changeset 21 851e19007849
parent 18 e3554c9069b6
child 54 7e0eff37aedb
equal deleted inserted replaced
19:30540fccecae 21:851e19007849
    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 <MProfileExtended.h>
    25 #include <MProfileExtended2.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;
    43 
    44 
    44 // CLASS DECLARATION
    45 // CLASS DECLARATION
    45 
    46 
    46 /**
    47 /**
    47 *  Profile implementation.
    48 *  Profile implementation.
    48 *
    49 *
    49 *  @lib ?library
    50 *  @lib ?library
    50 *  @since 2.0
    51 *  @since 2.0
    51 */
    52 */
    52 NONSHARABLE_CLASS(CProfileImpl) : public CBase,
    53 NONSHARABLE_CLASS(CProfileImpl) : public CBase,
    53                      public MProfileExtended
    54                      public MProfileExtended2
    54     {
    55     {
    55     public:  // Constructors and destructor
    56     public:  // Constructors and destructor
    56 
    57 
    57         /**
    58         /**
    58         * Two-phased constructor.
    59         * Two-phased constructor.
    71         * @param aFs Ref. to file server session
    72         * @param aFs Ref. to file server session
    72         * @param aProfile Profile settings
    73         * @param aProfile Profile settings
    73         * @param aId Profile ID
    74         * @param aId Profile ID
    74         */
    75         */
    75         static CProfileImpl* NewLC(
    76         static CProfileImpl* NewLC(
    76             RFs& aFs, const MProfileExtended& aProfile, TInt aId );
    77             RFs& aFs, const MProfileExtended2& aProfile, TInt aId );
    77 
    78 
    78         /**
    79         /**
    79         * Destructor.
    80         * Destructor.
    80         */
    81         */
    81         virtual ~CProfileImpl();
    82         virtual ~CProfileImpl();
   195 
   196 
   196         /**
   197         /**
   197         * From MProfileExtended.
   198         * From MProfileExtended.
   198         */
   199         */
   199         virtual MProfileSetExtraSettings& ProfileSetExtraSettings() const;
   200         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();
   200 
   222 
   201         /**
   223         /**
   202         * Externalize data to Central Repository.
   224         * Externalize data to Central Repository.
   203         * @since 2.8
   225         * @since 2.8
   204         * @param aCenRep Central Repository object to write the settings
   226         * @param aCenRep Central Repository object to write the settings
   221         /**
   243         /**
   222         * By default Symbian 2nd phase constructor is private.
   244         * By default Symbian 2nd phase constructor is private.
   223         * @param aProfile Profile settings
   245         * @param aProfile Profile settings
   224         * @param aId Profile ID
   246         * @param aId Profile ID
   225         */
   247         */
   226         void ConstructL( const MProfileExtended& aProfile, TInt aId );
   248         void ConstructL( const MProfileExtended2& aProfile, TInt aId );
   227 
   249 
   228         /**
   250         /**
   229          * This method does the common part of the construction.
   251          * This method does the common part of the construction.
   230          */
   252          */
   231         void CommonConstructL();
   253         void CommonConstructL();
   247         // Own: Profile extra settings implementation
   269         // Own: Profile extra settings implementation
   248         CProfileExtraSettingsImpl* iProfileExtraSettings;
   270         CProfileExtraSettingsImpl* iProfileExtraSettings;
   249 
   271 
   250         // Own: Profile presence settings implementation
   272         // Own: Profile presence settings implementation
   251         CProfilePresenceImpl* iProfilePresence;
   273         CProfilePresenceImpl* iProfilePresence;
       
   274         
       
   275         // Own: Profile vibra settings implementation
       
   276         CProfileVibraSettingsImpl *iProfileVibraSettings;
   252 
   277 
   253         // Own: Profile modifiable flags
   278         // Own: Profile modifiable flags
   254         TUint32 iModifiableFlags;
   279         TUint32 iModifiableFlags;
   255 
   280 
   256         // Own: Profile visible flags
   281         // Own: Profile visible flags