Inheritance diagram for C_ProtocolExternal:
Public Types | |
typedef C_ProtocolExternal::_field_def_t | T_DefField |
typedef C_ProtocolExternal::_field_def_t * | T_pDefField |
Public Member Functions | |
C_ProtocolExternal (C_TransportControl *P_transport_control, C_XmlData *P_def, char **P_name, T_pConfigValueList P_config_value_list, T_ConstructorResult *P_res) | |
~C_ProtocolExternal () | |
C_MessageFrame * | create_new_message (C_MessageFrame *P_msg) |
C_MessageFrame * | create_new_message (void *P_xml, T_pInstanceDataList P_list, int *P_nb_body_value) |
char * | message_name () |
char * | message_component_name () |
T_pNameAndIdList | message_name_list () |
T_pNameAndIdList | message_component_name_list () |
int | find_field (char *P_name) |
bool | find_present_session (int P_msg_id, int P_id) |
T_TypeType | get_field_type (int P_id, int P_sub_id) |
bool | check_sub_entity_needed (int P_id) |
char * | get_string_value (int P_id, T_pValueData P_data) |
char * | get_string_value_field_body (int P_id, T_pValueData P_data) |
C_MsgBuildContextFactory * | get_factory () |
C_ProtocolFrame::T_MsgError | from_external (C_MsgBuildContext *P_build, T_pReceiveMsgContext P_recvMsgCtx) |
C_ProtocolFrame::T_MsgError | to_external (C_MsgBuildContext *P_build, C_MessageFrame *P_msg) |
void | log_message (char *P_header, C_MessageFrame *P_msg) |
Classes | |
struct | _field_body_t |
struct | _field_def_t |
struct | _field_desc_t |
struct | _field_value_t |
struct | _fielddef_body_t |
struct | _fielddef_header_t |
struct | _fielddef_t |
Definition at line 39 of file C_ProtocolExternal.hpp.
|
Create a new message Implements C_ProtocolFrame. Definition at line 338 of file C_ProtocolExternal.cpp. References C_MessageExternal::m_id. 00340 { 00341 // xml message analysis 00342 C_XmlData *P_data = (C_XmlData *)P_xml ; 00343 T_FieldHeaderList *L_field_list = NULL ; 00344 int L_ret = 0 ; 00345 C_MessageExternal *L_msg = NULL ; 00346 T_MessageNameMap::iterator L_it ; 00347 00348 if (P_data != NULL) { 00349 L_field_list = analyze_header_value(P_data, L_field_list, false, &L_ret); 00350 } 00351 00352 if (L_ret != -1) { 00353 if (L_field_list != NULL) { 00354 if (!L_field_list->empty()) { 00355 L_it = m_message_map->find(T_MessageNameMap::key_type((*(L_field_list->begin())).m_name)); 00356 if (L_it == m_message_map->end()) { 00357 GEN_ERROR(E_GEN_FATAL_ERROR, 00358 "Unknown message [" << (*(L_field_list->begin())).m_name << "] in dictionnary"); 00359 } else { 00360 L_msg = build_message(L_it->second, *(L_field_list->begin()), P_list, P_nb_value); 00361 if (L_msg != NULL) { 00362 L_msg -> m_id = L_it->second->m_id ; 00363 00364 // L_msg->dump(std::cerr); 00365 00366 } 00367 } 00368 } 00369 } 00370 } 00371 00372 return (L_msg); 00373 }
|
|
Create a new message Implements C_ProtocolFrame. Definition at line 325 of file C_ProtocolExternal.cpp. 00325 { 00326 C_MessageExternal *L_dest = NULL ; 00327 C_MessageExternal *L_source = dynamic_cast<C_MessageExternal *>(P_msg) ; 00328 00329 if (L_source != NULL) { 00330 // L_source->dump(std::cerr); 00331 // NEW_VAR(L_dest, C_MessageExternal()); 00332 // *L_dest = *L_source ; 00333 NEW_VAR(L_dest, C_MessageExternal(*L_source)); 00334 } 00335 return (L_dest); 00336 }
|