--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstcmdprocess/inc/mvimpstcmdfactory.h Wed Sep 01 12:33:36 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2008 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: IM Command factory abstract API.
+*
+*/
+
+
+#ifndef MVIMPSTCMDFACTORY_H
+#define MVIMPSTCMDFACTORY_H
+
+#include "vimpstcmd.hrh"
+
+// FORWARD DECLARATIONS
+class MVIMPSTCmd;
+class MVIMPSTCmdObserver;
+class MVIMPSTProcessArray;
+
+// CLASS DECLARATION
+
+/**
+ * Instant Messaging command factory API.
+ * @lib vimpstcmdprocess.dll
+ * @since 5.0
+ */
+class MVIMPSTCmdFactory
+ {
+ public: // Interface
+ /**
+ * Virtual destructor.
+ */
+ virtual ~MVIMPSTCmdFactory() { }
+
+ /**
+ * Creates a command given command ID.
+ *
+ * @param aCommandId ID of the command that the command object is created for.
+ * @param aData Pass the data required for the command to process
+ * @return the created command object
+ */
+ virtual MVIMPSTCmd* CreateCommandForIdL(
+ TImCommandId aCommandId,TAny* aData = NULL) =0;
+
+ /**
+ * AddObserverL :add the observer from ui to get back the command events
+ * @param: aObserver
+ */
+ virtual void AddObserverL(MVIMPSTCmdObserver* aObserver) = 0;
+
+
+ /**
+ * RemoveObserverL :remoces the observer from ui.
+ * @param: aObserver
+ */
+ virtual void RemoveObserver(MVIMPSTCmdObserver* aObserver ) = 0;
+
+ /**
+ * Return a reference to the precess array.
+ * @return MVIMPSTProcessArray, reference of precess array.
+ */
+ virtual MVIMPSTProcessArray& GetProcessInterface() = 0;
+
+ };
+
+#endif // MVIMPSTCMDFACTORY_H
+
+// End of File