00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "C_CommandActionFactory.hpp"
00022 #include "C_StoreAction.hpp"
00023 #include "C_ReStoreAction.hpp"
00024 #include "C_StartTimerAction.hpp"
00025 #include "C_StopTimerAction.hpp"
00026 #include "C_SetValueAction.hpp"
00027 #include "C_IncCounterAction.hpp"
00028 #include "C_CheckPresenceAction.hpp"
00029 #include "C_GetExternalDataAction.hpp"
00030 #include "C_IncVarAction.hpp"
00031 #include "C_CheckValueAction.hpp"
00032 #include "C_CheckOrderAction.hpp"
00033 #include "C_SetNewSessionIdAction.hpp"
00034 #include "C_InternalInitDoneAction.hpp"
00035 #include "C_CheckAllMsgAction.hpp"
00036 #include "C_AddInCallMapAction.hpp"
00037 #include "C_SelectExternalDataLineAction.hpp"
00038 #include "C_OpenAction.hpp"
00039 #include "C_CloseAction.hpp"
00040 #include "C_TransportOptionAction.hpp"
00041 #include "C_SetBitAction.hpp"
00042 #include "C_SetValueBitAction.hpp"
00043 #include "C_GetExternalDataActionToMem.hpp"
00044 #include "C_SetValueActionMethodExtern.hpp"
00045
00046
00047
00048 #include "Utils.hpp"
00049
00050 C_CommandActionFactory::C_CommandActionFactory(T_pControllers P_controllers) {
00051 m_controllers = *P_controllers ;
00052 }
00053
00054 C_CommandActionFactory::~C_CommandActionFactory() {
00055 }
00056
00057 C_CommandAction* C_CommandActionFactory::create(T_CmdAction P_cmdAction) {
00058
00059 C_CommandAction* L_action = NULL ;
00060
00061 switch (P_cmdAction.m_type) {
00062
00063 case E_ACTION_SCEN_OPEN:
00064 NEW_VAR(L_action,
00065 C_OpenAction(P_cmdAction,&m_controllers));
00066 break ;
00067 case E_ACTION_SCEN_CLOSE:
00068 NEW_VAR(L_action,
00069 C_CloseAction(P_cmdAction,&m_controllers));
00070 break ;
00071 case E_ACTION_SCEN_MEMORY_STORE:
00072 NEW_VAR(L_action,
00073 C_StoreAction(P_cmdAction,&m_controllers));
00074 break ;
00075 case E_ACTION_SCEN_MEMORY_RESTORE:
00076 NEW_VAR(L_action,
00077 C_ReStoreAction(P_cmdAction,&m_controllers));
00078 break ;
00079 case E_ACTION_SCEN_START_TIMER:
00080 NEW_VAR(L_action,
00081 C_StartTimerAction(P_cmdAction,&m_controllers));
00082 break ;
00083 case E_ACTION_SCEN_STOP_TIMER:
00084 NEW_VAR(L_action,
00085 C_StopTimerAction(P_cmdAction,&m_controllers));
00086 break ;
00087 case E_ACTION_SCEN_SET_VALUE:
00088 NEW_VAR(L_action,
00089 C_SetValueAction(P_cmdAction,&m_controllers));
00090 break ;
00091 case E_ACTION_SCEN_INC_COUNTER:
00092 NEW_VAR(L_action,
00093 C_IncCounterAction(P_cmdAction,&m_controllers));
00094 break ;
00095 case E_ACTION_SCEN_CHECK_PRESENCE:
00096 NEW_VAR(L_action,
00097 C_CheckPresenceAction(P_cmdAction,&m_controllers));
00098 break ;
00099 case E_ACTION_SCEN_GET_EXTERNAL_DATA:
00100 NEW_VAR(L_action,
00101 C_GetExternalDataAction(P_cmdAction,&m_controllers));
00102 break ;
00103 case E_ACTION_SCEN_INC_VAR:
00104 NEW_VAR(L_action,
00105 C_IncVarAction(P_cmdAction,&m_controllers));
00106 break ;
00107 case E_ACTION_SCEN_CHECK_VALUE:
00108 NEW_VAR(L_action,
00109 C_CheckValueAction(P_cmdAction,&m_controllers));
00110 break ;
00111 case E_ACTION_SCEN_CHECK_ORDER:
00112 NEW_VAR(L_action,
00113 C_CheckOrderAction(P_cmdAction,&m_controllers));
00114 break ;
00115 case E_ACTION_SCEN_SET_NEW_SESSION_ID:
00116 NEW_VAR(L_action,
00117 C_SetNewSessionIdAction(P_cmdAction,&m_controllers));
00118 break ;
00119 case E_ACTION_SCEN_INTERNAL_INIT_DONE:
00120 NEW_VAR(L_action,
00121 C_InternalInitDoneAction(P_cmdAction,&m_controllers));
00122 break ;
00123 case E_ACTION_SCEN_CHECK_ALL_MSG:
00124 NEW_VAR(L_action,
00125 C_CheckAllMsgAction(P_cmdAction,&m_controllers));
00126 break ;
00127 case E_ACTION_SCEN_ADD_IN_CALL_MAP:
00128 NEW_VAR(L_action,
00129 C_AddInCallMapAction(P_cmdAction,&m_controllers));
00130 break ;
00131 case E_ACTION_SCEN_SELECT_EXTERNAL_DATA_LINE:
00132 NEW_VAR(L_action,
00133 C_SelectExternalDataLineAction(P_cmdAction,&m_controllers));
00134 break ;
00135
00136 case E_ACTION_SCEN_TRANSPORT_OPTION:
00137 NEW_VAR(L_action,
00138 C_TransportOptionAction(P_cmdAction,&m_controllers));
00139 break ;
00140
00141 case E_ACTION_SCEN_SET_BIT:
00142 NEW_VAR(L_action,
00143 C_SetBitAction(P_cmdAction,&m_controllers));
00144 break ;
00145
00146 case E_ACTION_SCEN_SET_VALUE_BIT:
00147 NEW_VAR(L_action,
00148 C_SetValueBitAction(P_cmdAction,&m_controllers));
00149 break ;
00150
00151 case E_ACTION_SCEN_GET_EXTERNAL_DATA_TO_MEM:
00152 NEW_VAR(L_action,
00153 C_GetExternalDataActionToMem(P_cmdAction,&m_controllers));
00154 break ;
00155
00156 case E_ACTION_SCEN_SET_VALUE_METHOD_EXTERN:
00157 NEW_VAR(L_action,
00158 C_SetValueActionMethodExtern(P_cmdAction,&m_controllers));
00159 break ;
00160
00161 default :
00162 break ;
00163 }
00164
00165 return(L_action);
00166 }