00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 2 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * This program is distributed in the hope that it will be useful, 00008 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00009 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00010 * GNU General Public License for more details. 00011 * 00012 * You should have received a copy of the GNU General Public License 00013 * along with this program; if not, write to the Free Software 00014 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00015 * 00016 * (c)Copyright 2006 Hewlett-Packard Development Company, LP. 00017 * 00018 */ 00019 00020 #include "C_CheckOrderAction.hpp" 00021 #include "GeneratorTrace.hpp" 00022 #include "GeneratorError.h" 00023 00024 C_CheckOrderAction::C_CheckOrderAction(T_CmdAction P_cmdAction, 00025 T_pControllers P_controllers) 00026 : C_CommandAction (P_cmdAction, P_controllers) { 00027 } 00028 00029 C_CheckOrderAction::~C_CheckOrderAction() { 00030 } 00031 00032 00033 T_exeCode C_CheckOrderAction::execute(T_pCmd_scenario P_pCmd, 00034 T_pCallContext P_callCtxt, 00035 C_MessageFrame *P_msg, 00036 C_MessageFrame *P_ref) { 00037 00038 T_exeCode L_exeCode = E_EXE_NOERROR ; 00039 bool L_check_result ; 00040 00041 00042 L_check_result 00043 = P_msg->check_field_order 00044 (m_id, 00045 m_check_behaviour, 00046 m_position); 00047 if (L_check_result == false) { 00048 GEN_LOG_EVENT(LOG_LEVEL_TRAFFIC_ERR, 00049 "check error on call with session-id [" 00050 << P_callCtxt->m_id_table[P_pCmd->m_channel_id] << "]"); 00051 00052 00053 switch (m_check_behaviour) { 00054 case E_CHECK_BEHAVIOUR_ERROR : 00055 L_exeCode = E_EXE_ERROR_CHECK ; 00056 break; 00057 case E_CHECK_BEHAVIOUR_ABORT: 00058 L_exeCode = E_EXE_ABORT_CHECK ; 00059 break; 00060 default: 00061 break; 00062 } 00063 00064 } 00065 00066 return (L_exeCode); 00067 } 00068 00069 00070 00071 00072