sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetview.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:27:36 +0100
branchRCL_3
changeset 20 0dcb073356a5
parent 0 307788aac0a8
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 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:  The (common) controller for the proxy & registrar views
*
*/



#ifndef SIP_SETT_LIST_SIP_SRV_SET_VIEW_H
#define SIP_SETT_LIST_SIP_SRV_SET_VIEW_H

//  INCLUDES

#include <aknview.h>
#include <sipprofiletypeinfo.h>

// FORWARD DECLARATIONS
class CSIPSettListSIPSrvSetContainer;
class CSIPSettListSIPSrvSetModel;
class TSIPSettingsData;
class TGSSIPServerData;

// CLASS DECLARATION

/**
*  CSIPSettListSIPSrvSetView view class
*  @since 3.0
*  view class for SIP Server settings
*/
class CSIPSettListSIPSrvSetView : public CAknView
    {
    public:  // Constructors and destructor
        
        // No two phased construction, because this class will never
        // be directly instantiated!
        
        /**
        * Destructor.
        */
        virtual ~CSIPSettListSIPSrvSetView();
       
    protected:  // New functions        

        /**        
        * Returns used data structure
        * Deriving classes must implement this
        * @return Pointer to used server data structure
        */
        virtual TGSSIPServerData* DataStruct() = 0;

        /**        
        * Returns used item list resource id
        * Deriving classes must implement this
        * @return Resource ID
        */
        virtual TInt ResourceID() = 0;

        /**        
        * Returns used profile type
        * Deriving classes must implement this
        * @return type of selected profile
        */
        virtual TSIPProfileTypeInfo::TSIPProfileClass ProfileType() = 0;
        
        /**
        * Checks is currently shown profile locked
        * Deriving classes must implement this
        * @return ETrue if profile is locked
        */
        virtual TBool ProfileLocked() = 0;
        
        /**
        * Opens up the pop-up list for changing a setting
        * @param aCommand ID of the command to respond to
        */
        void ChangeSettingL( TInt aCommand );

        /**
        * Returns to profile setting view
        */
        void BackToSettingViewL();

    protected:  // Functions from base classes
                
        /**
        * From CAknView
        * Handles the user interaction
        */
        void HandleCommandL( TInt aCommand ); 
        /**
        * From CAknView
        * Called upon the activation of the view. Creates the control
        * container and model
        */
        void DoActivateL( 
            const TVwsViewId& aPrevViewId, 
            TUid aCustomMessageId, 
            const TDesC8& aCustomMessage );
        
        /**
        * From CAknView
        * Deletes the control container and model
        */
        void DoDeactivate();
        
        /**
        * From CAknView (MEikMenuObserver)
        * Dynamically initializes the contents of the menu list
        */
        void DynInitMenuPaneL( TInt aResourceId,
                               CEikMenuPane* aMenuPane );

    protected:

        /**
        * C++ default constructor.
        * @param aTitleResourceID Title pane text's resource ID
        */
        CSIPSettListSIPSrvSetView( TInt aTitleResourceID );
           
    protected:  // Data
        
        // The view part of the profile list view
        CSIPSettListSIPSrvSetContainer* iView;

        // The model part of the profile list view
        CSIPSettListSIPSrvSetModel* iModel;

         // Title pane txt's resource id
        TInt iTitleResourceID;
        
        TVwsViewId iPrevViewId; // Previous view    
        
        TBool iExit;
        
    friend class UT_SIPSettListSIPRegSetView;
    };

#endif      // SIP_SETT_LIST_SIP_SRV_SET_VIEW_H
            
// End of File