uiservicetab/vimpstcmdprocess/inc/mvimpstcmdfactory.h
branchRCL_3
changeset 23 9a48e301e94b
parent 0 5e5d6b214f4f
equal deleted inserted replaced
22:3104fc151679 23:9a48e301e94b
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  IM Command factory abstract API.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef MVIMPSTCMDFACTORY_H
       
    20 #define MVIMPSTCMDFACTORY_H
       
    21 
       
    22 #include "vimpstcmd.hrh"
       
    23 
       
    24 //  FORWARD DECLARATIONS
       
    25 class MVIMPSTCmd;
       
    26 class MVIMPSTCmdObserver;
       
    27 class MVIMPSTProcessArray;
       
    28 
       
    29 //  CLASS DECLARATION 
       
    30 
       
    31 /**
       
    32  * Instant Messaging command factory API.
       
    33  * @lib vimpstcmdprocess.dll
       
    34  * @since 5.0
       
    35  */
       
    36 class MVIMPSTCmdFactory
       
    37     {
       
    38     public:  // Interface
       
    39 	    /**
       
    40 		 * Virtual destructor.
       
    41 		 */
       
    42 		virtual ~MVIMPSTCmdFactory() { }
       
    43 
       
    44 		/**
       
    45          * Creates a command given command ID.
       
    46          *
       
    47          * @param aCommandId ID of the command that the command object is created for.
       
    48          * @param aData         Pass the data required for the command to process      
       
    49          * @return the created command object
       
    50          */
       
    51         virtual MVIMPSTCmd* CreateCommandForIdL(
       
    52                 TImCommandId aCommandId,TAny* aData = NULL)  =0;
       
    53        
       
    54         /**
       
    55          * AddObserverL :add the observer from ui to get back the command events
       
    56          * @param: aObserver 
       
    57          */
       
    58        virtual void AddObserverL(MVIMPSTCmdObserver* aObserver) = 0;    
       
    59        
       
    60        
       
    61         /**
       
    62          * RemoveObserverL :remoces the observer from ui.
       
    63          * @param: aObserver 
       
    64          */
       
    65        virtual void RemoveObserver(MVIMPSTCmdObserver* aObserver ) = 0;
       
    66        
       
    67        /**
       
    68         * Return a reference to the precess array.
       
    69         * @return MVIMPSTProcessArray, reference of precess array.
       
    70         */      
       
    71        virtual MVIMPSTProcessArray& GetProcessInterface() = 0;       
       
    72 		                
       
    73     };
       
    74 
       
    75 #endif // MVIMPSTCMDFACTORY_H
       
    76 
       
    77 // End of File