gsprofilesrv_plat/profiles_engine_api/inc/MProfileEngineExtended2.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:29:50 +0300
branchRCL_3
changeset 24 8ee96d21d9bf
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Extended profile engine interface 2.
*
*/



#ifndef __MPROFILEENGINEEXTENDED2_H__
#define __MPROFILEENGINEEXTENDED2_H__

//  INCLUDES
#include <MProfileEngineExtended.h>

// DATA TYPES

// FUNCTION PROTOTYPES
class MProfileEngineExtended2;
/**
* Create extended profile engine, ownership transfered.
*
*  @lib ProfileEng.lib
*  @since 10.1
*/

IMPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L();

/**
* Create extended profile engine, ownership transfered.
*
*  @param aFs An open file server session, ownership is NOT transferred.
*  aFs must remain connected for the lifetime of the returned object.
*  @lib ProfileEng.lib
*  @since 10.1
*/
IMPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L( RFs* aFs );

// FORWARD DECLARATIONS
class MProfileExtended2;

// CLASS DECLARATION

/**
*  Extended profile engine interface.
*  This interface extend MProfileEngine interface and
*  offers methods to get profile settings and store profile settings.
*
*  @lib N/A
*  @since 2.0
*/
class MProfileEngineExtended2 : public MProfileEngineExtended
    {
    protected:  // Destructor

        virtual ~MProfileEngineExtended2() {};

    public: // New functions

        /**
        * Create extended profile, ownership transfered.
        * @since 2.0
        * @param aId Profile ID
        * @return Instance of the MProfileExtended
        */
        virtual MProfileExtended2* Profile2LC( TInt aId ) = 0;

        /**
        * Create extended profile, ownership transfered.
        * @since 2.0
        * @param aId Profile ID
        * @return Instance of the MProfileExtended
        */
        virtual MProfileExtended2* Profile2L( TInt aId ) = 0;

        /**
        * Store profile settings. Leaves with KErrAccessDenied if one or more
        * of the settings of the target profile is/are read-only.
        * @since 2.0
        * @param aProfile Profile
        */
        virtual void CommitChange2L( MProfileExtended2& aProfile ) = 0;

       
        /**
        * Returns Master volume
        * @since 10.1
        */
        virtual TInt MasterVolumeL() const = 0;
        
        /**
        * Set master volume
        * @since 10.1
        * @param aMasterVolume: new master volume to be set
        */
        virtual void SetMasterVolumeL( TInt aMasterVolume ) = 0;
        
        /**
        * Returns Master vibra
        * @since 10.1
        */
        virtual TBool MasterVibraL() const = 0;
        
        /**
        * Set master vibra
        * @since 10.1
        * @param aMasterVibra: new master vibra to be set ETrue: On EFalse: Off
        */
        virtual void SetMasterVibraL( TBool aMasterVibra ) = 0;
        
        /**
        * Returns silence mode
        * @since 10.1
        */
        virtual TBool SilenceModeL() const = 0;
        
        /**
        * Set silence mode
        * @since 10.1
        * @param aSilenceMode: new silence mode to be set ETrue: On EFalse: Off
        */
        virtual void SetSilenceModeL( TBool aSilenceMode ) = 0;

    };

#endif      // __MPROFILEENGINEEXTENDED_H__

// End of File