upnpframework/upnpcommonui/inc/upnpadvfinddialog.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:00 +0200
changeset 0 7f85d04be362
permissions -rw-r--r--
Revision: 200947 Kit: 200951

/*
* Copyright (c) 2005-2006 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:  advanced find dialog class header
*
*/



#ifndef UPNPADVANCEDFINDDIALOG_H
#define UPNPADVANCEDFINDDIALOG_H

//  INCLUDES
#include <aknselectionlist.h>
#include <aknlists.h> 
#include <aknsettingitemlist.h> 
#include <akntitle.h> //for status pane

// FORWARD DECLARATIONS
class CUPnPAdvancedFindList;
class MUPnPAVController;
class MUPnPAVBrowsingSession;
class CUPnPCommonUI;

// CLASS DECLARATION

/**
*  Class declaration for UPnP Advanced find dialog
*  @since Series 60 3.1
*/
NONSHARABLE_CLASS( CUPnPAdvancedFindDialog ) : public CAknDialog
    {
    public:  // Constructors and destructor
        
        /**
        * Two-phased constructor.
        */
        static CUPnPAdvancedFindDialog* NewL(
                                TInt aMenuResource, 
                                MUPnPAVController& aAVControl,
                                MUPnPAVBrowsingSession& aBrowsingSession,
                                CUPnPCommonUI& aCommonUI );
        
        /**
        * Destructor.
        */
        virtual ~CUPnPAdvancedFindDialog();

    public: // New functions
    
        /**
         * Called from CommonUI to destroy the advFind dialog itself
         * when the selected media server disappears
         * @since Series 60 3.1
         * @param aError exit error
         * @return None
         */   
        void DismissItselfL( TInt aError );

    public: // Functions from base classes

       /**
        * From CAknDialog, handles menu commands
        * @since Series 60 Series3.1
        * @param aCommandId, command to be handled
        */
        void ProcessCommandL( TInt aCommandId );
      
       /**
        * From CAknDialog, handles key events.
        * @since Series 60 Series3.1
        * @param aKeyEvent Event to handled.
        * @param aType Type of the key event. 
        * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). 
        */
        TKeyResponse OfferKeyEventL( const TKeyEvent &aKeyEvent, 
                                     TEventCode aType );
        
    protected:  // Functions from base classes
       /**
        * From CAknDialog, handles layout initialization
        * @since Series 60 Series3.1
        * @param none
        * @return none
        */
        void PreLayoutDynInitL();

       /**
        * From CAknDialog, handles focus changes of the dialog
        * @since Series 60 Series3.1
        * @param aButtonId, pressed button id
        * @return True if ready to close dialog, False otherwise
        */
        TBool OkToExitL( TInt aButtonId );
       
       /**
        * Creates custom control
        * @since Series 60 Series3.1
        * @param aControlType, control type
        * @return SEikControlInfo control info
        */
        virtual SEikControlInfo CreateCustomControlL( TInt aControlType );
        
    private:

       /**
        * C++ default constructor.
        */
        CUPnPAdvancedFindDialog::CUPnPAdvancedFindDialog(
                                MUPnPAVController& aAVControl,
                                MUPnPAVBrowsingSession& aBrowsingSession,
                                CUPnPCommonUI& aCommonUI );
       /**
        * By default Symbian 2nd phase constructor is private.
        */
        void ConstructL( TInt aMenuResource );
    
    private:
        
        /**
         * Set dialog title
         */
        void SetTitleL();
        
    private:    // Data
        
        // list member variable for dialog data
        CUPnPAdvancedFindList*        iSettingsList; // not owned
        // title pane
        CAknTitlePane*                iTitlePane; // not owned
        // status pane
        CEikStatusPane*               iStatusPane; // not owned
        
        MUPnPAVController&            iAVControl; // not owned
        MUPnPAVBrowsingSession&       iBrowseSession; // not owned
        
        // title text before find
        HBufC*                        iOriginalTitleText; // owned
        CUPnPCommonUI&                iCommonUI; //not owned
        
        TBool                         iClose;
    };

#endif      // UPNPADVANCEDFINDDIALOG_H   
            
// End of File