| // This C++ source file was generated by the TTCN-3 compiler |
| // of the TTCN-3 Test Executor version CRL 113 200/6 R6A |
| // for Lénárd Nagy (elnrnag@elx78355y6x) on Thu Oct 24 10:29:40 2019 |
| |
| // Copyright (c) 2000-2019 Ericsson Telecom AB |
| |
| // Do not edit this file unless you know what you are doing. |
| |
| /* Including header files */ |
| |
| #include "CAN_matrix.hh" |
| |
| namespace CAN__matrix { |
| |
| /* Prototypes of static functions */ |
| |
| static void pre_init_module(); |
| static void post_init_module(); |
| |
| /* Literal string constants */ |
| |
| static const unsigned char module_checksum[] = { 0x8e, 0x22, 0x0d, 0xe7, 0xf7, 0x4f, 0x31, 0xaa, 0xcd, 0x58, 0xc4, 0xbe, 0x36, 0x30, 0xe3, 0x71 }; |
| |
| /* Global variable definitions */ |
| |
| TTCN_Module module_object("CAN_matrix", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, post_init_module, NULL, NULL, NULL, NULL, NULL, NULL, NULL); |
| |
| static const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_6, |
| current_runtime_version.requires_minor_version_6, |
| current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1); |
| |
| /* Bodies of functions, altsteps and testcases */ |
| |
| OCTETSTRING f__encode__can__matrix(const CAN__matrix__messages::CAN__MatrixUnion& pdu) |
| { |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_encode_can_matrix(): Encoding @CAN_matrix_messages.CAN_MatrixUnion: "); |
| pdu.log(); |
| TTCN_Logger::end_event(); |
| } |
| TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); |
| TTCN_Buffer ttcn_buffer; |
| pdu.encode(CAN__matrix__messages::CAN__MatrixUnion_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW, 0); |
| OCTETSTRING ret_val; |
| ttcn_buffer.get_string(ret_val); |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_encode_can_matrix(): Stream after encoding: "); |
| ret_val.log(); |
| TTCN_Logger::end_event(); |
| } |
| return ret_val; |
| } |
| |
| CAN__matrix__messages::CAN__MatrixUnion f__decode__can__matrix(const OCTETSTRING& data) |
| { |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_decode_can_matrix(): Stream before decoding: "); |
| data.log(); |
| TTCN_Logger::end_event(); |
| } |
| TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); |
| TTCN_EncDec::clear_error(); |
| TTCN_Buffer ttcn_buffer(data); |
| CAN__matrix__messages::CAN__MatrixUnion ret_val; |
| ret_val.decode(CAN__matrix__messages::CAN__MatrixUnion_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_decode_can_matrix(): Decoded @CAN_matrix_messages.CAN_MatrixUnion: "); |
| ret_val.log(); |
| TTCN_Logger::end_event(); |
| } |
| if (TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { |
| if (ttcn_buffer.get_pos() < ttcn_buffer.get_len()) { |
| ttcn_buffer.cut(); |
| OCTETSTRING tmp_os; |
| ttcn_buffer.get_string(tmp_os); |
| TTCN_Logger::begin_event_log2str(); |
| tmp_os.log(); |
| CHARSTRING remaining_stream = TTCN_Logger::end_event_log2str(); |
| TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_EXTRA_DATA, "f_decode_can_matrix(): Data remained at the end of the stream after successful decoding: %s", (const char*) remaining_stream); |
| } |
| } |
| return ret_val; |
| } |
| |
| OCTETSTRING f__encode__canfd__matrix(const CANFD__matrix__messages::CANFD__MatrixUnion& pdu) |
| { |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_encode_canfd_matrix(): Encoding @CANFD_matrix_messages.CANFD_MatrixUnion: "); |
| pdu.log(); |
| TTCN_Logger::end_event(); |
| } |
| TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); |
| TTCN_Buffer ttcn_buffer; |
| pdu.encode(CANFD__matrix__messages::CANFD__MatrixUnion_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW, 0); |
| OCTETSTRING ret_val; |
| ttcn_buffer.get_string(ret_val); |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_encode_canfd_matrix(): Stream after encoding: "); |
| ret_val.log(); |
| TTCN_Logger::end_event(); |
| } |
| return ret_val; |
| } |
| |
| CANFD__matrix__messages::CANFD__MatrixUnion f__decode__canfd__matrix(const OCTETSTRING& data) |
| { |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_decode_canfd_matrix(): Stream before decoding: "); |
| data.log(); |
| TTCN_Logger::end_event(); |
| } |
| TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); |
| TTCN_EncDec::clear_error(); |
| TTCN_Buffer ttcn_buffer(data); |
| CANFD__matrix__messages::CANFD__MatrixUnion ret_val; |
| ret_val.decode(CANFD__matrix__messages::CANFD__MatrixUnion_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); |
| if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { |
| TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |
| TTCN_Logger::log_event_str("f_decode_canfd_matrix(): Decoded @CANFD_matrix_messages.CANFD_MatrixUnion: "); |
| ret_val.log(); |
| TTCN_Logger::end_event(); |
| } |
| if (TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { |
| if (ttcn_buffer.get_pos() < ttcn_buffer.get_len()) { |
| ttcn_buffer.cut(); |
| OCTETSTRING tmp_os; |
| ttcn_buffer.get_string(tmp_os); |
| TTCN_Logger::begin_event_log2str(); |
| tmp_os.log(); |
| CHARSTRING remaining_stream = TTCN_Logger::end_event_log2str(); |
| TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_EXTRA_DATA, "f_decode_canfd_matrix(): Data remained at the end of the stream after successful decoding: %s", (const char*) remaining_stream); |
| } |
| } |
| return ret_val; |
| } |
| |
| CAN__matrix__messages::CAN__MatrixUnion canframe2canmatrixframe(const Can::CAN__frame& p__can__frame) |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 21, TTCN_Location::LOCATION_FUNCTION, "canframe2canmatrixframe"); |
| current_location.update_lineno(23); |
| #line 23 "CAN_matrix.ttcn" |
| CAN__matrix__messages::CAN__MatrixUnion v__can__frame__can__matrix; |
| current_location.update_lineno(28); |
| #line 28 "CAN_matrix.ttcn" |
| v__can__frame__can__matrix = f__decode__can__matrix((const_cast< const Can::CAN__frame&>(p__can__frame).can__id() + const_cast< const Can::CAN__frame&>(p__can__frame).can__pdu())); |
| current_location.update_lineno(31); |
| #line 31 "CAN_matrix.ttcn" |
| return v__can__frame__can__matrix; |
| } |
| |
| Can::CAN__frame canmatrixframe2can(const CAN__matrix__messages::CAN__MatrixUnion& p__can__matrix__frame) |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 35, TTCN_Location::LOCATION_FUNCTION, "canmatrixframe2can"); |
| current_location.update_lineno(37); |
| #line 37 "CAN_matrix.ttcn" |
| Can::CAN__frame v__can__frame; |
| current_location.update_lineno(39); |
| #line 39 "CAN_matrix.ttcn" |
| v__can__frame.can__id() = const_cast< const CAN__matrix__messages::CAN__MatrixUnion&>(p__can__matrix__frame).can__id(); |
| current_location.update_lineno(40); |
| #line 40 "CAN_matrix.ttcn" |
| OCTETSTRING v__encoded; |
| current_location.update_lineno(41); |
| #line 41 "CAN_matrix.ttcn" |
| v__encoded = f__encode__can__matrix(p__can__matrix__frame); |
| current_location.update_lineno(42); |
| #line 42 "CAN_matrix.ttcn" |
| v__can__frame.can__pdu() = substr(v__encoded, 4, (v__encoded.lengthof() - 4)); |
| current_location.update_lineno(43); |
| #line 43 "CAN_matrix.ttcn" |
| return v__can__frame; |
| } |
| |
| CANFD__matrix__messages::CANFD__MatrixUnion canfdframe2canfdmatrixframe(const Can::CANFD__frame& p__canfd__frame) |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 47, TTCN_Location::LOCATION_FUNCTION, "canfdframe2canfdmatrixframe"); |
| current_location.update_lineno(49); |
| #line 49 "CAN_matrix.ttcn" |
| CANFD__matrix__messages::CANFD__MatrixUnion v__canfd__frame__canfd__matrix; |
| current_location.update_lineno(54); |
| #line 54 "CAN_matrix.ttcn" |
| v__canfd__frame__canfd__matrix = f__decode__canfd__matrix(((const_cast< const Can::CANFD__frame&>(p__canfd__frame).can__id() + bit2oct(const_cast< const Can::CANFD__frame&>(p__canfd__frame).can__flags())) + const_cast< const Can::CANFD__frame&>(p__canfd__frame).can__pdu())); |
| current_location.update_lineno(57); |
| #line 57 "CAN_matrix.ttcn" |
| return v__canfd__frame__canfd__matrix; |
| } |
| |
| Can::CANFD__frame canfdmatrixframe2canfd(const CANFD__matrix__messages::CANFD__MatrixUnion& p__canfd__matrix__frame) |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 61, TTCN_Location::LOCATION_FUNCTION, "canfdmatrixframe2canfd"); |
| current_location.update_lineno(63); |
| #line 63 "CAN_matrix.ttcn" |
| Can::CANFD__frame v__canfd__frame; |
| current_location.update_lineno(65); |
| #line 65 "CAN_matrix.ttcn" |
| v__canfd__frame.can__id() = const_cast< const CANFD__matrix__messages::CANFD__MatrixUnion&>(p__canfd__matrix__frame).can__id(); |
| current_location.update_lineno(66); |
| #line 66 "CAN_matrix.ttcn" |
| OCTETSTRING v__encoded; |
| current_location.update_lineno(67); |
| #line 67 "CAN_matrix.ttcn" |
| v__encoded = f__encode__canfd__matrix(p__canfd__matrix__frame); |
| current_location.update_lineno(68); |
| #line 68 "CAN_matrix.ttcn" |
| v__canfd__frame.can__pdu() = substr(v__encoded, 4, 1); |
| current_location.update_lineno(69); |
| #line 69 "CAN_matrix.ttcn" |
| v__canfd__frame.can__pdu() = substr(v__encoded, 5, (v__encoded.lengthof() - 5)); |
| current_location.update_lineno(70); |
| #line 70 "CAN_matrix.ttcn" |
| return v__canfd__frame; |
| } |
| |
| |
| /* Bodies of static functions */ |
| |
| static void pre_init_module() |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "CAN_matrix"); |
| SocketCAN__Types::module_object.pre_init_module(); |
| CAN__matrix__messages::module_object.pre_init_module(); |
| CANFD__matrix__messages::module_object.pre_init_module(); |
| module_object.add_function("f_encode_can_matrix", (genericfunc_t)&f__encode__can__matrix, NULL); |
| module_object.add_function("f_decode_can_matrix", (genericfunc_t)&f__decode__can__matrix, NULL); |
| module_object.add_function("f_encode_canfd_matrix", (genericfunc_t)&f__encode__canfd__matrix, NULL); |
| module_object.add_function("f_decode_canfd_matrix", (genericfunc_t)&f__decode__canfd__matrix, NULL); |
| module_object.add_function("canframe2canmatrixframe", (genericfunc_t)&canframe2canmatrixframe, NULL); |
| module_object.add_function("canmatrixframe2can", (genericfunc_t)&canmatrixframe2can, NULL); |
| module_object.add_function("canfdframe2canfdmatrixframe", (genericfunc_t)&canfdframe2canfdmatrixframe, NULL); |
| module_object.add_function("canfdmatrixframe2canfd", (genericfunc_t)&canfdmatrixframe2canfd, NULL); |
| } |
| |
| static void post_init_module() |
| { |
| TTCN_Location current_location("CAN_matrix.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "CAN_matrix"); |
| SocketCAN__Types::module_object.post_init_module(); |
| CAN__matrix__messages::module_object.post_init_module(); |
| CANFD__matrix__messages::module_object.post_init_module(); |
| } |
| |
| |
| } /* end of namespace */ |