Loading ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.hh +1 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibItsIvim__TypesAndValues { class UtIvimTrigger; class UtIvimResults; class UtIvimEventInd; } Loading @@ -24,7 +23,7 @@ class UpperTesterIvimCodec: public Codec < const unsigned char c_utIvimInitializeResult = 0x01; const unsigned char c_utIvimTrigger = 0xA4; const unsigned char c_utIvimTriggerResult = 0xA5; const unsigned char c_utIvimTerminate = 0xA8; const unsigned char c_utIvimTermination = 0xA8; const unsigned char c_utIvimTerminateResult = 0xA9; const unsigned char c_utIvimEventInd = 0xAA; Loading ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.cc +13 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimIniti sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params) void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); Loading @@ -31,7 +31,18 @@ void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChang sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode(send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); Loading ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.hh +4 −2 Original line number Diff line number Diff line Loading @@ -10,8 +10,9 @@ namespace LibItsIvim__TestSystem { namespace LibItsIvim__TypesAndValues { class UtIvimInitialize; class UtIvimChangePosition; class UtIvimTrigger; class UtIvimUpdate; class UtIvimTermination; } class UpperTesterIvimLayer : public TLayer<LibItsIvim__TestSystem::UpperTesterPort> { Loading @@ -24,8 +25,9 @@ public: virtual ~UpperTesterIvimLayer() {}; void sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par, Params& params); virtual void sendData(OCTETSTRING& data, Params& params); virtual void receiveData(OCTETSTRING& data, Params& info); Loading ccsrc/Protocols/UpperTester/UpperTesterMapemSpatemCodec.cc +39 −39 Original line number Diff line number Diff line #include <string> //#include <typeinfo> #include "UpperTesterSremSsemCodec.hh" #include "UpperTesterMapemSpatemCodec.hh" #include "loggers.hh" #include "UpperTesterTypes.hh" Loading @@ -12,88 +12,88 @@ template <typename T_type> class OPTIONAL; class TTCN_EncDec; int UpperTesterSremSsemCodec::encode (const Record_Type& msg, OCTETSTRING& data) int UpperTesterMapemSpatemCodec::encode (const Record_Type& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> UpperTesterSremSsemCodec::encode: ", (const Record_Type&)msg); loggers::get_instance().log_msg(">>> UpperTesterMapemSpatemCodec::encode: ", (const Record_Type&)msg); TTCN_EncDec::clear_error(); TTCN_Buffer encoding_buffer; if (std::string(msg.get_descriptor()->name).compare("@LibItsSremSsem_TypesAndValues.UtSremSsemInitialize") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterSremSsemCodec::c_utSremSsemInitialize)); } else if (std::string(msg.get_descriptor()->name).compare("@LibItsSremSsem_TypesAndValues.UtSremSsemTrigger") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterSremSsemCodec::c_utSremSsemTrigger)); if (std::string(msg.get_descriptor()->name).compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemInitialize") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterMapemSpatemCodec::c_utMapemSpatemInitialize)); } else if (std::string(msg.get_descriptor()->name).compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemTrigger") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterMapemSpatemCodec::c_utMapemSpatemTrigger)); } else { // Error data = OCTETSTRING(); loggers::get_instance().log("<<< UpperTesterSremSsemCodec::encode: Return -1"); loggers::get_instance().log("<<< UpperTesterMapemSpatemCodec::encode: Return -1"); return -1; } encode_(msg, *msg.get_descriptor(), encoding_buffer); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::encode: data=", data); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::encode: data=", data); return 0; } int UpperTesterSremSsemCodec::encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer) int UpperTesterMapemSpatemCodec::encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer) { loggers::get_instance().log(">>> UpperTesterSremSsemCodec::encode_: processing %s/%s/%p", type.get_descriptor()->name, field_descriptor.name, dynamic_cast<const Record_Type*>(&type)); loggers::get_instance().log_msg(">>> UpperTesterSremSsemCodec::encode_: ", type); loggers::get_instance().log(">>> UpperTesterMapemSpatemCodec::encode_: processing %s/%s/%p", type.get_descriptor()->name, field_descriptor.name, dynamic_cast<const Record_Type*>(&type)); loggers::get_instance().log_msg(">>> UpperTesterMapemSpatemCodec::encode_: ", type); if (dynamic_cast<const Record_Type*>(&type) != NULL) { const Record_Type& r = (const Record_Type &)type; loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: processing Record_Type %s", r.get_descriptor()->name); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: processing Record_Type %s", r.get_descriptor()->name); for(int i = 0; i < r.get_count(); i++) { loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: processing %s/%s/%s - %d (1 ==> use dynamic_cast<const OPTIONAL<...>) - %d", r.fld_name(i), r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name, r.get_at(i)->is_optional(), r.get_at(i)->is_present()); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: processing %s/%s/%s - %d (1 ==> use dynamic_cast<const OPTIONAL<...>) - %d", r.fld_name(i), r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name, r.get_at(i)->is_optional(), r.get_at(i)->is_present()); if (r.get_at(i)->is_present()) { if (encode_(*r.get_at(i), *r.fld_descr(i), encoding_buffer) == -1) { loggers::get_instance().warning("UpperTesterSremSsemCodec::encode_: -1 result code returned"); loggers::get_instance().warning("UpperTesterMapemSpatemCodec::encode_: -1 result code returned"); return -1; } } else if (std::string(r.fld_name(i)).compare("alacarte") == 0) { // Add empty field length loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: alacarte is missing, add 0x00"); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: alacarte is missing, add 0x00"); encoding_buffer.put_c(0x00); } } // End of 'for' statement } else { std::string s(field_descriptor.name); loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: field to process %s", s.c_str()); loggers::get_instance().log("UpperTesterSremSsemCodec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: field to process %s", s.c_str()); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name); type.encode(field_descriptor, encoding_buffer, TTCN_EncDec::CT_RAW); } loggers::get_instance().log_to_hexa("<<<UpperTesterSremSsemCodec::encode_: encoding_buffer=", encoding_buffer); loggers::get_instance().log_to_hexa("<<<UpperTesterMapemSpatemCodec::encode_: encoding_buffer=", encoding_buffer); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, Record_Type& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, Record_Type& msg, Params* params) { TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(data); _params = params; loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", decoding_buffer); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", decoding_buffer); //decode_(msg, *msg.get_descriptor(), decoding_buffer); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode: ", (const Record_Type&)msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode: ", (const Record_Type&)msg); return 0; } std::unique_ptr<Base_Type> UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, Params* params) { std::unique_ptr<Base_Type> UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, Params* params) { std::unique_ptr<Base_Type> result; const unsigned char* ptr = static_cast<const unsigned char*>(data); if ((*ptr != UpperTesterSremSsemCodec::c_utSremEventInd) && (*ptr != UpperTesterSremSsemCodec::c_utSsemEventInd)) { LibItsSremSsem__TypesAndValues::UtSremResults res; decode(data, res, params); result.reset((Base_Type *)res.clone()); } else if (*ptr == UpperTesterSremSsemCodec::c_utSremEventInd) { LibItsSremSsem__TypesAndValues::UtSremEventInd res; if ((*ptr != UpperTesterMapemSpatemCodec::c_utMapemEventInd) && (*ptr != UpperTesterMapemSpatemCodec::c_utSpatemEventInd)) { LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults res; decode(data, res, params); result.reset((Base_Type *)res.clone()); } else if (*ptr == UpperTesterMapemSpatemCodec::c_utMapemEventInd) { LibItsMapemSpatem__TypesAndValues::UtMapemEventInd ind; decode(data, ind, params); result.reset((Base_Type *)ind.clone()); } else { LibItsSremSsem__TypesAndValues::UtSsemEventInd ind; LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd ind; decode(data, ind, params); result.reset((Base_Type *)ind.clone()); } Loading @@ -101,29 +101,29 @@ std::unique_ptr<Base_Type> UpperTesterSremSsemCodec::decode (const OCTETSTRING& return result; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtMapemSpatemResults& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtMapemEventInd& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtSpatemEventInd& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; } ccsrc/Protocols/UpperTester/UpperTesterMapemSpatemCodec.hh +5 −7 Original line number Diff line number Diff line #ifndef UpperTesterMapemSpatemCODEC_H #define UpperTesterMapemSpatemCODEC_H #ifndef UPPERTESTERMAPEMSPATEMCODEC_H #define UPPERTESTERMAPEMSPATEMCODEC_H #include "Codec.hh" #include "loggers.hh" // TODO To be removed Loading @@ -11,11 +11,9 @@ class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibItsMapemSpatem__TypesAndValues { class UtMapemSpatemTrigger; class UtMapemSpatemUpdate; class UtMapemSpatemResults; class UtSremEventInd; class UtSsemEventInd; class UtMapemEventInd; class UtSpatemEventInd; } class UpperTesterMapemSpatemCodec: public Codec < Loading @@ -42,6 +40,6 @@ public: private: int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd& msg, Params* params = NULL); }; #endif Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.hh +1 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibItsIvim__TypesAndValues { class UtIvimTrigger; class UtIvimResults; class UtIvimEventInd; } Loading @@ -24,7 +23,7 @@ class UpperTesterIvimCodec: public Codec < const unsigned char c_utIvimInitializeResult = 0x01; const unsigned char c_utIvimTrigger = 0xA4; const unsigned char c_utIvimTriggerResult = 0xA5; const unsigned char c_utIvimTerminate = 0xA8; const unsigned char c_utIvimTermination = 0xA8; const unsigned char c_utIvimTerminateResult = 0xA9; const unsigned char c_utIvimEventInd = 0xAA; Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.cc +13 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimIniti sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params) void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); Loading @@ -31,7 +31,18 @@ void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChang sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode(send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.hh +4 −2 Original line number Diff line number Diff line Loading @@ -10,8 +10,9 @@ namespace LibItsIvim__TestSystem { namespace LibItsIvim__TypesAndValues { class UtIvimInitialize; class UtIvimChangePosition; class UtIvimTrigger; class UtIvimUpdate; class UtIvimTermination; } class UpperTesterIvimLayer : public TLayer<LibItsIvim__TestSystem::UpperTesterPort> { Loading @@ -24,8 +25,9 @@ public: virtual ~UpperTesterIvimLayer() {}; void sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimUpdate& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTermination& send_par, Params& params); virtual void sendData(OCTETSTRING& data, Params& params); virtual void receiveData(OCTETSTRING& data, Params& info); Loading
ccsrc/Protocols/UpperTester/UpperTesterMapemSpatemCodec.cc +39 −39 Original line number Diff line number Diff line #include <string> //#include <typeinfo> #include "UpperTesterSremSsemCodec.hh" #include "UpperTesterMapemSpatemCodec.hh" #include "loggers.hh" #include "UpperTesterTypes.hh" Loading @@ -12,88 +12,88 @@ template <typename T_type> class OPTIONAL; class TTCN_EncDec; int UpperTesterSremSsemCodec::encode (const Record_Type& msg, OCTETSTRING& data) int UpperTesterMapemSpatemCodec::encode (const Record_Type& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> UpperTesterSremSsemCodec::encode: ", (const Record_Type&)msg); loggers::get_instance().log_msg(">>> UpperTesterMapemSpatemCodec::encode: ", (const Record_Type&)msg); TTCN_EncDec::clear_error(); TTCN_Buffer encoding_buffer; if (std::string(msg.get_descriptor()->name).compare("@LibItsSremSsem_TypesAndValues.UtSremSsemInitialize") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterSremSsemCodec::c_utSremSsemInitialize)); } else if (std::string(msg.get_descriptor()->name).compare("@LibItsSremSsem_TypesAndValues.UtSremSsemTrigger") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterSremSsemCodec::c_utSremSsemTrigger)); if (std::string(msg.get_descriptor()->name).compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemInitialize") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterMapemSpatemCodec::c_utMapemSpatemInitialize)); } else if (std::string(msg.get_descriptor()->name).compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemTrigger") == 0) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterMapemSpatemCodec::c_utMapemSpatemTrigger)); } else { // Error data = OCTETSTRING(); loggers::get_instance().log("<<< UpperTesterSremSsemCodec::encode: Return -1"); loggers::get_instance().log("<<< UpperTesterMapemSpatemCodec::encode: Return -1"); return -1; } encode_(msg, *msg.get_descriptor(), encoding_buffer); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::encode: data=", data); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::encode: data=", data); return 0; } int UpperTesterSremSsemCodec::encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer) int UpperTesterMapemSpatemCodec::encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer) { loggers::get_instance().log(">>> UpperTesterSremSsemCodec::encode_: processing %s/%s/%p", type.get_descriptor()->name, field_descriptor.name, dynamic_cast<const Record_Type*>(&type)); loggers::get_instance().log_msg(">>> UpperTesterSremSsemCodec::encode_: ", type); loggers::get_instance().log(">>> UpperTesterMapemSpatemCodec::encode_: processing %s/%s/%p", type.get_descriptor()->name, field_descriptor.name, dynamic_cast<const Record_Type*>(&type)); loggers::get_instance().log_msg(">>> UpperTesterMapemSpatemCodec::encode_: ", type); if (dynamic_cast<const Record_Type*>(&type) != NULL) { const Record_Type& r = (const Record_Type &)type; loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: processing Record_Type %s", r.get_descriptor()->name); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: processing Record_Type %s", r.get_descriptor()->name); for(int i = 0; i < r.get_count(); i++) { loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: processing %s/%s/%s - %d (1 ==> use dynamic_cast<const OPTIONAL<...>) - %d", r.fld_name(i), r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name, r.get_at(i)->is_optional(), r.get_at(i)->is_present()); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: processing %s/%s/%s - %d (1 ==> use dynamic_cast<const OPTIONAL<...>) - %d", r.fld_name(i), r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name, r.get_at(i)->is_optional(), r.get_at(i)->is_present()); if (r.get_at(i)->is_present()) { if (encode_(*r.get_at(i), *r.fld_descr(i), encoding_buffer) == -1) { loggers::get_instance().warning("UpperTesterSremSsemCodec::encode_: -1 result code returned"); loggers::get_instance().warning("UpperTesterMapemSpatemCodec::encode_: -1 result code returned"); return -1; } } else if (std::string(r.fld_name(i)).compare("alacarte") == 0) { // Add empty field length loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: alacarte is missing, add 0x00"); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: alacarte is missing, add 0x00"); encoding_buffer.put_c(0x00); } } // End of 'for' statement } else { std::string s(field_descriptor.name); loggers::get_instance().log("UpperTesterSremSsemCodec::encode_: field to process %s", s.c_str()); loggers::get_instance().log("UpperTesterSremSsemCodec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_: field to process %s", s.c_str()); loggers::get_instance().log("UpperTesterMapemSpatemCodec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name); type.encode(field_descriptor, encoding_buffer, TTCN_EncDec::CT_RAW); } loggers::get_instance().log_to_hexa("<<<UpperTesterSremSsemCodec::encode_: encoding_buffer=", encoding_buffer); loggers::get_instance().log_to_hexa("<<<UpperTesterMapemSpatemCodec::encode_: encoding_buffer=", encoding_buffer); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, Record_Type& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, Record_Type& msg, Params* params) { TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(data); _params = params; loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", decoding_buffer); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", decoding_buffer); //decode_(msg, *msg.get_descriptor(), decoding_buffer); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode: ", (const Record_Type&)msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode: ", (const Record_Type&)msg); return 0; } std::unique_ptr<Base_Type> UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, Params* params) { std::unique_ptr<Base_Type> UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, Params* params) { std::unique_ptr<Base_Type> result; const unsigned char* ptr = static_cast<const unsigned char*>(data); if ((*ptr != UpperTesterSremSsemCodec::c_utSremEventInd) && (*ptr != UpperTesterSremSsemCodec::c_utSsemEventInd)) { LibItsSremSsem__TypesAndValues::UtSremResults res; decode(data, res, params); result.reset((Base_Type *)res.clone()); } else if (*ptr == UpperTesterSremSsemCodec::c_utSremEventInd) { LibItsSremSsem__TypesAndValues::UtSremEventInd res; if ((*ptr != UpperTesterMapemSpatemCodec::c_utMapemEventInd) && (*ptr != UpperTesterMapemSpatemCodec::c_utSpatemEventInd)) { LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults res; decode(data, res, params); result.reset((Base_Type *)res.clone()); } else if (*ptr == UpperTesterMapemSpatemCodec::c_utMapemEventInd) { LibItsMapemSpatem__TypesAndValues::UtMapemEventInd ind; decode(data, ind, params); result.reset((Base_Type *)ind.clone()); } else { LibItsSremSsem__TypesAndValues::UtSsemEventInd ind; LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd ind; decode(data, ind, params); result.reset((Base_Type *)ind.clone()); } Loading @@ -101,29 +101,29 @@ std::unique_ptr<Base_Type> UpperTesterSremSsemCodec::decode (const OCTETSTRING& return result; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtMapemSpatemResults& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtMapemEventInd& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; } int UpperTesterSremSsemCodec::decode (const OCTETSTRING& data, LibItsSremSsem__TypesAndValues::UtSpatemEventInd& msg, Params* params) int UpperTesterMapemSpatemCodec::decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterSremSsemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_to_hexa(">>> UpperTesterMapemSpatemCodec::decode: decoding_buffer=", data); loggers::get_instance().log_msg("<<< UpperTesterSremSsemCodec::decode", msg); loggers::get_instance().log_msg("<<< UpperTesterMapemSpatemCodec::decode", msg); return 0; }
ccsrc/Protocols/UpperTester/UpperTesterMapemSpatemCodec.hh +5 −7 Original line number Diff line number Diff line #ifndef UpperTesterMapemSpatemCODEC_H #define UpperTesterMapemSpatemCODEC_H #ifndef UPPERTESTERMAPEMSPATEMCODEC_H #define UPPERTESTERMAPEMSPATEMCODEC_H #include "Codec.hh" #include "loggers.hh" // TODO To be removed Loading @@ -11,11 +11,9 @@ class TTCN_Typedescriptor_t; class TTCN_Buffer; namespace LibItsMapemSpatem__TypesAndValues { class UtMapemSpatemTrigger; class UtMapemSpatemUpdate; class UtMapemSpatemResults; class UtSremEventInd; class UtSsemEventInd; class UtMapemEventInd; class UtSpatemEventInd; } class UpperTesterMapemSpatemCodec: public Codec < Loading @@ -42,6 +40,6 @@ public: private: int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd& msg, Params* params = NULL); }; #endif