Loading ccsrc/EncDec/LibItsDenm_Encdec.cc +20 −0 Original line number Diff line number Diff line Loading @@ -173,5 +173,25 @@ namespace LibItsDenm__EncdecDeclarations { return 0; } /**************************************************** * @desc External function to decode a UtDenmEventInd type * @param value to encode * @return encoded value ****************************************************/ INTEGER fx__dec__UtDenmEventInd(BITSTRING& b, LibItsDenm__TypesAndValues::UtDenmEventInd& p) { loggers::get_instance().log(">>> fx__dec__UtDenmEventInd"); UpperTesterDenmCodec codec; OCTETSTRING is = bit2oct(b); std::unique_ptr<Base_Type> ptr = codec.decode(is); if (ptr == nullptr) { loggers::get_instance().warning("fx__dec__UtDenmEventInd: -1 result code was returned"); return -1; } p = static_cast<LibItsDenm__TypesAndValues::UtDenmEventInd&>(*ptr); return 0; } } //end namespace ccsrc/Protocols/UpperTester/UpperTesterDenmCodec.cc +20 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ #include "UpperTesterTypes.hh" #include "DENMCodec.hh" template <typename T_type> class OPTIONAL; class TTCN_EncDec; Loading Loading @@ -261,3 +263,21 @@ int UpperTesterDenmCodec::decode (const OCTETSTRING& data, LibItsDenm__TypesAndV loggers::get_instance().log_msg("<<< UpperTesterDenmCodec::decode", msg); return 0; } int UpperTesterDenmCodec::decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterDenmCodec::decode: decoding_buffer=", data); const unsigned char* ptr = static_cast<const unsigned char*>(data) + 1; OCTETSTRING os(2, ptr); ptr += 2; unsigned int length = oct2int(os); loggers::get_instance().log("UpperTesterDenmCodec::decode: DENM message length=%d", length); os = OCTETSTRING(length, ptr); loggers::get_instance().log_to_hexa("UpperTesterDenmCodec::decode: DENM message=", os); DENMCodec codec; codec.decode(os, msg.denMsg(), params); loggers::get_instance().log_msg("<<< UpperTesterDenmCodec::decode", msg); return 0; } ccsrc/Protocols/UpperTester/UpperTesterDenmCodec.hh +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ class TTCN_Buffer; namespace LibItsDenm__TypesAndValues { class UtDenmResults; class UtDenmEventInd; } class UpperTesterDenmCodec: public Codec < Loading Loading @@ -44,5 +45,6 @@ public: private: int decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmResults& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmEventInd& msg, Params* params = NULL); }; #endif Loading
ccsrc/EncDec/LibItsDenm_Encdec.cc +20 −0 Original line number Diff line number Diff line Loading @@ -173,5 +173,25 @@ namespace LibItsDenm__EncdecDeclarations { return 0; } /**************************************************** * @desc External function to decode a UtDenmEventInd type * @param value to encode * @return encoded value ****************************************************/ INTEGER fx__dec__UtDenmEventInd(BITSTRING& b, LibItsDenm__TypesAndValues::UtDenmEventInd& p) { loggers::get_instance().log(">>> fx__dec__UtDenmEventInd"); UpperTesterDenmCodec codec; OCTETSTRING is = bit2oct(b); std::unique_ptr<Base_Type> ptr = codec.decode(is); if (ptr == nullptr) { loggers::get_instance().warning("fx__dec__UtDenmEventInd: -1 result code was returned"); return -1; } p = static_cast<LibItsDenm__TypesAndValues::UtDenmEventInd&>(*ptr); return 0; } } //end namespace
ccsrc/Protocols/UpperTester/UpperTesterDenmCodec.cc +20 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ #include "UpperTesterTypes.hh" #include "DENMCodec.hh" template <typename T_type> class OPTIONAL; class TTCN_EncDec; Loading Loading @@ -261,3 +263,21 @@ int UpperTesterDenmCodec::decode (const OCTETSTRING& data, LibItsDenm__TypesAndV loggers::get_instance().log_msg("<<< UpperTesterDenmCodec::decode", msg); return 0; } int UpperTesterDenmCodec::decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmEventInd& msg, Params* params) { loggers::get_instance().log_to_hexa(">>> UpperTesterDenmCodec::decode: decoding_buffer=", data); const unsigned char* ptr = static_cast<const unsigned char*>(data) + 1; OCTETSTRING os(2, ptr); ptr += 2; unsigned int length = oct2int(os); loggers::get_instance().log("UpperTesterDenmCodec::decode: DENM message length=%d", length); os = OCTETSTRING(length, ptr); loggers::get_instance().log_to_hexa("UpperTesterDenmCodec::decode: DENM message=", os); DENMCodec codec; codec.decode(os, msg.denMsg(), params); loggers::get_instance().log_msg("<<< UpperTesterDenmCodec::decode", msg); return 0; }
ccsrc/Protocols/UpperTester/UpperTesterDenmCodec.hh +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ class TTCN_Buffer; namespace LibItsDenm__TypesAndValues { class UtDenmResults; class UtDenmEventInd; } class UpperTesterDenmCodec: public Codec < Loading Loading @@ -44,5 +45,6 @@ public: private: int decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmResults& msg, Params* params = NULL); int decode (const OCTETSTRING& data, LibItsDenm__TypesAndValues::UtDenmEventInd& msg, Params* params = NULL); }; #endif