// This C++ source file was generated by the TTCN-3 compiler // of the TTCN-3 Test Executor version 9.0.0 // for (build@3978f7fbee0c) on Mon Jun 24 02:37:33 2024 // Copyright (c) 2000-2023 Ericsson Telecom AB // Do not edit this file unless you know what you are doing. /* Including header files */ #include "DIAMETER_ts32_299_Templates.hh" namespace DIAMETER__ts32__299__Templates { /* Literal string constants */ const unsigned char bs_1_bits[] = { 2 }, bs_0_bits[] = { 3 }; extern const BITSTRING bs_1(8, bs_1_bits), bs_0(8, bs_0_bits); const unsigned char os_0_octets[] = { 0, 0, 0, 4 }; extern const OCTETSTRING os_0(4, os_0_octets); extern const CHARSTRING cs_3(32, "DIAMETER_ts32_299_Templates.ttcn"), cs_1(11, "localdomain"), cs_0(15, "ocs.localdomain"), cs_2(4, "omit"); const unsigned char module_checksum[] = { 0x74, 0xe9, 0xda, 0x32, 0xf7, 0xb7, 0xde, 0x0f, 0x5c, 0xbd, 0xe3, 0xb0, 0x16, 0x47, 0x7b, 0x4f }; /* Global variable definitions */ // No XER for DIAMETER__ts32__229__Resultcode const TTCN_Typedescriptor_t DIAMETER__ts32__229__Resultcode_descr_ = { "@DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE }; DIAMETER__Types::DCC__NONE__CC__Request__Type_template template_tr__DIA__Gy__CCR_req__type_defval; const DIAMETER__Types::DCC__NONE__CC__Request__Type_template& tr__DIA__Gy__CCR_req__type_defval = template_tr__DIA__Gy__CCR_req__type_defval; INTEGER const_ts__DIA__Gy__CCA__ValidityTimeVolumeThreshold_volume__threhsold_defval; const INTEGER& ts__DIA__Gy__CCA__ValidityTimeVolumeThreshold_volume__threhsold_defval = const_ts__DIA__Gy__CCA__ValidityTimeVolumeThreshold_volume__threhsold_defval; DIAMETER__Types::DCA__3GPP__Reporting__Reason_template template_f__validate__gy__cc__report_repreason__exp_defval; const DIAMETER__Types::DCA__3GPP__Reporting__Reason_template& f__validate__gy__cc__report_repreason__exp_defval = template_f__validate__gy__cc__report_repreason__exp_defval; INTEGER_template template_f__validate__gy__cc__report_cc__time__exp_defval; const INTEGER_template& f__validate__gy__cc__report_cc__time__exp_defval = template_f__validate__gy__cc__report_cc__time__exp_defval; INTEGER_template template_f__validate__gy__cc__report_cc__in__oct__exp_defval; const INTEGER_template& f__validate__gy__cc__report_cc__in__oct__exp_defval = template_f__validate__gy__cc__report_cc__in__oct__exp_defval; INTEGER_template template_f__validate__gy__cc__report_cc__out__oct__exp_defval; const INTEGER_template& f__validate__gy__cc__report_cc__out__oct__exp_defval = template_f__validate__gy__cc__report_cc__out__oct__exp_defval; TTCN_Module module_object("DIAMETER_ts32_299_Templates", __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); const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_9, current_runtime_version.requires_minor_version_0, current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1); /* Member functions of C++ classes */ DIAMETER__ts32__229__Resultcode::DIAMETER__ts32__229__Resultcode() { enum_value = UNBOUND_VALUE; } DIAMETER__ts32__229__Resultcode::DIAMETER__ts32__229__Resultcode(int other_value) { if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode with invalid numeric value %d.", other_value); enum_value = (enum_type)other_value; } DIAMETER__ts32__229__Resultcode::DIAMETER__ts32__229__Resultcode(enum_type other_value) { enum_value = other_value; } DIAMETER__ts32__229__Resultcode::DIAMETER__ts32__229__Resultcode(const DIAMETER__ts32__229__Resultcode& other_value) : Base_Type() { if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); enum_value = other_value.enum_value; } DIAMETER__ts32__229__Resultcode& DIAMETER__ts32__229__Resultcode::operator=(int other_value) { if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", other_value); enum_value = (enum_type)other_value; return *this; } DIAMETER__ts32__229__Resultcode& DIAMETER__ts32__229__Resultcode::operator=(enum_type other_value) { enum_value = other_value; return *this; } DIAMETER__ts32__229__Resultcode& DIAMETER__ts32__229__Resultcode::operator=(const DIAMETER__ts32__229__Resultcode& other_value) { if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); enum_value = other_value.enum_value; return *this; } boolean DIAMETER__ts32__229__Resultcode::operator==(enum_type other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value == other_value; } boolean DIAMETER__ts32__229__Resultcode::operator==(const DIAMETER__ts32__229__Resultcode& other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value == other_value.enum_value; } boolean DIAMETER__ts32__229__Resultcode::operator<(enum_type other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value < other_value; } boolean DIAMETER__ts32__229__Resultcode::operator<(const DIAMETER__ts32__229__Resultcode& other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value < other_value.enum_value; } boolean DIAMETER__ts32__229__Resultcode::operator>(enum_type other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value > other_value; } boolean DIAMETER__ts32__229__Resultcode::operator>(const DIAMETER__ts32__229__Resultcode& other_value) const { if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value > other_value.enum_value; } const char *DIAMETER__ts32__229__Resultcode::enum_to_str(enum_type enum_par) { switch (enum_par) { case DIAMETER__END__USER__SERVICE__DENIED: return "DIAMETER_END_USER_SERVICE_DENIED"; case DIAMETER__CREDIT__CONTROL__NOT__APPLICABLE: return "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE"; case DIAMETER__CREDIT__LIMIT__REACHED: return "DIAMETER_CREDIT_LIMIT_REACHED"; case DIAMETER__AUTHORIZATION__REJECTED: return "DIAMETER_AUTHORIZATION_REJECTED"; case DIAMETER__USER__UNKNOWN: return "DIAMETER_USER_UNKNOWN"; case DIAMETER__RATING__FAILED: return "DIAMETER_RATING_FAILED"; default: return ""; } } DIAMETER__ts32__229__Resultcode::enum_type DIAMETER__ts32__229__Resultcode::str_to_enum(const char *str_par) { if (!strcmp(str_par, "DIAMETER_END_USER_SERVICE_DENIED")) return DIAMETER__END__USER__SERVICE__DENIED; else if (!strcmp(str_par, "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE")) return DIAMETER__CREDIT__CONTROL__NOT__APPLICABLE; else if (!strcmp(str_par, "DIAMETER_CREDIT_LIMIT_REACHED")) return DIAMETER__CREDIT__LIMIT__REACHED; else if (!strcmp(str_par, "DIAMETER_AUTHORIZATION_REJECTED")) return DIAMETER__AUTHORIZATION__REJECTED; else if (!strcmp(str_par, "DIAMETER_USER_UNKNOWN")) return DIAMETER__USER__UNKNOWN; else if (!strcmp(str_par, "DIAMETER_RATING_FAILED")) return DIAMETER__RATING__FAILED; else return UNKNOWN_VALUE; } boolean DIAMETER__ts32__229__Resultcode::is_valid_enum(int int_par) { switch (int_par) { case 4010: case 4011: case 4012: case 5003: case 5030: case 5031: return TRUE; default: return FALSE; } } int DIAMETER__ts32__229__Resultcode::enum2int(enum_type enum_par) { if (enum_par==UNBOUND_VALUE || enum_par==UNKNOWN_VALUE) TTCN_error("The argument of function enum2int() is an %s value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", enum_par==UNBOUND_VALUE?"unbound":"invalid"); return enum_par; } int DIAMETER__ts32__229__Resultcode::enum2int(const DIAMETER__ts32__229__Resultcode& enum_par) { if (enum_par.enum_value==UNBOUND_VALUE || enum_par.enum_value==UNKNOWN_VALUE) TTCN_error("The argument of function enum2int() is an %s value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", enum_par==UNBOUND_VALUE?"unbound":"invalid"); return enum_par.enum_value; } void DIAMETER__ts32__229__Resultcode::int2enum(int int_val) { if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", int_val); enum_value = (enum_type)int_val; } DIAMETER__ts32__229__Resultcode::operator DIAMETER__ts32__229__Resultcode::enum_type() const { if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return enum_value; } void DIAMETER__ts32__229__Resultcode::log() const { if (enum_value != UNBOUND_VALUE) TTCN_Logger::log_event_enum(enum_to_str(enum_value), enum_value); else TTCN_Logger::log_event_unbound(); } void DIAMETER__ts32__229__Resultcode::set_param(Module_Param& param) { param.basic_check(Module_Param::BC_VALUE, "enumerated value"); if (param.get_type()!=Module_Param::MP_Enumerated) param.type_error("enumerated value", "@DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode"); enum_value = str_to_enum(param.get_enumerated()); if (!is_valid_enum(enum_value)) { param.error("Invalid enumerated value for type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } } void DIAMETER__ts32__229__Resultcode::encode_text(Text_Buf& text_buf) const { if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); text_buf.push_int(enum_value); } void DIAMETER__ts32__229__Resultcode::decode_text(Text_Buf& text_buf) { enum_value = (enum_type)text_buf.pull_int().get_val(); if (!is_valid_enum(enum_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", enum_value); } void DIAMETER__ts32__229__Resultcode_template::copy_template(const DIAMETER__ts32__229__Resultcode_template& other_value) { set_selection(other_value); switch (template_selection) { case SPECIFIC_VALUE: single_value = other_value.single_value; break; case OMIT_VALUE: case ANY_VALUE: case ANY_OR_OMIT: break; case VALUE_LIST: case COMPLEMENTED_LIST: case CONJUNCTION_MATCH: value_list.n_values = other_value.value_list.n_values; value_list.list_value = new DIAMETER__ts32__229__Resultcode_template[value_list.n_values]; for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) value_list.list_value[list_count].copy_template(other_value.value_list.list_value[list_count]); break; case IMPLICATION_MATCH: implication_.precondition = new DIAMETER__ts32__229__Resultcode_template(*other_value.implication_.precondition); implication_.implied_template = new DIAMETER__ts32__229__Resultcode_template(*other_value.implication_.implied_template); break; case DYNAMIC_MATCH: dyn_match = other_value.dyn_match; dyn_match->ref_count++; break; default: TTCN_error("Copying an uninitialized/unsupported template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template() { } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(template_sel other_value) : Base_Template(other_value) { check_single_selection(other_value); } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(int other_value) : Base_Template(SPECIFIC_VALUE) { if (!DIAMETER__ts32__229__Resultcode::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode with unknown numeric value %d.", other_value); single_value = (DIAMETER__ts32__229__Resultcode::enum_type)other_value; } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(DIAMETER__ts32__229__Resultcode::enum_type other_value) : Base_Template(SPECIFIC_VALUE) { single_value = other_value; } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(const DIAMETER__ts32__229__Resultcode& other_value) : Base_Template(SPECIFIC_VALUE) { if (other_value.enum_value == DIAMETER__ts32__229__Resultcode::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); single_value = other_value.enum_value; } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(const OPTIONAL& other_value) { switch (other_value.get_selection()) { case OPTIONAL_PRESENT: set_selection(SPECIFIC_VALUE); single_value = (DIAMETER__ts32__229__Resultcode::enum_type)(const DIAMETER__ts32__229__Resultcode&)other_value; break; case OPTIONAL_OMIT: set_selection(OMIT_VALUE); break; default: TTCN_error("Creating a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode from an unbound optional field."); } } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(DIAMETER__ts32__229__Resultcode_template* p_precondition, DIAMETER__ts32__229__Resultcode_template* p_implied_template) : Base_Template(IMPLICATION_MATCH) { implication_.precondition = p_precondition; implication_.implied_template = p_implied_template; } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(Dynamic_Match_Interface* p_dyn_match) : Base_Template(DYNAMIC_MATCH) { dyn_match = new dynmatch_struct; dyn_match->ptr = p_dyn_match; dyn_match->ref_count = 1; } DIAMETER__ts32__229__Resultcode_template::DIAMETER__ts32__229__Resultcode_template(const DIAMETER__ts32__229__Resultcode_template& other_value) : Base_Template() { copy_template(other_value); } DIAMETER__ts32__229__Resultcode_template::~DIAMETER__ts32__229__Resultcode_template() { clean_up(); } boolean DIAMETER__ts32__229__Resultcode_template::is_bound() const { if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE; return TRUE; } boolean DIAMETER__ts32__229__Resultcode_template::is_value() const { if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE; return single_value != DIAMETER__ts32__229__Resultcode::UNBOUND_VALUE; } void DIAMETER__ts32__229__Resultcode_template::clean_up() { switch (template_selection) { case VALUE_LIST: case COMPLEMENTED_LIST: case CONJUNCTION_MATCH: delete [] value_list.list_value; break; case IMPLICATION_MATCH: delete implication_.precondition; delete implication_.implied_template; break; case DYNAMIC_MATCH: dyn_match->ref_count--; if (dyn_match->ref_count == 0) { delete dyn_match->ptr; delete dyn_match; } break; default: break; } template_selection = UNINITIALIZED_TEMPLATE; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(template_sel other_value) { check_single_selection(other_value); clean_up(); set_selection(other_value); return *this; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(int other_value) { if (!DIAMETER__ts32__229__Resultcode::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", other_value); clean_up(); set_selection(SPECIFIC_VALUE); single_value = (DIAMETER__ts32__229__Resultcode::enum_type)other_value; return *this; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(DIAMETER__ts32__229__Resultcode::enum_type other_value) { clean_up(); set_selection(SPECIFIC_VALUE); single_value = other_value; return *this; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(const DIAMETER__ts32__229__Resultcode& other_value) { if (other_value.enum_value == DIAMETER__ts32__229__Resultcode::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode to a template."); clean_up(); set_selection(SPECIFIC_VALUE); single_value = other_value.enum_value; return *this; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(const OPTIONAL& other_value) { clean_up(); switch (other_value.get_selection()) { case OPTIONAL_PRESENT: set_selection(SPECIFIC_VALUE); single_value = (DIAMETER__ts32__229__Resultcode::enum_type)(const DIAMETER__ts32__229__Resultcode&)other_value; break; case OPTIONAL_OMIT: set_selection(OMIT_VALUE); break; default: TTCN_error("Assignment of an unbound optional field to a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } return *this; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::operator=(const DIAMETER__ts32__229__Resultcode_template& other_value) { if (&other_value != this) { clean_up(); copy_template(other_value); } return *this; } boolean DIAMETER__ts32__229__Resultcode_template::match(DIAMETER__ts32__229__Resultcode::enum_type other_value, boolean) const { switch (template_selection) { case SPECIFIC_VALUE: return single_value == other_value; case OMIT_VALUE: return FALSE; case ANY_VALUE: case ANY_OR_OMIT: return TRUE; case VALUE_LIST: case COMPLEMENTED_LIST: for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) if (value_list.list_value[list_count].match(other_value)) return template_selection == VALUE_LIST; return template_selection == COMPLEMENTED_LIST; case CONJUNCTION_MATCH: for (unsigned int i = 0; i < value_list.n_values; i++) { if (!value_list.list_value[i].match(other_value)) { return FALSE; } } return TRUE; case IMPLICATION_MATCH: return !implication_.precondition->match(other_value) || implication_.implied_template->match(other_value); case DYNAMIC_MATCH: return dyn_match->ptr->match(other_value); default: TTCN_error("Matching an uninitialized/unsupported template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } return FALSE; } boolean DIAMETER__ts32__229__Resultcode_template::match(const DIAMETER__ts32__229__Resultcode& other_value, boolean) const { if (other_value.enum_value == DIAMETER__ts32__229__Resultcode::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode with an unbound value."); return match(other_value.enum_value); } DIAMETER__ts32__229__Resultcode::enum_type DIAMETER__ts32__229__Resultcode_template::valueof() const { if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return single_value; } void DIAMETER__ts32__229__Resultcode_template::set_type(template_sel template_type, unsigned int list_length) { if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST && template_type != CONJUNCTION_MATCH) TTCN_error("Setting an invalid list type for a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); clean_up(); set_selection(template_type); value_list.n_values = list_length; value_list.list_value = new DIAMETER__ts32__229__Resultcode_template[list_length]; } DIAMETER__ts32__229__Resultcode_template& DIAMETER__ts32__229__Resultcode_template::list_item(unsigned int list_index) { if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST && template_selection != CONJUNCTION_MATCH) TTCN_error("Accessing a list element in a non-list template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); return value_list.list_value[list_index]; } void DIAMETER__ts32__229__Resultcode_template::log() const { switch (template_selection) { case SPECIFIC_VALUE: TTCN_Logger::log_event_enum(DIAMETER__ts32__229__Resultcode::enum_to_str(single_value), single_value); break; case COMPLEMENTED_LIST: TTCN_Logger::log_event_str("complement"); case CONJUNCTION_MATCH: if (template_selection == CONJUNCTION_MATCH) { TTCN_Logger::log_event_str("conjunct"); } case VALUE_LIST: TTCN_Logger::log_char('('); for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++) { if (elem_count > 0) TTCN_Logger::log_event_str(", "); value_list.list_value[elem_count].log(); } TTCN_Logger::log_char(')'); break; case IMPLICATION_MATCH: implication_.precondition->log(); TTCN_Logger::log_event_str(" implies "); implication_.implied_template->log(); break; case DYNAMIC_MATCH: TTCN_Logger::log_event_str("@dynamic template"); break; default: log_generic(); } log_ifpresent(); } void DIAMETER__ts32__229__Resultcode_template::log_match(const DIAMETER__ts32__229__Resultcode& match_value, boolean) const { match_value.log(); TTCN_Logger::log_event_str(" with "); log(); if (match(match_value)) TTCN_Logger::log_event_str(" matched"); else TTCN_Logger::log_event_str(" unmatched"); } void DIAMETER__ts32__229__Resultcode_template::encode_text(Text_Buf& text_buf) const { encode_text_base(text_buf); switch (template_selection) { case SPECIFIC_VALUE: text_buf.push_int(single_value); case OMIT_VALUE: case ANY_VALUE: case ANY_OR_OMIT: break; case VALUE_LIST: case COMPLEMENTED_LIST: text_buf.push_int(value_list.n_values); for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++) value_list.list_value[elem_count].encode_text(text_buf); break; default: TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } } void DIAMETER__ts32__229__Resultcode_template::decode_text(Text_Buf& text_buf) { clean_up(); decode_text_base(text_buf); switch (template_selection) { case SPECIFIC_VALUE: single_value = (DIAMETER__ts32__229__Resultcode::enum_type)text_buf.pull_int().get_val(); if (!DIAMETER__ts32__229__Resultcode::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode.", single_value); case OMIT_VALUE: case ANY_VALUE: case ANY_OR_OMIT: break; case VALUE_LIST: case COMPLEMENTED_LIST: value_list.n_values = text_buf.pull_int().get_val(); value_list.list_value = new DIAMETER__ts32__229__Resultcode_template[value_list.n_values]; for (unsigned int elem_count = 0; elem_count < value_list.n_values; elem_count++) value_list.list_value[elem_count].decode_text(text_buf); break; default: TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of enumerated type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } } boolean DIAMETER__ts32__229__Resultcode_template::is_present(boolean legacy) const { if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE; return !match_omit(legacy); } boolean DIAMETER__ts32__229__Resultcode_template::match_omit(boolean legacy) const { if (is_ifpresent) return TRUE; switch (template_selection) { case OMIT_VALUE: case ANY_OR_OMIT: return TRUE; case IMPLICATION_MATCH: return !implication_.precondition->match_omit() || implication_.implied_template->match_omit(); case VALUE_LIST: case COMPLEMENTED_LIST: if (legacy) { for (unsigned int i=0; iget_type()) { case Module_Param::MP_Omit: *this = OMIT_VALUE; break; case Module_Param::MP_Any: *this = ANY_VALUE; break; case Module_Param::MP_AnyOrNone: *this = ANY_OR_OMIT; break; case Module_Param::MP_List_Template: case Module_Param::MP_ComplementList_Template: case Module_Param::MP_ConjunctList_Template: { DIAMETER__ts32__229__Resultcode_template new_temp; new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : (m_p->get_type() == Module_Param::MP_ConjunctList_Template ? CONJUNCTION_MATCH : COMPLEMENTED_LIST), m_p->get_size()); for (size_t p_i=0; p_iget_size(); p_i++) { new_temp.list_item(p_i).set_param(*m_p->get_elem(p_i)); } *this = new_temp; break; } case Module_Param::MP_Enumerated: { DIAMETER__ts32__229__Resultcode::enum_type enum_val = DIAMETER__ts32__229__Resultcode::str_to_enum(m_p->get_enumerated()); if (!DIAMETER__ts32__229__Resultcode::is_valid_enum(enum_val)) { param.error("Invalid enumerated value for type @DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode."); } *this = enum_val; } break; case Module_Param::MP_Implication_Template: { DIAMETER__ts32__229__Resultcode_template* precondition = new DIAMETER__ts32__229__Resultcode_template; precondition->set_param(*m_p->get_elem(0)); DIAMETER__ts32__229__Resultcode_template* implied_template = new DIAMETER__ts32__229__Resultcode_template; implied_template->set_param(*m_p->get_elem(1)); *this = DIAMETER__ts32__229__Resultcode_template(precondition, implied_template); } break; default: param.type_error("enumerated template", "@DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode"); } is_ifpresent = param.get_ifpresent(); } void DIAMETER__ts32__229__Resultcode_template::check_restriction(template_res t_res, const char* t_name, boolean legacy) const { if (template_selection==UNINITIALIZED_TEMPLATE) return; switch ((t_name&&(t_res==TR_VALUE))?TR_OMIT:t_res) { case TR_VALUE: if (!is_ifpresent && template_selection==SPECIFIC_VALUE) return; break; case TR_OMIT: if (!is_ifpresent && (template_selection==OMIT_VALUE || template_selection==SPECIFIC_VALUE)) return; break; case TR_PRESENT: if (!match_omit(legacy)) return; break; default: return; } TTCN_error("Restriction `%s' on template of type %s violated.", get_res_name(t_res), t_name ? t_name : "@DIAMETER_ts32_299_Templates.DIAMETER_ts32_229_Resultcode"); } /* Bodies of functions, altsteps and testcases */ DIAMETER__Types::PDU__DIAMETER_template tr__DIA__Gy__CCR(const DIAMETER__Types::DCC__NONE__CC__Request__Type_template& req__type) { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 39, TTCN_Location::LOCATION_TEMPLATE, "tr_DIA_Gy_CCR"); DIAMETER__Types::PDU__DIAMETER_template ret_val; { DIAMETER__Types::AVP__list_template tmp_0; tmp_0.set_type(SUPERSET_MATCH, 7); tmp_0.set_item(0) = DIAMETER__Templates::tr__AVP__SessionId(DIAMETER__Templates::tr__AVP__SessionId_session__id_defval); tmp_0.set_item(1) = DIAMETER__Templates::tr__AVP__OriginHost(DIAMETER__Templates::tr__AVP__OriginHost_host_defval); tmp_0.set_item(2) = DIAMETER__Templates::tr__AVP__OriginRealm(DIAMETER__Templates::tr__AVP__OriginRealm_realm_defval); tmp_0.set_item(3) = DIAMETER__Templates::tr__AVP__DestinationRealm(DIAMETER__Templates::tr__AVP__DestinationRealm_dest__realm_defval); tmp_0.set_item(4) = DIAMETER__Templates::tr__AVP__AuthAppId(OCTETSTRING_template(os_0)); tmp_0.set_item(5) = DIAMETER__Templates::tr__AVP__CcReqType(req__type); tmp_0.set_item(6) = DIAMETER__Templates::tr__AVP__CcReqNum(OCTETSTRING_template(ANY_VALUE)); ret_val = DIAMETER__Templates::tr__DIAMETER(BITSTRING_template(bs_0), DIAMETER__Types::Command__Code_template(DIAMETER__Types::Command__Code::Credit__Control), DIAMETER__Templates::tr__DIAMETER_app__id_defval, DIAMETER__Templates::tr__DIAMETER_hbh__id_defval, DIAMETER__Templates::tr__DIAMETER_ete__id_defval, tmp_0); } return ret_val; } DIAMETER__Types::PDU__DIAMETER_template ts__DIA__Gy__CCA(const OCTETSTRING_template& hbh__id, const OCTETSTRING_template& ete__id, const OCTETSTRING_template& sess__id, const DIAMETER__Templates::DIAMETER__Resultcode_template& res__code, const DIAMETER__Types::DCC__NONE__CC__Request__Type_template& req__type, const OCTETSTRING_template& req__num) { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 53, TTCN_Location::LOCATION_TEMPLATE, "ts_DIA_Gy_CCA"); DIAMETER__Types::PDU__DIAMETER_template ret_val; { DIAMETER__Types::AVP__list_template tmp_1; tmp_1.set_size(7); tmp_1[0] = DIAMETER__Templates::ts__AVP__SessionId(sess__id); tmp_1[1] = DIAMETER__Templates::ts__AVP__ResultCode(res__code); tmp_1[2] = DIAMETER__Templates::ts__AVP__OriginHost(CHARSTRING_template(cs_0)); tmp_1[3] = DIAMETER__Templates::ts__AVP__OriginRealm(CHARSTRING_template(cs_1)); tmp_1[4] = DIAMETER__Templates::ts__AVP__AuthAppId(OCTETSTRING_template(os_0)); tmp_1[5] = DIAMETER__Templates::ts__AVP__CcReqType(req__type); tmp_1[6] = DIAMETER__Templates::ts__AVP__CcReqNum(req__num); ret_val = DIAMETER__Templates::ts__DIAMETER(BITSTRING_template(bs_1), DIAMETER__Types::Command__Code_template(DIAMETER__Types::Command__Code::Credit__Control), OCTETSTRING_template(os_0), hbh__id, ete__id, tmp_1); } return ret_val; } DIAMETER__Types::PDU__DIAMETER_template ts__DIA__Gy__CCA__ValidityTime(const OCTETSTRING_template& hbh__id, const OCTETSTRING_template& ete__id, const OCTETSTRING_template& sess__id, const DIAMETER__Types::DCC__NONE__CC__Request__Type_template& req__type, const OCTETSTRING_template& req__num, const INTEGER& validity__time) { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 75, TTCN_Location::LOCATION_TEMPLATE, "ts_DIA_Gy_CCA_ValidityTime"); DIAMETER__Types::PDU__DIAMETER_template ret_val; { DIAMETER__Types::AVP__list_template tmp_2; tmp_2.set_size(8); tmp_2[0] = DIAMETER__Templates::ts__AVP__SessionId(sess__id); tmp_2[1] = DIAMETER__Templates::ts__AVP__ResultCode(DIAMETER__Templates::DIAMETER__Resultcode_template(DIAMETER__Templates::DIAMETER__Resultcode::DIAMETER__SUCCESS)); tmp_2[2] = DIAMETER__Templates::ts__AVP__OriginHost(CHARSTRING_template(cs_0)); tmp_2[3] = DIAMETER__Templates::ts__AVP__OriginRealm(CHARSTRING_template(cs_1)); tmp_2[4] = DIAMETER__Templates::ts__AVP__AuthAppId(OCTETSTRING_template(os_0)); tmp_2[5] = DIAMETER__Templates::ts__AVP__CcReqType(req__type); tmp_2[6] = DIAMETER__Templates::ts__AVP__CcReqNum(req__num); { DIAMETER__Types::AVP__list_template tmp_3; tmp_3.set_size(2); tmp_3[0] = DIAMETER__Templates::ts__AVP__Validity__Time(validity__time); { DIAMETER__Types::AVP__list_template tmp_4; tmp_4.set_size(1); tmp_4[0] = DIAMETER__Templates::ts__AVP__CC__Total__Octets(1000); tmp_3[1] = DIAMETER__Templates::ts__AVP__Granted__Service__Unit(tmp_4); } tmp_2[7] = DIAMETER__Templates::ts__AVP__Multiple__Services__Credit__Control(tmp_3); } ret_val = DIAMETER__Templates::ts__DIAMETER(BITSTRING_template(bs_1), DIAMETER__Types::Command__Code_template(DIAMETER__Types::Command__Code::Credit__Control), OCTETSTRING_template(os_0), hbh__id, ete__id, tmp_2); } return ret_val; } DIAMETER__Types::PDU__DIAMETER_template ts__DIA__Gy__CCA__ValidityTimeVolumeThreshold(const OCTETSTRING_template& hbh__id, const OCTETSTRING_template& ete__id, const OCTETSTRING_template& sess__id, const DIAMETER__Types::DCC__NONE__CC__Request__Type_template& req__type, const OCTETSTRING_template& req__num, const INTEGER& validity__time, const INTEGER& volume__quota, const INTEGER& volume__threhsold) { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 105, TTCN_Location::LOCATION_TEMPLATE, "ts_DIA_Gy_CCA_ValidityTimeVolumeThreshold"); DIAMETER__Types::PDU__DIAMETER_template ret_val; { DIAMETER__Types::AVP__list_template tmp_5; tmp_5.set_size(8); tmp_5[0] = DIAMETER__Templates::ts__AVP__SessionId(sess__id); tmp_5[1] = DIAMETER__Templates::ts__AVP__ResultCode(DIAMETER__Templates::DIAMETER__Resultcode_template(DIAMETER__Templates::DIAMETER__Resultcode::DIAMETER__SUCCESS)); tmp_5[2] = DIAMETER__Templates::ts__AVP__OriginHost(CHARSTRING_template(cs_0)); tmp_5[3] = DIAMETER__Templates::ts__AVP__OriginRealm(CHARSTRING_template(cs_1)); tmp_5[4] = DIAMETER__Templates::ts__AVP__AuthAppId(OCTETSTRING_template(os_0)); tmp_5[5] = DIAMETER__Templates::ts__AVP__CcReqType(req__type); tmp_5[6] = DIAMETER__Templates::ts__AVP__CcReqNum(req__num); { DIAMETER__Types::AVP__list_template tmp_6; tmp_6.set_size(3); tmp_6[0] = DIAMETER__Templates::ts__AVP__Validity__Time(validity__time); { DIAMETER__Types::AVP__list_template tmp_7; tmp_7.set_size(1); tmp_7[0] = DIAMETER__Templates::ts__AVP__CC__Total__Octets(volume__quota); tmp_6[1] = DIAMETER__Templates::ts__AVP__Granted__Service__Unit(tmp_7); } tmp_6[2] = DIAMETER__Templates::ts__AVP__3GPP__VolumeQuotaThreshold(volume__threhsold); tmp_5[7] = DIAMETER__Templates::ts__AVP__Multiple__Services__Credit__Control(tmp_6); } ret_val = DIAMETER__Templates::ts__DIAMETER(BITSTRING_template(bs_1), DIAMETER__Types::Command__Code_template(DIAMETER__Types::Command__Code::Credit__Control), OCTETSTRING_template(os_0), hbh__id, ete__id, tmp_5); } return ret_val; } void f__validate__gy__cc__report(const DIAMETER__Types::PDU__DIAMETER& rx__dia, const DIAMETER__Types::DCA__3GPP__Reporting__Reason_template& repreason__exp, const INTEGER_template& cc__time__exp, const INTEGER_template& cc__in__oct__exp, const INTEGER_template& cc__out__oct__exp) { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 137, TTCN_Location::LOCATION_FUNCTION, "f_validate_gy_cc_report"); current_location.update_lineno(142); /* DIAMETER_ts32_299_Templates.ttcn, line 142 */ DIAMETER__Types::AVP multi__services__cc; current_location.update_lineno(142); /* DIAMETER_ts32_299_Templates.ttcn, line 142 */ DIAMETER__Types::AVP used__service__unit; current_location.update_lineno(143); /* DIAMETER_ts32_299_Templates.ttcn, line 143 */ DIAMETER__Types::AVP__list multi__services__cc__data; current_location.update_lineno(143); /* DIAMETER_ts32_299_Templates.ttcn, line 143 */ DIAMETER__Types::AVP__list used__service__unit__data; current_location.update_lineno(144); /* DIAMETER_ts32_299_Templates.ttcn, line 144 */ DIAMETER__Types::AVP_template repreason__tpl; current_location.update_lineno(145); /* DIAMETER_ts32_299_Templates.ttcn, line 145 */ DIAMETER__Types::AVP repreason; current_location.update_lineno(145); /* DIAMETER_ts32_299_Templates.ttcn, line 145 */ DIAMETER__Types::AVP cc__time; current_location.update_lineno(145); /* DIAMETER_ts32_299_Templates.ttcn, line 145 */ DIAMETER__Types::AVP cc__in__oct; current_location.update_lineno(145); /* DIAMETER_ts32_299_Templates.ttcn, line 145 */ DIAMETER__Types::AVP cc__out__oct; current_location.update_lineno(147); /* DIAMETER_ts32_299_Templates.ttcn, line 147 */ multi__services__cc = DIAMETER__Templates::f__DIAMETER__get__avp__or__fail(rx__dia, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCC__NONE__Multiple__Services__Credit__Control)); current_location.update_lineno(148); /* DIAMETER_ts32_299_Templates.ttcn, line 148 */ multi__services__cc__data = const_cast< const DIAMETER__Types::AVP&>(multi__services__cc).avp__data().avp__DCC__NONE__Multiple__Services__Credit__Control(); current_location.update_lineno(150); /* DIAMETER_ts32_299_Templates.ttcn, line 150 */ used__service__unit = DIAMETER__Templates::f__AVP__Grouped__get__avp__or__fail(multi__services__cc__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCC__NONE__Used__Service__Unit)); current_location.update_lineno(151); /* DIAMETER_ts32_299_Templates.ttcn, line 151 */ used__service__unit__data = const_cast< const DIAMETER__Types::AVP&>(used__service__unit).avp__data().avp__DCC__NONE__Used__Service__Unit(); current_location.update_lineno(154); /* DIAMETER_ts32_299_Templates.ttcn, line 154 */ repreason__tpl = DIAMETER__Templates::f__AVP__Grouped__get__avp(multi__services__cc__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCA__3GPP__Reporting__Reason)); current_location.update_lineno(155); /* DIAMETER_ts32_299_Templates.ttcn, line 155 */ if (repreason__tpl.get_istemplate_kind((const char*)cs_2)) { current_location.update_lineno(156); /* DIAMETER_ts32_299_Templates.ttcn, line 156 */ repreason = DIAMETER__Templates::f__AVP__Grouped__get__avp__or__fail(used__service__unit__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCA__3GPP__Reporting__Reason)); } else { current_location.update_lineno(158); /* DIAMETER_ts32_299_Templates.ttcn, line 158 */ repreason = repreason__tpl.valueof(); } current_location.update_lineno(160); /* DIAMETER_ts32_299_Templates.ttcn, line 160 */ if ((!(repreason__exp.match(const_cast< const DIAMETER__Types::AVP&>(repreason).avp__data().avp__DCA__3GPP__Reporting__Reason())))) { current_location.update_lineno(161); /* DIAMETER_ts32_299_Templates.ttcn, line 161 */ Misc__Helpers::f__shutdown(cs_3, 161, FAIL, (TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("3GPP-Reporting-Reason mismatch "),repreason.log(),TTCN_Logger::log_event_str(" vs exp "),repreason__exp.log(),TTCN_Logger::end_event_log2str())); } current_location.update_lineno(165); /* DIAMETER_ts32_299_Templates.ttcn, line 165 */ cc__time = DIAMETER__Templates::f__AVP__Grouped__get__avp__or__fail(used__service__unit__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCC__NONE__CC__Time)); current_location.update_lineno(166); /* DIAMETER_ts32_299_Templates.ttcn, line 166 */ if ((!(cc__time__exp.match(oct2int(const_cast< const DIAMETER__Types::AVP&>(cc__time).avp__data().avp__DCC__NONE__CC__Time()))))) { current_location.update_lineno(167); /* DIAMETER_ts32_299_Templates.ttcn, line 167 */ Misc__Helpers::f__shutdown(cs_3, 167, FAIL, (TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("3GPP-CC-Time mismatch "),cc__time.log(),TTCN_Logger::log_event_str(" vs exp "),cc__time__exp.log(),TTCN_Logger::end_event_log2str())); } current_location.update_lineno(171); /* DIAMETER_ts32_299_Templates.ttcn, line 171 */ cc__in__oct = DIAMETER__Templates::f__AVP__Grouped__get__avp__or__fail(used__service__unit__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCC__NONE__CC__Input__Octets)); current_location.update_lineno(172); /* DIAMETER_ts32_299_Templates.ttcn, line 172 */ if ((!(cc__in__oct__exp.match(oct2int(const_cast< const DIAMETER__Types::AVP&>(cc__in__oct).avp__data().avp__DCC__NONE__CC__Input__Octets()))))) { current_location.update_lineno(173); /* DIAMETER_ts32_299_Templates.ttcn, line 173 */ Misc__Helpers::f__shutdown(cs_3, 173, FAIL, (TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("3GPP-CC-Input-Octets mismatch "),cc__in__oct.log(),TTCN_Logger::log_event_str(" vs exp "),cc__in__oct__exp.log(),TTCN_Logger::end_event_log2str())); } current_location.update_lineno(177); /* DIAMETER_ts32_299_Templates.ttcn, line 177 */ cc__out__oct = DIAMETER__Templates::f__AVP__Grouped__get__avp__or__fail(used__service__unit__data, DIAMETER__Types::AVP__Code_template(DIAMETER__Types::c__AVP__Code__DCC__NONE__CC__Output__Octets)); current_location.update_lineno(178); /* DIAMETER_ts32_299_Templates.ttcn, line 178 */ if ((!(cc__out__oct__exp.match(oct2int(const_cast< const DIAMETER__Types::AVP&>(cc__out__oct).avp__data().avp__DCC__NONE__CC__Output__Octets()))))) { current_location.update_lineno(179); /* DIAMETER_ts32_299_Templates.ttcn, line 179 */ Misc__Helpers::f__shutdown(cs_3, 179, FAIL, (TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("3GPP-CC-Output-Octets mismatch "),cc__out__oct.log(),TTCN_Logger::log_event_str(" vs exp "),cc__out__oct__exp.log(),TTCN_Logger::end_event_log2str())); } } /* Bodies of static functions */ void pre_init_module() { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "DIAMETER_ts32_299_Templates"); DIAMETER__Templates::module_object.pre_init_module(); module_object.add_function("f_validate_gy_cc_report", (genericfunc_t)&f__validate__gy__cc__report, NULL); } void post_init_module() { TTCN_Location current_location("DIAMETER_ts32_299_Templates.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "DIAMETER_ts32_299_Templates"); DIAMETER__Templates::module_object.post_init_module(); current_location.update_lineno(40); /* DIAMETER_ts32_299_Templates.ttcn, line 40 */ template_tr__DIA__Gy__CCR_req__type_defval = DIAMETER__Types::DCC__NONE__CC__Request__Type::INITIAL__REQUEST; current_location.update_lineno(112); /* DIAMETER_ts32_299_Templates.ttcn, line 112 */ const_ts__DIA__Gy__CCA__ValidityTimeVolumeThreshold_volume__threhsold_defval = 0; current_location.update_lineno(137); /* DIAMETER_ts32_299_Templates.ttcn, line 137 */ template_f__validate__gy__cc__report_repreason__exp_defval = ANY_VALUE; current_location.update_lineno(138); /* DIAMETER_ts32_299_Templates.ttcn, line 138 */ template_f__validate__gy__cc__report_cc__time__exp_defval = ANY_VALUE; current_location.update_lineno(139); /* DIAMETER_ts32_299_Templates.ttcn, line 139 */ template_f__validate__gy__cc__report_cc__in__oct__exp_defval = ANY_VALUE; current_location.update_lineno(140); /* DIAMETER_ts32_299_Templates.ttcn, line 140 */ template_f__validate__gy__cc__report_cc__out__oct__exp_defval = ANY_VALUE; } } /* end of namespace */