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 #ifndef _C_PROTOCOLEXTERNALFRAME_H 00021 #define _C_PROTOCOLEXTERNALFRAME_H 00022 00023 // Protocol External Frame Definition Class 00024 00025 #include "C_ProtocolFrame.hpp" 00026 #include "C_MsgBuildContext.hpp" 00027 #include "C_MsgBuildContextFactory.hpp" 00028 #include "ReceiveMsgContext.h" 00029 00030 00031 class C_ProtocolExternalFrame : public C_ProtocolFrame { 00032 00033 public: 00034 00035 00036 // typedef struct _paramdef_t { 00037 // char *m_name ; 00038 // char *m_default ; 00039 // char *m_mandatory ; 00040 // } T_ParamDef, *T_pParamDef ; 00041 // typedef list_t<T_ParamDef> T_ParamDefList, *T_pParamDefList ; 00042 00043 00044 C_ProtocolExternalFrame() { m_type = E_PROTOCOL_EXTERNAL; } ; 00045 virtual ~C_ProtocolExternalFrame() {} ; 00046 00047 virtual T_MsgError from_external (C_MsgBuildContext* P_build, 00048 T_pReceiveMsgContext P_Ctx) = 0 ; 00049 virtual T_MsgError to_external (C_MsgBuildContext* P_build, 00050 C_MessageFrame *P_msg) = 0 ; 00051 00052 virtual C_MsgBuildContextFactory* get_factory() = 0 ; 00053 00054 virtual void log_message (char *P_header, C_MessageFrame *P_msg) = 0 ; 00055 00056 protected: 00057 private: 00058 00059 } ; 00060 00061 typedef C_ProtocolExternalFrame *T_pC_ProtocolExternalFrame ; 00062 00063 #endif // _C_PROTOCOLEXTERNALFRAME_H 00064 00065