// This C++ source file was generated by the TTCN-3 compiler // of the TTCN-3 Test Executor version 11.1.0 // The generation of user and time information were disabled by the -D flag. // Copyright (c) 2000-2025 Ericsson Telecom AB // Do not edit this file unless you know what you are doing. /* Including header files */ #include "Osmocom_CTRL_Adapter.hh" namespace Osmocom__CTRL__Adapter { /* Literal string constants */ extern const CHARSTRING cs_2(0, NULL), cs_1(4, "-IPA"), cs_5('.'), cs_8(4, ".id."), cs_0(12, "IPA-CTRL-CLI"), cs_3(12, "IPA-CTRL-SRV"), cs_4(4, "bts."), cs_7(4, "fsm."), cs_9(5, "state"), cs_6(4, "trx."); const unsigned char module_checksum[] = { 0x1c, 0x92, 0xdb, 0xb6, 0x22, 0x49, 0x4a, 0x5f, 0x50, 0xd6, 0xe5, 0x33, 0xdc, 0x10, 0xec, 0xc1 }; /* Global variable definitions */ const TTCN_Typedescriptor_t& CTRL__Adapter__CT_descr_ = COMPONENT_descr_; COMPONENT CTRL__Adapter__CT_component_vc__CTRL__IPA; BOOLEAN CTRL__Adapter__CT_component_ipa__is__up; IPA__Emulation::IPA__CTRL__PT CTRL__Adapter__CT_component_IPA__CTRL("IPA_CTRL"); TTCN_Module module_object("Osmocom_CTRL_Adapter", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, post_init_module, NULL, NULL, NULL, init_comp_type, init_system_port, start_ptc_function, NULL); const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_11, current_runtime_version.requires_minor_version_1, current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1); /* Bodies of functions, altsteps and testcases */ void f__ipa__ctrl__wait__link__up() { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 31, TTCN_Location::LOCATION_FUNCTION, "f_ipa_ctrl_wait_link_up"); current_location.update_lineno(33); /* Osmocom_CTRL_Adapter.ttcn, line 33 */ if ((CTRL__Adapter__CT_component_ipa__is__up == TRUE)) { current_location.update_lineno(34); /* Osmocom_CTRL_Adapter.ttcn, line 34 */ return; } current_location.update_lineno(36); /* Osmocom_CTRL_Adapter.ttcn, line 36 */ TIMER T("T", 1.0e1); current_location.update_lineno(37); /* Osmocom_CTRL_Adapter.ttcn, line 37 */ T.start(); current_location.update_lineno(38); /* Osmocom_CTRL_Adapter.ttcn, line 38 */ { tmp_0: alt_status tmp_0_alt_flag_0 = ALT_MAYBE; alt_status tmp_0_alt_flag_1 = ALT_MAYBE; alt_status tmp_0_default_flag = ALT_MAYBE; boolean first_run = TRUE; TTCN_Snapshot::take_new(FALSE); for ( ; ; ) { if (tmp_0_alt_flag_0 == ALT_MAYBE) { current_location.update_lineno(39); /* Osmocom_CTRL_Adapter.ttcn, line 39 */ tmp_0_alt_flag_0 = CTRL__Adapter__CT_component_IPA__CTRL.receive(IPA__Emulation::tr__ASP__IPA__EV(IPA__Emulation::ASP__IPA__EventType_template(IPA__Emulation::ASP__IPA__EventType::ASP__IPA__EVENT__UP), IPA__Emulation::tr__ASP__IPA__EV_conn__id_defval, IPA__Emulation::tr__ASP__IPA__EV_id__resp_defval), NULL, any_compref, NULL, NULL, NULL); if (tmp_0_alt_flag_0 == ALT_YES) { current_location.update_lineno(39); /* Osmocom_CTRL_Adapter.ttcn, line 39 */ CTRL__Adapter__CT_component_ipa__is__up = TRUE; break; } } if (tmp_0_alt_flag_1 == ALT_MAYBE) { current_location.update_lineno(40); /* Osmocom_CTRL_Adapter.ttcn, line 40 */ tmp_0_alt_flag_1 = T.timeout(NULL); if (tmp_0_alt_flag_1 == ALT_YES) { current_location.update_lineno(41); /* Osmocom_CTRL_Adapter.ttcn, line 41 */ TTCN_Runtime::setverdict(FAIL,(TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("Timeout CTRL waiting for ASP_IPA_EVENT_UP"),TTCN_Logger::end_event_log2str())); current_location.update_lineno(42); /* Osmocom_CTRL_Adapter.ttcn, line 42 */ TTCN_Runtime::stop_component(MTC_COMPREF); } } if (tmp_0_default_flag == ALT_MAYBE) { tmp_0_default_flag = TTCN_Default::try_altsteps(first_run); if (tmp_0_default_flag == ALT_YES || tmp_0_default_flag == ALT_BREAK) break; else if (tmp_0_default_flag == ALT_REPEAT) goto tmp_0; } current_location.update_lineno(38); /* Osmocom_CTRL_Adapter.ttcn, line 38 */ if (tmp_0_alt_flag_0 == ALT_NO && tmp_0_alt_flag_1 == ALT_NO && tmp_0_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file Osmocom_CTRL_Adapter.ttcn between lines 38 and 44."); TTCN_Snapshot::take_new(TRUE); first_run = FALSE; } } } void start_f__ipa__ctrl__wait__link__up(const COMPONENT& component_reference) { TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_wait_link_up("); TTCN_Logger::log_event_str(") on component "); component_reference.log(); TTCN_Logger::log_char('.'); TTCN_Logger::end_event(); Text_Buf text_buf; TTCN_Runtime::prepare_start_component(component_reference, "Osmocom_CTRL_Adapter", "f_ipa_ctrl_wait_link_up", text_buf); TTCN_Runtime::send_start_component(text_buf); } void f__ipa__ctrl__wait__link__down() { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 48, TTCN_Location::LOCATION_FUNCTION, "f_ipa_ctrl_wait_link_down"); current_location.update_lineno(50); /* Osmocom_CTRL_Adapter.ttcn, line 50 */ if ((CTRL__Adapter__CT_component_ipa__is__up == FALSE)) { current_location.update_lineno(51); /* Osmocom_CTRL_Adapter.ttcn, line 51 */ return; } current_location.update_lineno(53); /* Osmocom_CTRL_Adapter.ttcn, line 53 */ TIMER T("T", 1.0e1); current_location.update_lineno(54); /* Osmocom_CTRL_Adapter.ttcn, line 54 */ T.start(); current_location.update_lineno(55); /* Osmocom_CTRL_Adapter.ttcn, line 55 */ { tmp_2: alt_status tmp_2_alt_flag_0 = ALT_MAYBE; alt_status tmp_2_alt_flag_1 = ALT_MAYBE; alt_status tmp_2_default_flag = ALT_MAYBE; boolean first_run = TRUE; TTCN_Snapshot::take_new(FALSE); for ( ; ; ) { if (tmp_2_alt_flag_0 == ALT_MAYBE) { current_location.update_lineno(56); /* Osmocom_CTRL_Adapter.ttcn, line 56 */ tmp_2_alt_flag_0 = CTRL__Adapter__CT_component_IPA__CTRL.receive(IPA__Emulation::tr__ASP__IPA__EV(IPA__Emulation::ASP__IPA__EventType_template(IPA__Emulation::ASP__IPA__EventType::ASP__IPA__EVENT__DOWN), IPA__Emulation::tr__ASP__IPA__EV_conn__id_defval, IPA__Emulation::tr__ASP__IPA__EV_id__resp_defval), NULL, any_compref, NULL, NULL, NULL); if (tmp_2_alt_flag_0 == ALT_YES) { current_location.update_lineno(56); /* Osmocom_CTRL_Adapter.ttcn, line 56 */ CTRL__Adapter__CT_component_ipa__is__up = FALSE; break; } } if (tmp_2_alt_flag_1 == ALT_MAYBE) { current_location.update_lineno(57); /* Osmocom_CTRL_Adapter.ttcn, line 57 */ tmp_2_alt_flag_1 = T.timeout(NULL); if (tmp_2_alt_flag_1 == ALT_YES) { current_location.update_lineno(58); /* Osmocom_CTRL_Adapter.ttcn, line 58 */ TTCN_Runtime::setverdict(FAIL,(TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("Timeout CTRL waiting for ASP_IPA_EVENT_DOWN"),TTCN_Logger::end_event_log2str())); current_location.update_lineno(59); /* Osmocom_CTRL_Adapter.ttcn, line 59 */ TTCN_Runtime::stop_component(MTC_COMPREF); } } if (tmp_2_default_flag == ALT_MAYBE) { tmp_2_default_flag = TTCN_Default::try_altsteps(first_run); if (tmp_2_default_flag == ALT_YES || tmp_2_default_flag == ALT_BREAK) break; else if (tmp_2_default_flag == ALT_REPEAT) goto tmp_2; } current_location.update_lineno(55); /* Osmocom_CTRL_Adapter.ttcn, line 55 */ if (tmp_2_alt_flag_0 == ALT_NO && tmp_2_alt_flag_1 == ALT_NO && tmp_2_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file Osmocom_CTRL_Adapter.ttcn between lines 55 and 61."); TTCN_Snapshot::take_new(TRUE); first_run = FALSE; } } } void start_f__ipa__ctrl__wait__link__down(const COMPONENT& component_reference) { TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_wait_link_down("); TTCN_Logger::log_event_str(") on component "); component_reference.log(); TTCN_Logger::log_char('.'); TTCN_Logger::end_event(); Text_Buf text_buf; TTCN_Runtime::prepare_start_component(component_reference, "Osmocom_CTRL_Adapter", "f_ipa_ctrl_wait_link_down", text_buf); TTCN_Runtime::send_start_component(text_buf); } void f__ipa__ctrl__start__client(const CHARSTRING& bsc__host, const INTEGER& bsc__port) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 65, TTCN_Location::LOCATION_FUNCTION, "f_ipa_ctrl_start_client"); current_location.update_lineno(67); /* Osmocom_CTRL_Adapter.ttcn, line 67 */ CHARSTRING id(cs_0); current_location.update_lineno(69); /* Osmocom_CTRL_Adapter.ttcn, line 69 */ CTRL__Adapter__CT_component_vc__CTRL__IPA = TTCN_Runtime::create_component("IPA_Emulation", "IPA_Emulation_CT", (id + cs_1), NULL, FALSE); current_location.update_lineno(71); /* Osmocom_CTRL_Adapter.ttcn, line 71 */ { Map_Params tmp_5(0); TTCN_Runtime::map_port(CTRL__Adapter__CT_component_vc__CTRL__IPA, IPA__Emulation::IPA__Emulation__CT_component_IPA__PORT.get_name(), SYSTEM_COMPREF, "IPA_CODEC_PT", tmp_5); } current_location.update_lineno(72); /* Osmocom_CTRL_Adapter.ttcn, line 72 */ TTCN_Runtime::connect_port(CTRL__Adapter__CT_component_vc__CTRL__IPA, IPA__Emulation::IPA__Emulation__CT_component_IPA__CTRL__PORT.get_name(), self, CTRL__Adapter__CT_component_IPA__CTRL.get_name()); current_location.update_lineno(74); /* Osmocom_CTRL_Adapter.ttcn, line 74 */ IPA__Emulation::start_main__client(CTRL__Adapter__CT_component_vc__CTRL__IPA, bsc__host, bsc__port, cs_2, 0, IPA__Emulation::c__IPA__default__ccm__pars, FALSE); current_location.update_lineno(77); /* Osmocom_CTRL_Adapter.ttcn, line 77 */ f__ipa__ctrl__wait__link__up(); } void start_f__ipa__ctrl__start__client(const COMPONENT& component_reference, const CHARSTRING& bsc__host, const INTEGER& bsc__port) { TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_start_client("); bsc__host.log(); TTCN_Logger::log_event_str(", "); bsc__port.log(); TTCN_Logger::log_event_str(") on component "); component_reference.log(); TTCN_Logger::log_char('.'); TTCN_Logger::end_event(); Text_Buf text_buf; TTCN_Runtime::prepare_start_component(component_reference, "Osmocom_CTRL_Adapter", "f_ipa_ctrl_start_client", text_buf); bsc__host.encode_text(text_buf); bsc__port.encode_text(text_buf); TTCN_Runtime::send_start_component(text_buf); } void f__ipa__ctrl__start__server(const CHARSTRING& listen__host, const INTEGER& listen__port) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 81, TTCN_Location::LOCATION_FUNCTION, "f_ipa_ctrl_start_server"); current_location.update_lineno(83); /* Osmocom_CTRL_Adapter.ttcn, line 83 */ CHARSTRING id(cs_3); current_location.update_lineno(84); /* Osmocom_CTRL_Adapter.ttcn, line 84 */ TIMER T("T", 1.0e1); current_location.update_lineno(86); /* Osmocom_CTRL_Adapter.ttcn, line 86 */ CTRL__Adapter__CT_component_vc__CTRL__IPA = TTCN_Runtime::create_component("IPA_Emulation", "IPA_Emulation_CT", (id + cs_1), NULL, FALSE); current_location.update_lineno(88); /* Osmocom_CTRL_Adapter.ttcn, line 88 */ { Map_Params tmp_7(0); TTCN_Runtime::map_port(CTRL__Adapter__CT_component_vc__CTRL__IPA, IPA__Emulation::IPA__Emulation__CT_component_IPA__PORT.get_name(), SYSTEM_COMPREF, "IPA_CODEC_PT", tmp_7); } current_location.update_lineno(89); /* Osmocom_CTRL_Adapter.ttcn, line 89 */ TTCN_Runtime::connect_port(CTRL__Adapter__CT_component_vc__CTRL__IPA, IPA__Emulation::IPA__Emulation__CT_component_IPA__CTRL__PORT.get_name(), self, CTRL__Adapter__CT_component_IPA__CTRL.get_name()); current_location.update_lineno(91); /* Osmocom_CTRL_Adapter.ttcn, line 91 */ IPA__Emulation::start_main__server(CTRL__Adapter__CT_component_vc__CTRL__IPA, listen__host, listen__port, FALSE, IPA__Emulation::main__server_init__behavior_defval, FALSE); } void start_f__ipa__ctrl__start__server(const COMPONENT& component_reference, const CHARSTRING& listen__host, const INTEGER& listen__port) { TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_start_server("); listen__host.log(); TTCN_Logger::log_event_str(", "); listen__port.log(); TTCN_Logger::log_event_str(") on component "); component_reference.log(); TTCN_Logger::log_char('.'); TTCN_Logger::end_event(); Text_Buf text_buf; TTCN_Runtime::prepare_start_component(component_reference, "Osmocom_CTRL_Adapter", "f_ipa_ctrl_start_server", text_buf); listen__host.encode_text(text_buf); listen__port.encode_text(text_buf); TTCN_Runtime::send_start_component(text_buf); } void f__ipa__ctrl__stop() { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 95, TTCN_Location::LOCATION_FUNCTION, "f_ipa_ctrl_stop"); current_location.update_lineno(96); /* Osmocom_CTRL_Adapter.ttcn, line 96 */ CTRL__Adapter__CT_component_vc__CTRL__IPA.stop(); } void start_f__ipa__ctrl__stop(const COMPONENT& component_reference) { TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_stop("); TTCN_Logger::log_event_str(") on component "); component_reference.log(); TTCN_Logger::log_char('.'); TTCN_Logger::end_event(); Text_Buf text_buf; TTCN_Runtime::prepare_start_component(component_reference, "Osmocom_CTRL_Adapter", "f_ipa_ctrl_stop", text_buf); TTCN_Runtime::send_start_component(text_buf); } CHARSTRING f__ctrl__get__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 101, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_get_bts"); current_location.update_lineno(102); /* Osmocom_CTRL_Adapter.ttcn, line 102 */ return Osmocom__CTRL__Functions::f__ctrl__get(pt, (((cs_4 + int2str(bts__nr)) + cs_5) + suffix), Osmocom__CTRL__Functions::f__ctrl__get_on__err_defval); } void f__ctrl__set__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix, const CHARSTRING& val) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 104, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_set_bts"); current_location.update_lineno(105); /* Osmocom_CTRL_Adapter.ttcn, line 105 */ Osmocom__CTRL__Functions::f__ctrl__set(pt, (((cs_4 + int2str(bts__nr)) + cs_5) + suffix), val); } CHARSTRING_template ts__bts(const INTEGER& bts__nr) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 108, TTCN_Location::LOCATION_TEMPLATE, "ts_bts"); CHARSTRING_template ret_val; ret_val = ((cs_4 + int2str(bts__nr)) + cs_5); return ret_val; } CHARSTRING_template ts__bts__trx(const INTEGER& bts__nr, const INTEGER& trx__nr) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 109, TTCN_Location::LOCATION_TEMPLATE, "ts_bts_trx"); CHARSTRING_template ret_val; ret_val = (((ts__bts(bts__nr).valueof() + cs_6) + int2str(trx__nr)) + cs_5); return ret_val; } void f__ctrl__get__exp__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix, const CHARSTRING_template& exp) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 112, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_get_exp_bts"); current_location.update_lineno(113); /* Osmocom_CTRL_Adapter.ttcn, line 113 */ Osmocom__CTRL__Functions::f__ctrl__get__exp(pt, (ts__bts(bts__nr).valueof() + suffix), exp); } void f__ctrl__get__exp__trx(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const INTEGER& trx__nr, const CHARSTRING& suffix, const CHARSTRING_template& exp) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 116, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_get_exp_trx"); current_location.update_lineno(119); /* Osmocom_CTRL_Adapter.ttcn, line 119 */ Osmocom__CTRL__Functions::f__ctrl__get__exp(pt, (ts__bts__trx(bts__nr, trx__nr).valueof() + suffix), exp); } CHARSTRING_template ts__fsm__inst__id(const CHARSTRING& class__name, const CHARSTRING& inst__id) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 122, TTCN_Location::LOCATION_TEMPLATE, "ts_fsm_inst_id"); CHARSTRING_template ret_val; ret_val = ((((cs_7 + class__name) + cs_8) + inst__id) + cs_5); return ret_val; } CHARSTRING f__ctrl__get__fsm__inst__state(IPA__Emulation::IPA__CTRL__PT& pt, const CHARSTRING& fsm__class__name, const CHARSTRING& fsm__inst__id) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 126, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_get_fsm_inst_state"); current_location.update_lineno(128); /* Osmocom_CTRL_Adapter.ttcn, line 128 */ return Osmocom__CTRL__Functions::f__ctrl__get(pt, (ts__fsm__inst__id(fsm__class__name, fsm__inst__id).valueof() + cs_9), Osmocom__CTRL__Functions::f__ctrl__get_on__err_defval); } void f__ctrl__get__exp__inst__state(IPA__Emulation::IPA__CTRL__PT& pt, const CHARSTRING& fsm__class__name, const CHARSTRING_template& fsm__inst__id, const CHARSTRING_template& exp) { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 132, TTCN_Location::LOCATION_FUNCTION, "f_ctrl_get_exp_inst_state"); current_location.update_lineno(136); /* Osmocom_CTRL_Adapter.ttcn, line 136 */ Osmocom__CTRL__Functions::f__ctrl__get__exp(pt, (ts__fsm__inst__id(fsm__class__name, fsm__inst__id.valueof()).valueof() + cs_9), exp); } /* Bodies of static functions */ void pre_init_module() { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "Osmocom_CTRL_Adapter"); Osmocom__CTRL__Functions::module_object.pre_init_module(); module_object.add_function("f_ipa_ctrl_wait_link_up", (genericfunc_t)&f__ipa__ctrl__wait__link__up, (genericfunc_t)&start_f__ipa__ctrl__wait__link__up); module_object.add_function("f_ipa_ctrl_wait_link_down", (genericfunc_t)&f__ipa__ctrl__wait__link__down, (genericfunc_t)&start_f__ipa__ctrl__wait__link__down); module_object.add_function("f_ipa_ctrl_start_client", (genericfunc_t)&f__ipa__ctrl__start__client, (genericfunc_t)&start_f__ipa__ctrl__start__client); module_object.add_function("f_ipa_ctrl_start_server", (genericfunc_t)&f__ipa__ctrl__start__server, (genericfunc_t)&start_f__ipa__ctrl__start__server); module_object.add_function("f_ipa_ctrl_stop", (genericfunc_t)&f__ipa__ctrl__stop, (genericfunc_t)&start_f__ipa__ctrl__stop); module_object.add_function("f_ctrl_get_bts", (genericfunc_t)&f__ctrl__get__bts, NULL); module_object.add_function("f_ctrl_set_bts", (genericfunc_t)&f__ctrl__set__bts, NULL); module_object.add_function("f_ctrl_get_exp_bts", (genericfunc_t)&f__ctrl__get__exp__bts, NULL); module_object.add_function("f_ctrl_get_exp_trx", (genericfunc_t)&f__ctrl__get__exp__trx, NULL); module_object.add_function("f_ctrl_get_fsm_inst_state", (genericfunc_t)&f__ctrl__get__fsm__inst__state, NULL); module_object.add_function("f_ctrl_get_exp_inst_state", (genericfunc_t)&f__ctrl__get__exp__inst__state, NULL); } void post_init_module() { TTCN_Location current_location("Osmocom_CTRL_Adapter.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "Osmocom_CTRL_Adapter"); Osmocom__CTRL__Functions::module_object.post_init_module(); } boolean init_comp_type(const char *component_type, boolean init_base_comps) { (void)init_base_comps; if (!strcmp(component_type, "CTRL_Adapter_CT")) { CTRL__Adapter__CT_component_vc__CTRL__IPA.clean_up(); CTRL__Adapter__CT_component_ipa__is__up = FALSE; CTRL__Adapter__CT_component_IPA__CTRL.activate_port(); return TRUE; } else return FALSE; } boolean init_system_port(const char* component_type, const char* port_name) { if (!strcmp(component_type, "CTRL_Adapter_CT")) { if (!strcmp(port_name, "IPA_CTRL")) { CTRL__Adapter__CT_component_IPA__CTRL.safe_start(); return TRUE; } } return FALSE; } boolean start_ptc_function(const char *function_name, Text_Buf& function_arguments) { if (!strcmp(function_name, "f_ipa_ctrl_wait_link_up")) { TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function f_ipa_ctrl_wait_link_up()."); TTCN_Runtime::function_started(function_arguments); f__ipa__ctrl__wait__link__up(); TTCN_Runtime::function_finished("f_ipa_ctrl_wait_link_up"); return TRUE; } else if (!strcmp(function_name, "f_ipa_ctrl_wait_link_down")) { TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function f_ipa_ctrl_wait_link_down()."); TTCN_Runtime::function_started(function_arguments); f__ipa__ctrl__wait__link__down(); TTCN_Runtime::function_finished("f_ipa_ctrl_wait_link_down"); return TRUE; } else if (!strcmp(function_name, "f_ipa_ctrl_start_client")) { CHARSTRING bsc__host; INTEGER bsc__port; bsc__host.decode_text(function_arguments); bsc__port.decode_text(function_arguments); TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_start_client("); bsc__host.log(); TTCN_Logger::log_event_str(", "); bsc__port.log(); TTCN_Logger::log_event_str(")."); TTCN_Logger::end_event(); TTCN_Runtime::function_started(function_arguments); f__ipa__ctrl__start__client(bsc__host, bsc__port); TTCN_Runtime::function_finished("f_ipa_ctrl_start_client"); return TRUE; } else if (!strcmp(function_name, "f_ipa_ctrl_start_server")) { CHARSTRING listen__host; INTEGER listen__port; listen__host.decode_text(function_arguments); listen__port.decode_text(function_arguments); TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC); TTCN_Logger::log_event_str("Starting function f_ipa_ctrl_start_server("); listen__host.log(); TTCN_Logger::log_event_str(", "); listen__port.log(); TTCN_Logger::log_event_str(")."); TTCN_Logger::end_event(); TTCN_Runtime::function_started(function_arguments); f__ipa__ctrl__start__server(listen__host, listen__port); TTCN_Runtime::function_finished("f_ipa_ctrl_start_server"); return TRUE; } else if (!strcmp(function_name, "f_ipa_ctrl_stop")) { TTCN_Logger::log_str(TTCN_Logger::PARALLEL_PTC, "Starting function f_ipa_ctrl_stop()."); TTCN_Runtime::function_started(function_arguments); f__ipa__ctrl__stop(); TTCN_Runtime::function_finished("f_ipa_ctrl_stop"); return TRUE; } else return FALSE; } } /* end of namespace */