00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef _C_PROTOCOLBINARYSEPARATOR_
00021 #define _C_PROTOCOLBINARYSEPARATOR_
00022 
00023 #include "C_ProtocolBinary.hpp"
00024 
00025 class C_ProtocolBinarySeparator : public C_ProtocolBinary {
00026 
00027 public:
00028 
00029   C_ProtocolBinarySeparator() ;
00030   ~C_ProtocolBinarySeparator() ;
00031 
00032   virtual C_ProtocolFrame::T_MsgError       
00033   encode_body (int            P_nbVal, 
00034                T_pBodyValue   P_val, 
00035                unsigned char *P_buf, 
00036                size_t        *P_size) ;
00037 
00038   virtual C_MessageFrame*    create_new_message (C_MessageFrame *P_msg);
00039   virtual C_MessageFrame*    create_new_message (void                *P_xml,
00040                                                  T_pInstanceDataList  P_list,
00041                                                  int                 *P_nb_value);
00042 
00043   virtual int 
00044   decode_body (unsigned char *P_buf, 
00045                size_t         P_size,
00046                T_pBodyValue   P_valDec,
00047                int           *P_nbValDec,
00048                int           *P_headerId);
00049 
00050   virtual void  construction_data( C_XmlData            *P_def, 
00051                                    char                **P_name,
00052                                    T_pContructorResult   P_res) ;
00053 
00054 private:
00055   size_t  m_header_body_field_separator_size ;
00056   int     m_session_id ;
00057 
00058 
00059 } ; 
00060 
00061 #endif // _C_PROTOCOLBINARYSEPARATOR_
00062 
00063