ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h
changeset 23 74c9f037fd5d
child 24 99ad1390cd33
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h	Fri Mar 19 09:28:59 2010 +0200
@@ -0,0 +1,74 @@
+/*
+* 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 GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerNewMedia : public GlxMpxCommandHandler
+	{
+	Q_OBJECT    
+public:
+    GlxCommandHandlerNewMedia();
+    ~GlxCommandHandlerNewMedia();
+
+    TInt ExecuteLD(TGlxMediaId& aNewMediaId);
+
+protected: // From MGlxMediaListObserver    
+    /// See @ref MGlxMediaListObserver::HandleItemAddedL
+    void HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList);
+    
+protected: // from GlxMpxCommandHandler
+
+    CMPXCommand* CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& aConsume) const ;
+
+	void DoHandleCommandCompleteL(TAny* aSessionId, CMPXCommand* aCommandResult, 
+            TInt aError, MGlxMediaList* aList);
+
+    
+public:
+    /**
+     *  Id of new media
+     */
+    TGlxMediaId iNewMediaId;
+    
+    /**
+     *  Active scheduler wait object. (Owned)
+     */
+    CActiveSchedulerWait* iSchedulerWait;
+    
+    /**
+     * Error set by DoHandleCommandCompleteL()
+     */
+    mutable TInt iNewMediaCreationError;
+    
+    mutable HBufC* iNewMediaItemTitle;
+
+	};
+
+    
+    
+#endif // GLXCOMMANDHANDLERNEWMEDIA_H