phonesrv_plat/phone_settings_api/inc/PsetContainer.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:15:03 +0100
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2002-2005 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: 
*      CPsetContainer is the general access class for phonesettings.
*      Container must exists as long as other objects are used.          
*
*
*/


#ifndef     PSETCONTAINER_H
#define     PSETCONTAINER_H

//  INCLUDES
#include <PsetCallWaiting.h>
#include <PsetCallDiverting.h>
#include <PsetCallBarring.h>
#include <PsetCli.h>
#include <PsetNetwork.h>
#include <PSetRefreshHandler.h>


// FORWARD DECLARATIONS
class CPSetRefreshHandlerImpl;


// CLASS DECLARATION
/**
*  CPsetContainer class is the general access class for phonesettings.
*  @lib phonesettings.lib
*  @since 1.0
*/
class CPsetContainer : public CBase
    {
    public: //constructor & destructor

        /* Symbian OS 2-phase Constructor. */
        IMPORT_C static CPsetContainer* NewL();

        /* Destructor */
        IMPORT_C ~CPsetContainer();

    public:
        /**
        * Creates CPsetCallWaiting-object.
        *
        * @param aObserver Observer to CPsetCallWaiting class.
        * @return returns CPsetCallWaiting-pointer
        */
        IMPORT_C CPsetCallWaiting* CreateCWObjectL( 
            MPsetCallWaitingObserver& aObserver );
        
        /**
        * Creates CPsetCallDiverting-object.
        * 
        * @param  aObserver Observer to CPsetCallDiverting class.
        * @return returns CPsetCallDiverting-pointer
        */
        IMPORT_C CPsetCallDiverting* CreateCFObjectL( 
            MPsetDivertObserver& aObserver );

        /**
        * Creates CPsetClir-object.
        * 
        * @param aObserver Observer to CPsetCli class.
        * @return returns CPsetClir-pointer
        */
        IMPORT_C CPsetCli* CreateCliObjectL( MPsetCliObserver& aObserver );
        
        /**
        * Creates CPsetCallBarring-object.
        *
        * @param aObserver Observer to CPsetCallBarring class.
        * @return returns CPsetCallBarring-pointer
        */
        IMPORT_C CPsetCallBarring* CreateCBObjectL( 
            MPsetBarringObserver& aObserver);
         
        /**
        * Creates CPsetNetwork-object.
        * 
        * @param aObserver Observer to CPsetNetwork class.
        * @return Returns CPsetNetwork-pointer.
        */
        IMPORT_C CPsetNetwork* CreateNetworkObjectL(
            MPsetNetworkInfoObserver& aObserver );

        /**
        * Creates refresh handler object.
        * 
        * @since 2.8.
        * @return Return Refresh handler pointer.
        */
        IMPORT_C CPSetRefreshHandler* CreateRefreshHandlerL();

        /**
        * Creates CPsetNetwork-object.
        * 
        * @param aObserver Observer to CPsetNetwork class.
        * @return Returns CPsetNetwork-pointer.
        */
        IMPORT_C CPsetNetwork* CreateNetworkModeObjectL(
            MPsetNetworkModeObserver& aModeObserver );


    private: //constructors

        void ConstructL();

    private: //new

        TInt ConnectServer();

    private:
        //Provides client access to mobile phone functionality provided by TSY.
        /*****************************************************
        *    Series 60 Customer / ETel
        *    Series 60  ETel API
        *****************************************************/
        RMobilePhone iPhone;
        //ETEL telephony server.
        /*****************************************************
        *    Series 60 Customer / ETel
        *    Series 60  ETel API
        *****************************************************/
        RTelServer   iServer;
        //Provides client access to mobile line functionality provided by TSY.
        /*****************************************************
        *    Series 60 Customer / ETel
        *    Series 60  ETel API
        *****************************************************/
        RMobileLine  iLine;
    };

#endif // PSETCONTAINER_H

// End of File