Loading ccsrc/Protocols/Held/held_codec.cc +76 −67 Original line number Original line Diff line number Diff line Loading @@ -12,21 +12,26 @@ #include "urn_ietf_params_xml_ns_pidf_geopriv10.hh" #include "urn_ietf_params_xml_ns_pidf_geopriv10.hh" // TODO Unify held_codec for bothHttp & Sip: instead of LibHttp__XmlMessageBodyTypes::XmlBody, use a generic XmlBody common to LibItsHttp & LibSip // TODO Unify held_codec for bothHttp & Sip: instead of LibHttp__XmlMessageBodyTypes::XmlBody, use a generic XmlBody common to LibItsHttp & LibSip int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETSTRING& data) int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data) { { loggers::get_instance().log_msg(">>> held_codec::encode: ", (const Base_Type&)msg); loggers::get_instance().log_msg(">>> held_codec::encode: ", (const Base_Type&)body); if (body.raw().is_present() && body.raw().is_bound()) { const CHARSTRING& v = static_cast<const CHARSTRING&>(*body.raw().get_opt_value()); data = char2oct(v); } else { TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; TTCN_Buffer encoding_buffer; const LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_locationRequest)) { if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_locationRequest)) { const urn__ietf__params__xml__ns__geopriv__held::LocationRequestType& location_request = msg.locationRequest(); const urn__ietf__params__xml__ns__geopriv__held::LocationRequestType& location_request = msg.locationRequest(); loggers::get_instance().log_msg("held_codec::encode: Process LocationRequestType", (const Base_Type&)location_request); loggers::get_instance().log_msg("held_codec::encode: Process LocationRequestType", (const Base_Type&)location_request); location_request.encode(urn__ietf__params__xml__ns__geopriv__held::LocationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); location_request.encode(urn__ietf__params__xml__ns__geopriv__held::LocationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_locationResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_locationResponse)) { const urn__ietf__params__xml__ns__geopriv__held::LocationResponseType& location_response = msg.locationResponse(); const urn__ietf__params__xml__ns__geopriv__held::LocationResponseType& location_response = msg.locationResponse(); loggers::get_instance().log_msg("held_codec::encode: Process LocationResponseType", (const Base_Type&)location_response); loggers::get_instance().log_msg("held_codec::encode: Process LocationResponseType", (const Base_Type&)location_response); location_response.encode(urn__ietf__params__xml__ns__geopriv__held::LocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); location_response.encode(urn__ietf__params__xml__ns__geopriv__held::LocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); Loading Loading @@ -84,13 +89,14 @@ int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETS data = OCTETSTRING(s.length(), (const unsigned char*)s.c_str()); data = OCTETSTRING(s.length(), (const unsigned char*)s.c_str()); } } } loggers::get_instance().log_msg("held_codec::encode: After encoding: ", data); loggers::get_instance().log_msg("held_codec::encode: After encoding: ", data); loggers::get_instance().log("<<< held_codec::encode"); loggers::get_instance().log("<<< held_codec::encode"); return 0; return 0; } } int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& msg, params* p_params) int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params) { { loggers::get_instance().log_msg(">>> held_codec::decode: p_data=", p_data); loggers::get_instance().log_msg(">>> held_codec::decode: p_data=", p_data); Loading @@ -107,6 +113,9 @@ int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes: } } } } loggers::get_instance().log_msg("body: ", body); LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); body.raw().set_to_omit(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(OCTETSTRING(it->second.length(), (const unsigned char*)it->second.c_str())); TTCN_Buffer decoding_buffer(OCTETSTRING(it->second.length(), (const unsigned char*)it->second.c_str())); Loading ccsrc/Protocols/Held/held_codec.hh +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit held_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; explicit held_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; virtual ~held_codec() { }; virtual ~held_codec() { }; virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody&, OCTETSTRING& data); virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody&, params* p_params = NULL); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params = NULL); }; // End of class held_codec }; // End of class held_codec ccsrc/Protocols/Lost/lost_codec.cc +66 −57 Original line number Original line Diff line number Diff line Loading @@ -10,41 +10,46 @@ #include "urn_ietf_params_xml_ns_lost1.hh" #include "urn_ietf_params_xml_ns_lost1.hh" int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETSTRING& data) int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data) { { loggers::get_instance().log_msg(">>> lost_codec::encode: ", (const Base_Type&)msg); loggers::get_instance().log_msg(">>> lost_codec::encode: ", (const Base_Type&)body); if (body.raw().is_present() && body.raw().is_bound()) { const CHARSTRING& v = static_cast<const CHARSTRING&>(*body.raw().get_opt_value()); data = char2oct(v); } else { TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; TTCN_Buffer encoding_buffer; CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_findServiceRequest)) { const LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_findServiceRequest)) { const urn__ietf__params__xml__ns__lost1::FindService& find_service = msg.findServiceRequest(); const urn__ietf__params__xml__ns__lost1::FindService& find_service = msg.findServiceRequest(); loggers::get_instance().log_msg("lost_codec::encode: Process FindService", (const Base_Type&)find_service); loggers::get_instance().log_msg("lost_codec::encode: Process FindService", (const Base_Type&)find_service); find_service.encode(urn__ietf__params__xml__ns__lost1::FindService_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); find_service.encode(urn__ietf__params__xml__ns__lost1::FindService_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServices)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServices)) { const urn__ietf__params__xml__ns__lost1::ListServices& list_services = msg.listServices(); const urn__ietf__params__xml__ns__lost1::ListServices& list_services = msg.listServices(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServices", (const Base_Type&)list_services); loggers::get_instance().log_msg("lost_codec::encode: Process ListServices", (const Base_Type&)list_services); list_services.encode(urn__ietf__params__xml__ns__lost1::ListServices_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services.encode(urn__ietf__params__xml__ns__lost1::ListServices_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesByLocation)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesByLocation)) { const urn__ietf__params__xml__ns__lost1::ListServicesByLocation& list_services_by_location = msg.listServicesByLocation(); const urn__ietf__params__xml__ns__lost1::ListServicesByLocation& list_services_by_location = msg.listServicesByLocation(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocation", (const Base_Type&)list_services_by_location); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocation", (const Base_Type&)list_services_by_location); list_services_by_location.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocation_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_by_location.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocation_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_findServiceResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_findServiceResponse)) { const urn__ietf__params__xml__ns__lost1::FindServiceResponse& find_service_response = msg.findServiceResponse(); const urn__ietf__params__xml__ns__lost1::FindServiceResponse& find_service_response = msg.findServiceResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process FindServiceResponse", (const Base_Type&)find_service_response); loggers::get_instance().log_msg("lost_codec::encode: Process FindServiceResponse", (const Base_Type&)find_service_response); find_service_response.encode(urn__ietf__params__xml__ns__lost1::FindServiceResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); find_service_response.encode(urn__ietf__params__xml__ns__lost1::FindServiceResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesResponse)) { const urn__ietf__params__xml__ns__lost1::ListServicesResponse& list_services_response = msg.listServicesResponse(); const urn__ietf__params__xml__ns__lost1::ListServicesResponse& list_services_response = msg.listServicesResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesResponse", (const Base_Type&)list_services_response); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesResponse", (const Base_Type&)list_services_response); list_services_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesByLocationResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesByLocationResponse)) { const urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse& list_services_by_location_response = msg.listServicesByLocationResponse(); const urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse& list_services_by_location_response = msg.listServicesByLocationResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocationResponse", (const Base_Type&)list_services_by_location_response); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocationResponse", (const Base_Type&)list_services_by_location_response); list_services_by_location_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_by_location_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_redirect)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_redirect)) { const urn__ietf__params__xml__ns__lost1::Redirect& redirect = msg.redirect(); const urn__ietf__params__xml__ns__lost1::Redirect& redirect = msg.redirect(); loggers::get_instance().log_msg("lost_codec::encode: Process Redirect", (const Base_Type&)redirect); loggers::get_instance().log_msg("lost_codec::encode: Process Redirect", (const Base_Type&)redirect); redirect.encode(urn__ietf__params__xml__ns__lost1::Redirect_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); redirect.encode(urn__ietf__params__xml__ns__lost1::Redirect_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); Loading @@ -71,13 +76,14 @@ int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETS data = OCTETSTRING(str.length(), (const unsigned char*)str.c_str()); data = OCTETSTRING(str.length(), (const unsigned char*)str.c_str()); //data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); //data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } loggers::get_instance().log_msg("lost_codec::encode: After encoding: ", data); loggers::get_instance().log_msg("lost_codec::encode: After encoding: ", data); loggers::get_instance().log("<<< lost_codec::encode"); loggers::get_instance().log("<<< lost_codec::encode"); return 0; return 0; } } int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& msg, params* p_params) int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params) { { loggers::get_instance().log_msg(">>> lost_codec::decode: p_data=", p_data); loggers::get_instance().log_msg(">>> lost_codec::decode: p_data=", p_data); Loading @@ -94,6 +100,9 @@ int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes: } } } } loggers::get_instance().log_msg("body: ", body); LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); body.raw() = OPTIONAL<CHARSTRING>(CHARSTRING(it->second.c_str())); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(p_data); TTCN_Buffer decoding_buffer(p_data); Loading ccsrc/Protocols/Lost/lost_codec.hh +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit lost_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; explicit lost_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; virtual ~lost_codec() { }; virtual ~lost_codec() { }; virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody&, OCTETSTRING& data); virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody&, params* p_params = NULL); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params = NULL); }; // End of class lost_codec }; // End of class lost_codec ccsrc/Protocols/Sip/sip_codec_message_body.cc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -914,7 +914,7 @@ int sip_codec_message_body::decode_xml(const osip_body_t* p_body, LibSip__XMLTyp TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); OCTETSTRING data(p_body->length, (const unsigned char*)p_body->body); OCTETSTRING data(p_body->length, (const unsigned char*)p_body->body); TTCN_Buffer decoding_buffer(data); TTCN_Buffer decoding_buffer(data); loggers::get_instance().log_to_hexa("<<< sip_codec_message_body::decode_xml: decoding_buffer: ", decoding_buffer); loggers::get_instance().log_to_hexa("sip_codec_message_body::decode_xml: decoding_buffer: ", decoding_buffer); if (strstr(p_body->body, "<presence") != nullptr) { // Held codec if (strstr(p_body->body, "<presence") != nullptr) { // Held codec urn__ietf__params__xml__ns__pidf::Presence presence; urn__ietf__params__xml__ns__pidf::Presence presence; Loading Loading
ccsrc/Protocols/Held/held_codec.cc +76 −67 Original line number Original line Diff line number Diff line Loading @@ -12,21 +12,26 @@ #include "urn_ietf_params_xml_ns_pidf_geopriv10.hh" #include "urn_ietf_params_xml_ns_pidf_geopriv10.hh" // TODO Unify held_codec for bothHttp & Sip: instead of LibHttp__XmlMessageBodyTypes::XmlBody, use a generic XmlBody common to LibItsHttp & LibSip // TODO Unify held_codec for bothHttp & Sip: instead of LibHttp__XmlMessageBodyTypes::XmlBody, use a generic XmlBody common to LibItsHttp & LibSip int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETSTRING& data) int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data) { { loggers::get_instance().log_msg(">>> held_codec::encode: ", (const Base_Type&)msg); loggers::get_instance().log_msg(">>> held_codec::encode: ", (const Base_Type&)body); if (body.raw().is_present() && body.raw().is_bound()) { const CHARSTRING& v = static_cast<const CHARSTRING&>(*body.raw().get_opt_value()); data = char2oct(v); } else { TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; TTCN_Buffer encoding_buffer; const LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_locationRequest)) { if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_locationRequest)) { const urn__ietf__params__xml__ns__geopriv__held::LocationRequestType& location_request = msg.locationRequest(); const urn__ietf__params__xml__ns__geopriv__held::LocationRequestType& location_request = msg.locationRequest(); loggers::get_instance().log_msg("held_codec::encode: Process LocationRequestType", (const Base_Type&)location_request); loggers::get_instance().log_msg("held_codec::encode: Process LocationRequestType", (const Base_Type&)location_request); location_request.encode(urn__ietf__params__xml__ns__geopriv__held::LocationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); location_request.encode(urn__ietf__params__xml__ns__geopriv__held::LocationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_locationResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_locationResponse)) { const urn__ietf__params__xml__ns__geopriv__held::LocationResponseType& location_response = msg.locationResponse(); const urn__ietf__params__xml__ns__geopriv__held::LocationResponseType& location_response = msg.locationResponse(); loggers::get_instance().log_msg("held_codec::encode: Process LocationResponseType", (const Base_Type&)location_response); loggers::get_instance().log_msg("held_codec::encode: Process LocationResponseType", (const Base_Type&)location_response); location_response.encode(urn__ietf__params__xml__ns__geopriv__held::LocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); location_response.encode(urn__ietf__params__xml__ns__geopriv__held::LocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); Loading Loading @@ -84,13 +89,14 @@ int held_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETS data = OCTETSTRING(s.length(), (const unsigned char*)s.c_str()); data = OCTETSTRING(s.length(), (const unsigned char*)s.c_str()); } } } loggers::get_instance().log_msg("held_codec::encode: After encoding: ", data); loggers::get_instance().log_msg("held_codec::encode: After encoding: ", data); loggers::get_instance().log("<<< held_codec::encode"); loggers::get_instance().log("<<< held_codec::encode"); return 0; return 0; } } int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& msg, params* p_params) int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params) { { loggers::get_instance().log_msg(">>> held_codec::decode: p_data=", p_data); loggers::get_instance().log_msg(">>> held_codec::decode: p_data=", p_data); Loading @@ -107,6 +113,9 @@ int held_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes: } } } } loggers::get_instance().log_msg("body: ", body); LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); body.raw().set_to_omit(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(OCTETSTRING(it->second.length(), (const unsigned char*)it->second.c_str())); TTCN_Buffer decoding_buffer(OCTETSTRING(it->second.length(), (const unsigned char*)it->second.c_str())); Loading
ccsrc/Protocols/Held/held_codec.hh +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit held_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; explicit held_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; virtual ~held_codec() { }; virtual ~held_codec() { }; virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody&, OCTETSTRING& data); virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody&, params* p_params = NULL); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params = NULL); }; // End of class held_codec }; // End of class held_codec
ccsrc/Protocols/Lost/lost_codec.cc +66 −57 Original line number Original line Diff line number Diff line Loading @@ -10,41 +10,46 @@ #include "urn_ietf_params_xml_ns_lost1.hh" #include "urn_ietf_params_xml_ns_lost1.hh" int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETSTRING& data) int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data) { { loggers::get_instance().log_msg(">>> lost_codec::encode: ", (const Base_Type&)msg); loggers::get_instance().log_msg(">>> lost_codec::encode: ", (const Base_Type&)body); if (body.raw().is_present() && body.raw().is_bound()) { const CHARSTRING& v = static_cast<const CHARSTRING&>(*body.raw().get_opt_value()); data = char2oct(v); } else { TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; TTCN_Buffer encoding_buffer; CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); CHARSTRING h("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n"); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); encoding_buffer.put_s(h.lengthof(), (const unsigned char*)static_cast<const char*>(h)); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_findServiceRequest)) { const LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_findServiceRequest)) { const urn__ietf__params__xml__ns__lost1::FindService& find_service = msg.findServiceRequest(); const urn__ietf__params__xml__ns__lost1::FindService& find_service = msg.findServiceRequest(); loggers::get_instance().log_msg("lost_codec::encode: Process FindService", (const Base_Type&)find_service); loggers::get_instance().log_msg("lost_codec::encode: Process FindService", (const Base_Type&)find_service); find_service.encode(urn__ietf__params__xml__ns__lost1::FindService_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); find_service.encode(urn__ietf__params__xml__ns__lost1::FindService_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServices)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServices)) { const urn__ietf__params__xml__ns__lost1::ListServices& list_services = msg.listServices(); const urn__ietf__params__xml__ns__lost1::ListServices& list_services = msg.listServices(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServices", (const Base_Type&)list_services); loggers::get_instance().log_msg("lost_codec::encode: Process ListServices", (const Base_Type&)list_services); list_services.encode(urn__ietf__params__xml__ns__lost1::ListServices_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services.encode(urn__ietf__params__xml__ns__lost1::ListServices_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesByLocation)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesByLocation)) { const urn__ietf__params__xml__ns__lost1::ListServicesByLocation& list_services_by_location = msg.listServicesByLocation(); const urn__ietf__params__xml__ns__lost1::ListServicesByLocation& list_services_by_location = msg.listServicesByLocation(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocation", (const Base_Type&)list_services_by_location); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocation", (const Base_Type&)list_services_by_location); list_services_by_location.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocation_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_by_location.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocation_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_findServiceResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_findServiceResponse)) { const urn__ietf__params__xml__ns__lost1::FindServiceResponse& find_service_response = msg.findServiceResponse(); const urn__ietf__params__xml__ns__lost1::FindServiceResponse& find_service_response = msg.findServiceResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process FindServiceResponse", (const Base_Type&)find_service_response); loggers::get_instance().log_msg("lost_codec::encode: Process FindServiceResponse", (const Base_Type&)find_service_response); find_service_response.encode(urn__ietf__params__xml__ns__lost1::FindServiceResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); find_service_response.encode(urn__ietf__params__xml__ns__lost1::FindServiceResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesResponse)) { const urn__ietf__params__xml__ns__lost1::ListServicesResponse& list_services_response = msg.listServicesResponse(); const urn__ietf__params__xml__ns__lost1::ListServicesResponse& list_services_response = msg.listServicesResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesResponse", (const Base_Type&)list_services_response); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesResponse", (const Base_Type&)list_services_response); list_services_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_listServicesByLocationResponse)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_listServicesByLocationResponse)) { const urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse& list_services_by_location_response = msg.listServicesByLocationResponse(); const urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse& list_services_by_location_response = msg.listServicesByLocationResponse(); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocationResponse", (const Base_Type&)list_services_by_location_response); loggers::get_instance().log_msg("lost_codec::encode: Process ListServicesByLocationResponse", (const Base_Type&)list_services_by_location_response); list_services_by_location_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); list_services_by_location_response.encode(urn__ietf__params__xml__ns__lost1::ListServicesByLocationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBody::ALT_redirect)) { } else if (msg.ischosen(LibHttp__XmlMessageBodyTypes::XmlBodyMsg::ALT_redirect)) { const urn__ietf__params__xml__ns__lost1::Redirect& redirect = msg.redirect(); const urn__ietf__params__xml__ns__lost1::Redirect& redirect = msg.redirect(); loggers::get_instance().log_msg("lost_codec::encode: Process Redirect", (const Base_Type&)redirect); loggers::get_instance().log_msg("lost_codec::encode: Process Redirect", (const Base_Type&)redirect); redirect.encode(urn__ietf__params__xml__ns__lost1::Redirect_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); redirect.encode(urn__ietf__params__xml__ns__lost1::Redirect_descr_, encoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED); Loading @@ -71,13 +76,14 @@ int lost_codec::encode (const LibHttp__XmlMessageBodyTypes::XmlBody& msg, OCTETS data = OCTETSTRING(str.length(), (const unsigned char*)str.c_str()); data = OCTETSTRING(str.length(), (const unsigned char*)str.c_str()); //data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); //data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } loggers::get_instance().log_msg("lost_codec::encode: After encoding: ", data); loggers::get_instance().log_msg("lost_codec::encode: After encoding: ", data); loggers::get_instance().log("<<< lost_codec::encode"); loggers::get_instance().log("<<< lost_codec::encode"); return 0; return 0; } } int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& msg, params* p_params) int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params) { { loggers::get_instance().log_msg(">>> lost_codec::decode: p_data=", p_data); loggers::get_instance().log_msg(">>> lost_codec::decode: p_data=", p_data); Loading @@ -94,6 +100,9 @@ int lost_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes: } } } } loggers::get_instance().log_msg("body: ", body); LibHttp__XmlMessageBodyTypes::XmlBodyMsg& msg = body.msg(); body.raw() = OPTIONAL<CHARSTRING>(CHARSTRING(it->second.c_str())); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::clear_error(); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(p_data); TTCN_Buffer decoding_buffer(p_data); Loading
ccsrc/Protocols/Lost/lost_codec.hh +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit lost_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; explicit lost_codec() : codec_gen<LibHttp__XmlMessageBodyTypes::XmlBody, LibHttp__XmlMessageBodyTypes::XmlBody>() { }; virtual ~lost_codec() { }; virtual ~lost_codec() { }; virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody&, OCTETSTRING& data); virtual int encode (const LibHttp__XmlMessageBodyTypes::XmlBody& body, OCTETSTRING& data); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody&, params* p_params = NULL); virtual int decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::XmlBody& body, params* p_params = NULL); }; // End of class lost_codec }; // End of class lost_codec
ccsrc/Protocols/Sip/sip_codec_message_body.cc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -914,7 +914,7 @@ int sip_codec_message_body::decode_xml(const osip_body_t* p_body, LibSip__XMLTyp TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); OCTETSTRING data(p_body->length, (const unsigned char*)p_body->body); OCTETSTRING data(p_body->length, (const unsigned char*)p_body->body); TTCN_Buffer decoding_buffer(data); TTCN_Buffer decoding_buffer(data); loggers::get_instance().log_to_hexa("<<< sip_codec_message_body::decode_xml: decoding_buffer: ", decoding_buffer); loggers::get_instance().log_to_hexa("sip_codec_message_body::decode_xml: decoding_buffer: ", decoding_buffer); if (strstr(p_body->body, "<presence") != nullptr) { // Held codec if (strstr(p_body->body, "<presence") != nullptr) { // Held codec urn__ietf__params__xml__ns__pidf::Presence presence; urn__ietf__params__xml__ns__pidf::Presence presence; Loading