ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 14:16:16 +0300
changeset 49 f291796e213d
parent 26 c499df2dbb33
child 50 a0f57508af73
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* Copyright (c) 2009 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: 
*
*/

#ifndef GLXCOMMANDHANDLERNEWMEDIA_H
#define GLXCOMMANDHANDLERNEWMEDIA_H

#include <glxmpxcommandhandler.h>
#include <glxmediaid.h>

#ifdef BUILD_COMMONCOMMANDHANDLERS
#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
#else
#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
#endif

class HbInputDialog;

class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerNewMedia : public GlxMpxCommandHandler
	{
	Q_OBJECT    
public:
    GlxCommandHandlerNewMedia();
    ~GlxCommandHandlerNewMedia();

    TInt ExecuteLD(TGlxMediaId& aNewMediaId);

private:
    QString CompletionTextL() const;
    QString ProgressTextL() const; 

protected: // From MGlxMediaListObserver    
    /// See @ref MGlxMediaListObserver::HandleItemAddedL
    void HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList);
    void HandleError(TInt aError);
    void HandleErrorL(TInt aErrorCode);
protected: // from GlxMpxCommandHandler

    CMPXCommand* CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& aConsume) const ;

	void DoHandleCommandCompleteL(TAny* aSessionId, CMPXCommand* aCommandResult, 
            TInt aError, MGlxMediaList* aList);

private:
    QString GenerateNewMediaItemTitleL(QString newMediaTilte,MGlxMediaList& aMediaList) const;
public:
    /**
     *  Id of new media
     */
    TGlxMediaId iNewMediaId;
    
    /**
     *  Active scheduler wait object. (Owned)
     */
    CActiveSchedulerWait* iSchedulerWait;
    
    /**
     * Error set by DoHandleCommandCompleteL()
     */
    mutable TInt iNewMediaCreationError;
    
    mutable HBufC* iNewMediaItemTitle;
private:
    bool mShowConfirmation;

	};

    
    
#endif // GLXCOMMANDHANDLERNEWMEDIA_H