Loading ccsrc/Protocols/Sip/sip_codec_invite_request.cc 0 → 100644 +46 −0 Original line number Diff line number Diff line #include "LibSip_SIPTypesAndValues.hh" #include "sip_codec_invite_request.hh" #include "loggers.hh" int sip_codec_invite_request::encode (const LibSip__SIPTypesAndValues::INVITE__Request& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> sip_codec_invite_request::encode: ", (const Base_Type&)msg); if (_codec.encode((LibSip__SIPTypesAndValues::Request&)msg, data) == -1) { loggers::get_instance().warning("sip_codec_invite_request::encode: Failed to encode message"); return -1; } loggers::get_instance().log_msg("<<< sip_codec_invite_request::encode: data=", data); return 0; } int sip_codec_invite_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::INVITE__Request& msg, params* p_params) { loggers::get_instance().log_msg(">>> sip_codec_invite_request::decode: data=", data); // Sanity checks if (data.lengthof() == 0) { loggers::get_instance().warning("sip_codec_invite_request::decode: Wrong parameters"); return -1; } // LibSip__SIPTypesAndValues::Request request; if (_codec.decode(data, (LibSip__SIPTypesAndValues::Request&)msg) == -1) { // if (_codec.decode(data, request) == -1) { loggers::get_instance().warning("sip_codec_invite_request::decode: Failed to decode message"); return -1; } // msg.requestLine() = request.requestLine(); // msg.msgHeader() = request.msgHeader(); // msg.messageBody() = request.messageBody(); // msg.payload() = request.payload(); if (msg.requestLine().method() != LibSip__SIPTypesAndValues::Method::INVITE__E) { loggers::get_instance().warning("sip_codec_invite_request::decode: Wrong SIP Method, expected INVITE"); return -1; } return 0; } ccsrc/Protocols/Sip/sip_codec_invite_request.hh 0 → 100644 +27 −0 Original line number Diff line number Diff line #pragma once #include "codec.hh" #include "params.hh" #include "sip_codec_request.hh" class Base_Type; class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibSip__SIPTypesAndValues { class INVITE__Request; } class sip_codec_invite_request: public codec < LibSip__SIPTypesAndValues::INVITE__Request, LibSip__SIPTypesAndValues::INVITE__Request> { sip_codec_request _codec; public: explicit sip_codec_invite_request() : codec<LibSip__SIPTypesAndValues::INVITE__Request, LibSip__SIPTypesAndValues::INVITE__Request>(), _codec() { }; virtual ~sip_codec_invite_request() { }; virtual int encode (const LibSip__SIPTypesAndValues::INVITE__Request& msg, OCTETSTRING& data); virtual int decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::INVITE__Request& msg, params* p_params = NULL); }; // End of class sip_codec_invite_request Loading
ccsrc/Protocols/Sip/sip_codec_invite_request.cc 0 → 100644 +46 −0 Original line number Diff line number Diff line #include "LibSip_SIPTypesAndValues.hh" #include "sip_codec_invite_request.hh" #include "loggers.hh" int sip_codec_invite_request::encode (const LibSip__SIPTypesAndValues::INVITE__Request& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> sip_codec_invite_request::encode: ", (const Base_Type&)msg); if (_codec.encode((LibSip__SIPTypesAndValues::Request&)msg, data) == -1) { loggers::get_instance().warning("sip_codec_invite_request::encode: Failed to encode message"); return -1; } loggers::get_instance().log_msg("<<< sip_codec_invite_request::encode: data=", data); return 0; } int sip_codec_invite_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::INVITE__Request& msg, params* p_params) { loggers::get_instance().log_msg(">>> sip_codec_invite_request::decode: data=", data); // Sanity checks if (data.lengthof() == 0) { loggers::get_instance().warning("sip_codec_invite_request::decode: Wrong parameters"); return -1; } // LibSip__SIPTypesAndValues::Request request; if (_codec.decode(data, (LibSip__SIPTypesAndValues::Request&)msg) == -1) { // if (_codec.decode(data, request) == -1) { loggers::get_instance().warning("sip_codec_invite_request::decode: Failed to decode message"); return -1; } // msg.requestLine() = request.requestLine(); // msg.msgHeader() = request.msgHeader(); // msg.messageBody() = request.messageBody(); // msg.payload() = request.payload(); if (msg.requestLine().method() != LibSip__SIPTypesAndValues::Method::INVITE__E) { loggers::get_instance().warning("sip_codec_invite_request::decode: Wrong SIP Method, expected INVITE"); return -1; } return 0; }
ccsrc/Protocols/Sip/sip_codec_invite_request.hh 0 → 100644 +27 −0 Original line number Diff line number Diff line #pragma once #include "codec.hh" #include "params.hh" #include "sip_codec_request.hh" class Base_Type; class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibSip__SIPTypesAndValues { class INVITE__Request; } class sip_codec_invite_request: public codec < LibSip__SIPTypesAndValues::INVITE__Request, LibSip__SIPTypesAndValues::INVITE__Request> { sip_codec_request _codec; public: explicit sip_codec_invite_request() : codec<LibSip__SIPTypesAndValues::INVITE__Request, LibSip__SIPTypesAndValues::INVITE__Request>(), _codec() { }; virtual ~sip_codec_invite_request() { }; virtual int encode (const LibSip__SIPTypesAndValues::INVITE__Request& msg, OCTETSTRING& data); virtual int decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::INVITE__Request& msg, params* p_params = NULL); }; // End of class sip_codec_invite_request