Inheritance diagram for C_ProtocolText:
Public Types | |
typedef C_ProtocolText::_struct_management_session_id | T_ManagementSessionTextId |
typedef C_ProtocolText::_struct_management_session_id * | T_pManagementSessionTextId |
typedef list_t< T_ManagementSessionTextId > | T_ManagementSessionTextIdList |
typedef list_t< T_ManagementSessionTextId > * | T_pManagementSessionTextIdList |
typedef C_ProtocolFrame::T_MsgError(C_MessageText::* | T_BodyDecodeMethod )(int P_index, char *P_ptr, size_t *P_size) |
typedef C_ProtocolFrame::T_MsgError(C_MessageText::* | T_EncodeMethod )(int P_index) |
typedef T_pValueData(C_MessageText::* | T_SessionMethod )(C_ContextFrame *P_void) |
Public Member Functions | |
C_ProtocolText () | |
void | analyze_data (C_XmlData *P_def, char **P_name, T_pConfigValueList P_config_value_list, T_pContructorResult P_res) |
~C_ProtocolText () | |
C_MessageFrame * | decode_message (unsigned char *P_buffer, size_t *P_size, C_ProtocolTextFrame::T_pMsgError P_error) |
C_ProtocolTextFrame::T_MsgError | encode_message (C_MessageFrame *P_msg, unsigned char *P_buffer, size_t *P_buffer_size) |
void | log_buffer (char *P_header, unsigned char *P_buf, size_t P_size) |
char * | message_name () |
char * | message_component_name () |
T_pNameAndIdList | message_name_list () |
T_pNameAndIdList | message_component_name_list () |
char * | message_name (int P_Id) |
int | find_field (char *P_name) |
T_TypeType | get_field_type (int P_id, int P_sub_id) |
bool | check_sub_entity_needed (int P_id) |
bool | find_present_session (int P_msg_id, int P_id) |
C_MessageFrame * | create_new_message (C_MessageFrame *P_msg) |
C_MessageFrame * | create_new_message (void *P_xml, T_pInstanceDataList P_list, int *P_nb_value) |
char * | get_field_value_to_check (C_MessageText *P_msg, int P_id, int *P_size) |
char * | get_field_value (C_MessageText *P_msg, int P_id) |
char * | get_field_value (C_MessageText *P_msg, int P_id, C_RegExp *P_regexp_data) |
int | set_field_value (C_MessageText *P_msg, int P_id, T_pValueData P_value) |
int | get_message_id (char *P_name) |
T_pManagementSessionTextId | get_manage_session_elt (int P_id) |
int | get_nb_management_session () |
iostream_output & | print_header_msg (iostream_output &P_stream, int P_id, T_pValueData P_header) |
iostream_output & | print_data_msg (iostream_output &P_stream, T_pValueData P_data) |
C_MessageText * | create (C_ProtocolText *P_protocol, char *P_header, char *P_body) |
int | find_field_id (char *P_name) |
Friends | |
class | C_MessageText |
Classes | |
struct | _cdata_value_t |
struct | _defmethod_t |
struct | _field_desc_t |
struct | _fielddef_header_t |
struct | _fielddef_t |
struct | _regexp_str_t |
struct | _struct_body_decode_data |
struct | _struct_management_session_id |
union | _union_param |
Definition at line 41 of file C_ProtocolText.hpp.
|
Create a new message Implements C_ProtocolFrame. Definition at line 708 of file C_ProtocolText.cpp. 00710 { 00711 00712 C_MessageText *L_msg = NULL ; 00713 C_XmlData *P_data = (C_XmlData *)P_xml ; 00714 int L_ret = 0 ; 00715 T_pCDATAValueList L_list_value = NULL ; 00716 00717 T_CDATAValueList::iterator L_cdata_it ; 00718 char *L_header = NULL ; 00719 char *L_body = NULL ; 00720 int L_i = 0 ; 00721 00722 NEW_VAR(L_list_value, T_CDATAValueList()); 00723 00724 // analyze message from scenario 00725 L_ret = analyze_message_scen(P_data, L_list_value) ; 00726 00727 if (L_ret != -1) { 00728 if ((L_list_value != NULL ) && (!(L_list_value)->empty())) { 00729 for (L_cdata_it = (L_list_value)->begin(); 00730 L_cdata_it != (L_list_value)->end(); 00731 L_cdata_it++) { 00732 if (L_i == 0) { 00733 L_header = (*L_cdata_it).m_value ; 00734 } else if (L_i == 1) { 00735 L_body = (*L_cdata_it).m_value ; 00736 } else { 00737 // To Do if we have many value 00738 break ; 00739 } 00740 L_i++ ; 00741 } 00742 } else { 00743 GEN_ERROR(E_GEN_FATAL_ERROR, "C_ProtocolText::create_new_message() " 00744 << "no value found for this message [" << m_header_name << "]"); 00745 L_ret = -1 ; 00746 } 00747 } 00748 00749 if (L_ret != -1) { 00750 L_msg = create(this,L_header,L_body); 00751 if (L_msg == NULL) { 00752 GEN_ERROR(E_GEN_FATAL_ERROR, "C_ProtocolText::create_new_message() " 00753 << "Error while creating message with header [" 00754 << L_header 00755 << "]: message not in dictionary?"); 00756 } 00757 } 00758 00759 // delete L_list_value 00760 if (L_list_value != NULL ) { 00761 if (!L_list_value->empty()) { 00762 L_list_value->erase(L_list_value->begin(), 00763 L_list_value->end()); 00764 } 00765 DELETE_VAR(L_list_value); 00766 } 00767 00768 return (L_msg); 00769 00770 }
|
|
Create a new message Implements C_ProtocolFrame. Definition at line 664 of file C_ProtocolText.cpp. References C_MessageText. 00664 { 00665 C_MessageText *L_dest = NULL ; 00666 00667 C_MessageText *L_source = dynamic_cast<C_MessageText *>(P_msg) ; 00668 00669 if (L_source != NULL) { 00670 // L_source->dump(std::cerr); 00671 NEW_VAR(L_dest, C_MessageText(*L_source)); 00672 } else { 00673 NEW_VAR(L_dest, C_MessageText(this)); 00674 } 00675 00676 return (L_dest); 00677 }
|