phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiContainer.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-2007 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:  
*   CPsuiContainer class is responsible for loading/unloading
*    the resources to be used by this dll. It is also
*    the correct way to construct observers, since
*    it gives the pointer to the resources in the
*    construction process.
*
*/


#ifndef CPSUICONTAINER_H
#define CPSUICONTAINER_H

// INCLUDES
#include <PsuiWaitingObs.h>
#include <PsuiDivertObs.h>
#include <PsuiBarringObs.h>
#include <PsuiCliObserver.h>

// FORWARD DECLARATIONS
class CPsuiResourceLoader;

// CLASS DECLARATION

/**
*  CPsuiContainer class is responsible for loading/unloading the resources to
*  be used by this dll. It is also the correct way to construct observers, 
*  ince it gives the pointer to the resources in the construction process.
*  @lib psui.lib
*  @since 1.0
*/
class CPsuiContainer : public CBase
    {
    public: // Constructors and destructor

        /**
        * Symbian OS two-phased constructor.
        *
        * @return Returns CPsuiContainer-pointer.
        */
        IMPORT_C static CPsuiContainer* NewL();
        
        /**
        * Destructor 
        */
        ~CPsuiContainer();

    public:

        /**
        * Creates Call Waiting observer.
        * 
        * @return Returns CreateCWObsL pointer.
        */
        IMPORT_C CPsuiWaitingObs* CreateCWObsL();

        /**
        * Creates Call Forwarding observer.
        * 
        * @return Returns CreateCFObsL pointer.
        */
        IMPORT_C CPsuiDivertObs* CreateCFObsL();

        /**
        * Creates Call Barring observer.
        * 
        * @return Returns CreateCBObsL pointer.
        */
        IMPORT_C CPsuiBarringObs* CreateCBObsL();

        /**
        * Creates Calling Identity observer.
        * 
        * @return Returns CreateCliObsL pointer.
        */
        IMPORT_C CPsuiCliObserver* CreateCliObsL();


    private: // private constructor

        void ConstructL();

    private: // member variables

        //reference to class' resource loader
        CPsuiResourceLoader* iAppEngineResourceLoader;
        
    };


#endif //CPSUICONTAINER_H