upnpframework/upnpcommand/inc/upnpnotehandler.h
author samhuttu
Mon, 01 Nov 2010 12:37:49 +0200
branchnew development branch with rendering state machine and other goodies
changeset 38 5360b7ddc251
parent 0 7f85d04be362
permissions -rw-r--r--
New development branch with e.g. rendering state machine and a simple Qt example application using it.

/*
* Copyright (c) 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:  Header file for the CUpnpNoteHandler class.
*
*/


#ifndef UPNP_COMMAND_NOTE_HANDLER_TASK_H
#define UPNP_COMMAND_NOTE_HANDLER_TASK_H

// INCLUDES
#include <e32base.h>

// FORWARD DECLARATIONS
class CAknWaitDialog;

/**
* This class does all UI note handling of UpnpCommand component.
*
* @since S60 3.2
*/
class CUpnpNoteHandler : public CBase
    {
    public: // Construction methods

        /**
         * Creates a new CUpnpNoteHandler instance.
         *
         * @since S60 3.2
         * @return a new instance of CUpnpNoteHandler
         */
        static CUpnpNoteHandler* NewL();

    public: // Business logic methods

        /**
         * Run the "Connecting" wait note.
         *
         * @since Series 60 3.2
         * @return TInt return value
         */
        TInt RunConnectingWaitNote();

        /**
         * Closes the currently displaying wait note.
         *
         * @since Series 60 3.2
         */
        void CloseWaitNote();

        /**
         * Show "DRM protected files not supported." info note.
         *
         * @since Series 60 3.2
         */
        void ShowDrmNoteL();

        /**
         * Show "Connection lost." info note.
         *
         * @since Series 60 3.2
         */
        void ShowConnectionLostNoteL();
        
        /**
         * Show info note when local MS fails to start
         * 
         * @since Series 60 3.2
         */
        void ShowLocalMSStartErrorNoteL();
        
        /**
         * Show "N File copied." info note.
         *
         * @since Series 60 3.2
         */
        void ShowCopyInfoNoteL( TInt aCount, const TDesC& aServerName );
        
        /**
         * Show "N Files moved." info note.
         *
         * @since Series 60 3.2
         */
        void ShowMoveInfoNoteL( TInt aCount, const TDesC& aServerName );
        
        /**
         * Show "Copy failed." info note.
         *
         * @since Series 60 3.2
         */
        void ShowCopyErrorNoteL();
        
        /**
         * Show "Move failed" info note.
         *
         * @since Series 60 3.2
         */
        void ShowMoveErrorNoteL();

        /**
         * Show "Connection lost" info note.
         *
         * @since Series 60 3.2
         */
        void ShowCopyDisconnectionErrorNoteL();
        
        /**
         * Show "Connection lost" info note.
         *
         * @since Series 60 3.2
         */
        void ShowMoveDisconnectionErrorNoteL();

        /**
         * Show "Playback failed" info note.
         *
         * @since Series 60 3.2
         */
        void ShowPlaybackFailedNoteL();
        
        /**
         * Show "%U is already in use. Please try again later." error note.
         */
        void ShowRendererInUseNoteL( const TDesC& aDeviceName );

        /**
         * Reset iDrmNoteShown
         *
         * @since Series 60 3.2
         */
        void ResetDrmNoteCount();

    public: // Public destructor

        /**
         * Destructor.
         */
        virtual ~CUpnpNoteHandler();
        
    private: // Businnes l
    
        /**
         * Runs general wait note.
         *
         * @since Series 60 3.2
         * @return TInt return value
         */
        TInt RunWaitNote( TInt aResource );
        
        /**
         * Show error note
         *
         * @since Series 60 3.2
         */
        void ShowErrorNoteL( TInt aResource );

        /**
         * Show info note
         *
         * @since Series 60 3.2
         */
        void ShowInfoNoteL( const TDesC& aText );

    private: // Private construct/destruct methods

        /**
         * Perform the first phase of two phase construction.
         *
         * @since S60 3.2
         */
        CUpnpNoteHandler();

        /**
         * Perform the second phase of two phase construction. Reserves the
         * Upnp Fw resources (they are released when the task is destroyed).
         */
        void ConstructL();
        
    private: // Data members
    
        /**
         * Currently showing wait note. Owned.
         */
        CAknWaitDialog* iWaitNote;

        /**
         * The resource file offset.
         */
        TInt iResFileOffset;
        
        /**
         * A boolean value indicating the state of the DRM note showing.
         * The note is shown only once per session.
         */
        TBool iDrmNoteShown;

    };

#endif // UPNP_COMMAND_NOTE_HANDLER_TASK_H

// End of File