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_CheckAllMsgAction.hpp" 00021 #include "GeneratorTrace.hpp" 00022 #include "GeneratorError.h" 00023 00024 C_CheckAllMsgAction::C_CheckAllMsgAction(T_CmdAction P_cmdAction, 00025 T_pControllers P_controllers) 00026 : C_CommandAction (P_cmdAction, P_controllers) { 00027 } 00028 00029 C_CheckAllMsgAction::~C_CheckAllMsgAction() { 00030 } 00031 00032 00033 T_exeCode C_CheckAllMsgAction::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(P_ref, 00044 m_controllers.m_check_mask, 00045 m_check_behaviour); 00046 if (L_check_result == false) { 00047 GEN_LOG_EVENT(LOG_LEVEL_TRAFFIC_ERR, 00048 "Message check error on call with session-id [" 00049 << P_callCtxt->m_id_table[P_pCmd->m_channel_id] << "]"); 00050 if (m_controllers.m_check_behaviour == E_CHECK_BEHAVIOUR_ERROR) { 00051 L_exeCode = E_EXE_ERROR_CHECK ; 00052 } 00053 } 00054 00055 return (L_exeCode); 00056 } 00057 00058 00059 00060 00061