summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--titan/General_Types.cc14431
-rw-r--r--titan/General_Types.hh2327
-rw-r--r--titan/General_Types.ttcn329
-rw-r--r--titan/MNCC_Types.cc34155
-rw-r--r--titan/MNCC_Types.hh4010
-rw-r--r--titan/MNCC_Types.ttcn1939
-rw-r--r--titan/Makefile13
-rw-r--r--titan/Osmocom_Types.cc2332
-rw-r--r--titan/Osmocom_Types.hh375
-rw-r--r--titan/Osmocom_Types.ttcn156
-rw-r--r--titan/PCUIF_Types.cc32386
-rw-r--r--titan/PCUIF_Types.hh3638
-rw-r--r--titan/PCUIF_Types.ttcn805
14 files changed, 3241 insertions, 93656 deletions
diff --git a/Makefile b/Makefile
index 5888dc8..e2cbbc6 100644
--- a/Makefile
+++ b/Makefile
@@ -25,3 +25,4 @@ titan/titan.a:
clean:
rm -f *.o libudtrace.so
+ $(MAKE) -C titan clean
diff --git a/titan/General_Types.cc b/titan/General_Types.cc
deleted file mode 100644
index 9f29bee..0000000
--- a/titan/General_Types.cc
+++ /dev/null
@@ -1,14431 +0,0 @@
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "General_Types.hh"
-
-namespace General__Types {
-
-/* Prototypes of static functions */
-
-static boolean init_comp_type(const char *component_type, boolean init_base_comps);
-
-/* Literal string constants */
-
-static const unsigned char module_checksum[] = { 0xd5, 0xd7, 0x4d, 0x4b, 0x6c, 0x22, 0x04, 0xdf, 0x4a, 0x64, 0x1d, 0x88, 0x85, 0x39, 0x97, 0x50 };
-
-/* Global variable definitions */
-
-const TTCN_RAWdescriptor_t BIT1n_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT1n_xer_ = { {"BIT1n>\n", "BIT1n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT1n_descr_ = { "@General_Types.BIT1n", &BITSTRING_ber_, &BIT1n_raw_, NULL, &BIT1n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT1n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT2n_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT2n_xer_ = { {"BIT2n>\n", "BIT2n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT2n_descr_ = { "@General_Types.BIT2n", &BITSTRING_ber_, &BIT2n_raw_, NULL, &BIT2n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT2n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT3n_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT3n_xer_ = { {"BIT3n>\n", "BIT3n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT3n_descr_ = { "@General_Types.BIT3n", &BITSTRING_ber_, &BIT3n_raw_, NULL, &BIT3n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT3n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT4n_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT4n_xer_ = { {"BIT4n>\n", "BIT4n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT4n_descr_ = { "@General_Types.BIT4n", &BITSTRING_ber_, &BIT4n_raw_, NULL, &BIT4n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT4n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT5n_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT5n_xer_ = { {"BIT5n>\n", "BIT5n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT5n_descr_ = { "@General_Types.BIT5n", &BITSTRING_ber_, &BIT5n_raw_, NULL, &BIT5n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT5n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT6n_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT6n_xer_ = { {"BIT6n>\n", "BIT6n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT6n_descr_ = { "@General_Types.BIT6n", &BITSTRING_ber_, &BIT6n_raw_, NULL, &BIT6n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT6n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT7n_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT7n_xer_ = { {"BIT7n>\n", "BIT7n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT7n_descr_ = { "@General_Types.BIT7n", &BITSTRING_ber_, &BIT7n_raw_, NULL, &BIT7n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT7n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT8n_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT8n_xer_ = { {"BIT8n>\n", "BIT8n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT8n_descr_ = { "@General_Types.BIT8n", &BITSTRING_ber_, &BIT8n_raw_, NULL, &BIT8n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT8n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT9n_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT9n_xer_ = { {"BIT9n>\n", "BIT9n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT9n_descr_ = { "@General_Types.BIT9n", &BITSTRING_ber_, &BIT9n_raw_, NULL, &BIT9n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT9n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT12n_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT12n_xer_ = { {"BIT12n>\n", "BIT12n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT12n_descr_ = { "@General_Types.BIT12n", &BITSTRING_ber_, &BIT12n_raw_, NULL, &BIT12n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT12n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT14n_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT14n_xer_ = { {"BIT14n>\n", "BIT14n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT14n_descr_ = { "@General_Types.BIT14n", &BITSTRING_ber_, &BIT14n_raw_, NULL, &BIT14n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT14n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT15n_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT15n_xer_ = { {"BIT15n>\n", "BIT15n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT15n_descr_ = { "@General_Types.BIT15n", &BITSTRING_ber_, &BIT15n_raw_, NULL, &BIT15n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT15n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT16n_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT16n_xer_ = { {"BIT16n>\n", "BIT16n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT16n_descr_ = { "@General_Types.BIT16n", &BITSTRING_ber_, &BIT16n_raw_, NULL, &BIT16n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT16n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT56n_raw_ = {56,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT56n_xer_ = { {"BIT56n>\n", "BIT56n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT56n_descr_ = { "@General_Types.BIT56n", &BITSTRING_ber_, &BIT56n_raw_, NULL, &BIT56n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT56n_default_coding("RAW");
-const XERdescriptor_t BIT14__24n_xer_ = { {"BIT14_24n>\n", "BIT14_24n>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT14__24n_descr_ = { "@General_Types.BIT14_24n", &BITSTRING_ber_, &BITSTRING_raw_, NULL, &BIT14__24n_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT14__24n_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT1np_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT1np_xer_ = { {"BIT1np>\n", "BIT1np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT1np_descr_ = { "@General_Types.BIT1np", &BITSTRING_ber_, &BIT1np_raw_, NULL, &BIT1np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT1np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT2np_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT2np_xer_ = { {"BIT2np>\n", "BIT2np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT2np_descr_ = { "@General_Types.BIT2np", &BITSTRING_ber_, &BIT2np_raw_, NULL, &BIT2np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT2np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT3np_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT3np_xer_ = { {"BIT3np>\n", "BIT3np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT3np_descr_ = { "@General_Types.BIT3np", &BITSTRING_ber_, &BIT3np_raw_, NULL, &BIT3np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT3np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT4np_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT4np_xer_ = { {"BIT4np>\n", "BIT4np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT4np_descr_ = { "@General_Types.BIT4np", &BITSTRING_ber_, &BIT4np_raw_, NULL, &BIT4np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT4np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT5np_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT5np_xer_ = { {"BIT5np>\n", "BIT5np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT5np_descr_ = { "@General_Types.BIT5np", &BITSTRING_ber_, &BIT5np_raw_, NULL, &BIT5np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT5np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT6np_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT6np_xer_ = { {"BIT6np>\n", "BIT6np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT6np_descr_ = { "@General_Types.BIT6np", &BITSTRING_ber_, &BIT6np_raw_, NULL, &BIT6np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT6np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT7np_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT7np_xer_ = { {"BIT7np>\n", "BIT7np>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT7np_descr_ = { "@General_Types.BIT7np", &BITSTRING_ber_, &BIT7np_raw_, NULL, &BIT7np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT7np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT15np_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT15np_xer_ = { {"BIT15np>\n", "BIT15np>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT15np_descr_ = { "@General_Types.BIT15np", &BITSTRING_ber_, &BIT15np_raw_, NULL, &BIT15np_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT15np_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT1_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT1_xer_ = { {"BIT1>\n", "BIT1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT1_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT1_descr_ = { "@General_Types.BIT1", &BITSTRING_ber_, &BIT1_raw_, NULL, &BIT1_xer_, &BITSTRING_json_, &BIT1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT1_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT2_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT2_xer_ = { {"BIT2>\n", "BIT2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT2_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT2_descr_ = { "@General_Types.BIT2", &BITSTRING_ber_, &BIT2_raw_, NULL, &BIT2_xer_, &BITSTRING_json_, &BIT2_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT2_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT3_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT3_xer_ = { {"BIT3>\n", "BIT3>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT3_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT3_descr_ = { "@General_Types.BIT3", &BITSTRING_ber_, &BIT3_raw_, NULL, &BIT3_xer_, &BITSTRING_json_, &BIT3_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT3_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT4_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT4_xer_ = { {"BIT4>\n", "BIT4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT4_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT4_descr_ = { "@General_Types.BIT4", &BITSTRING_ber_, &BIT4_raw_, NULL, &BIT4_xer_, &BITSTRING_json_, &BIT4_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT4_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT5_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,5,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT5_xer_ = { {"BIT5>\n", "BIT5>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT5_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT5_descr_ = { "@General_Types.BIT5", &BITSTRING_ber_, &BIT5_raw_, NULL, &BIT5_xer_, &BITSTRING_json_, &BIT5_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT5_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT6_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,6,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT6_xer_ = { {"BIT6>\n", "BIT6>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT6_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT6_descr_ = { "@General_Types.BIT6", &BITSTRING_ber_, &BIT6_raw_, NULL, &BIT6_xer_, &BITSTRING_json_, &BIT6_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT6_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT7_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,7,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT7_xer_ = { {"BIT7>\n", "BIT7>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT7_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT7_descr_ = { "@General_Types.BIT7", &BITSTRING_ber_, &BIT7_raw_, NULL, &BIT7_xer_, &BITSTRING_json_, &BIT7_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT7_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT8_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT8_xer_ = { {"BIT8>\n", "BIT8>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT8_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT8_descr_ = { "@General_Types.BIT8", &BITSTRING_ber_, &BIT8_raw_, NULL, &BIT8_xer_, &BITSTRING_json_, &BIT8_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT8_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT9_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,9,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT9_xer_ = { {"BIT9>\n", "BIT9>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT9_descr_ = { "@General_Types.BIT9", &BITSTRING_ber_, &BIT9_raw_, NULL, &BIT9_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT9_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT10_raw_ = {10,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,10,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT10_xer_ = { {"BIT10>\n", "BIT10>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t BIT10_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t BIT10_descr_ = { "@General_Types.BIT10", &BITSTRING_ber_, &BIT10_raw_, NULL, &BIT10_xer_, &BITSTRING_json_, &BIT10_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT10_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT11_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,11,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT11_xer_ = { {"BIT11>\n", "BIT11>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT11_descr_ = { "@General_Types.BIT11", &BITSTRING_ber_, &BIT11_raw_, NULL, &BIT11_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT11_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT12_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,12,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT12_xer_ = { {"BIT12>\n", "BIT12>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT12_descr_ = { "@General_Types.BIT12", &BITSTRING_ber_, &BIT12_raw_, NULL, &BIT12_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT12_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT13_raw_ = {13,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,13,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT13_xer_ = { {"BIT13>\n", "BIT13>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT13_descr_ = { "@General_Types.BIT13", &BITSTRING_ber_, &BIT13_raw_, NULL, &BIT13_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT13_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT14_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,14,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT14_xer_ = { {"BIT14>\n", "BIT14>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT14_descr_ = { "@General_Types.BIT14", &BITSTRING_ber_, &BIT14_raw_, NULL, &BIT14_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT14_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT15_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,15,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT15_xer_ = { {"BIT15>\n", "BIT15>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT15_descr_ = { "@General_Types.BIT15", &BITSTRING_ber_, &BIT15_raw_, NULL, &BIT15_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT15_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT16_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,16,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT16_xer_ = { {"BIT16>\n", "BIT16>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT16_descr_ = { "@General_Types.BIT16", &BITSTRING_ber_, &BIT16_raw_, NULL, &BIT16_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT16_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT24_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,24,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT24_xer_ = { {"BIT24>\n", "BIT24>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT24_descr_ = { "@General_Types.BIT24", &BITSTRING_ber_, &BIT24_raw_, NULL, &BIT24_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT24_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT28_raw_ = {28,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,28,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT28_xer_ = { {"BIT28>\n", "BIT28>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT28_descr_ = { "@General_Types.BIT28", &BITSTRING_ber_, &BIT28_raw_, NULL, &BIT28_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT28_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT29_raw_ = {29,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,29,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT29_xer_ = { {"BIT29>\n", "BIT29>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT29_descr_ = { "@General_Types.BIT29", &BITSTRING_ber_, &BIT29_raw_, NULL, &BIT29_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT29_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT30_raw_ = {30,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,30,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT30_xer_ = { {"BIT30>\n", "BIT30>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT30_descr_ = { "@General_Types.BIT30", &BITSTRING_ber_, &BIT30_raw_, NULL, &BIT30_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT30_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT31_raw_ = {31,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,31,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT31_xer_ = { {"BIT31>\n", "BIT31>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT31_descr_ = { "@General_Types.BIT31", &BITSTRING_ber_, &BIT31_raw_, NULL, &BIT31_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT31_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT32_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,32,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT32_xer_ = { {"BIT32>\n", "BIT32>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT32_descr_ = { "@General_Types.BIT32", &BITSTRING_ber_, &BIT32_raw_, NULL, &BIT32_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT32_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT56_raw_ = {56,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,56,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT56_xer_ = { {"BIT56>\n", "BIT56>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT56_descr_ = { "@General_Types.BIT56", &BITSTRING_ber_, &BIT56_raw_, NULL, &BIT56_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT56_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT0n_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT0n_xer_ = { {"OCT0n>\n", "OCT0n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT0n_oer_ext_arr_[0] = {};
-const int OCT0n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT0n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT0n_oer_ext_arr_, 0, OCT0n_oer_p_};
-const TTCN_Typedescriptor_t OCT0n_descr_ = { "@General_Types.OCT0n", &OCTETSTRING_ber_, &OCT0n_raw_, &OCTETSTRING_text_, &OCT0n_xer_, &OCTETSTRING_json_, &OCT0n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT0n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT1n_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT1n_xer_ = { {"OCT1n>\n", "OCT1n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1n_oer_ext_arr_[0] = {};
-const int OCT1n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1n_oer_ext_arr_, 0, OCT1n_oer_p_};
-const TTCN_Typedescriptor_t OCT1n_descr_ = { "@General_Types.OCT1n", &OCTETSTRING_ber_, &OCT1n_raw_, &OCTETSTRING_text_, &OCT1n_xer_, &OCTETSTRING_json_, &OCT1n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT2n_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT2n_xer_ = { {"OCT2n>\n", "OCT2n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT2n_oer_ext_arr_[0] = {};
-const int OCT2n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT2n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT2n_oer_ext_arr_, 0, OCT2n_oer_p_};
-const TTCN_Typedescriptor_t OCT2n_descr_ = { "@General_Types.OCT2n", &OCTETSTRING_ber_, &OCT2n_raw_, &OCTETSTRING_text_, &OCT2n_xer_, &OCTETSTRING_json_, &OCT2n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT2n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT3n_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT3n_xer_ = { {"OCT3n>\n", "OCT3n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3n_oer_ext_arr_[0] = {};
-const int OCT3n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3n_oer_ext_arr_, 0, OCT3n_oer_p_};
-const TTCN_Typedescriptor_t OCT3n_descr_ = { "@General_Types.OCT3n", &OCTETSTRING_ber_, &OCT3n_raw_, &OCTETSTRING_text_, &OCT3n_xer_, &OCTETSTRING_json_, &OCT3n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT4n_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT4n_xer_ = { {"OCT4n>\n", "OCT4n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT4n_oer_ext_arr_[0] = {};
-const int OCT4n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT4n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT4n_oer_ext_arr_, 0, OCT4n_oer_p_};
-const TTCN_Typedescriptor_t OCT4n_descr_ = { "@General_Types.OCT4n", &OCTETSTRING_ber_, &OCT4n_raw_, &OCTETSTRING_text_, &OCT4n_xer_, &OCTETSTRING_json_, &OCT4n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT4n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT5n_raw_ = {40,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT5n_xer_ = { {"OCT5n>\n", "OCT5n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT5n_oer_ext_arr_[0] = {};
-const int OCT5n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT5n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT5n_oer_ext_arr_, 0, OCT5n_oer_p_};
-const TTCN_Typedescriptor_t OCT5n_descr_ = { "@General_Types.OCT5n", &OCTETSTRING_ber_, &OCT5n_raw_, &OCTETSTRING_text_, &OCT5n_xer_, &OCTETSTRING_json_, &OCT5n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT5n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT6n_raw_ = {48,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT6n_xer_ = { {"OCT6n>\n", "OCT6n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT6n_oer_ext_arr_[0] = {};
-const int OCT6n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT6n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT6n_oer_ext_arr_, 0, OCT6n_oer_p_};
-const TTCN_Typedescriptor_t OCT6n_descr_ = { "@General_Types.OCT6n", &OCTETSTRING_ber_, &OCT6n_raw_, &OCTETSTRING_text_, &OCT6n_xer_, &OCTETSTRING_json_, &OCT6n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT6n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT7n_raw_ = {56,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT7n_xer_ = { {"OCT7n>\n", "OCT7n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT7n_oer_ext_arr_[0] = {};
-const int OCT7n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT7n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT7n_oer_ext_arr_, 0, OCT7n_oer_p_};
-const TTCN_Typedescriptor_t OCT7n_descr_ = { "@General_Types.OCT7n", &OCTETSTRING_ber_, &OCT7n_raw_, &OCTETSTRING_text_, &OCT7n_xer_, &OCTETSTRING_json_, &OCT7n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT7n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT8n_raw_ = {64,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT8n_xer_ = { {"OCT8n>\n", "OCT8n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT8n_oer_ext_arr_[0] = {};
-const int OCT8n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT8n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT8n_oer_ext_arr_, 0, OCT8n_oer_p_};
-const TTCN_Typedescriptor_t OCT8n_descr_ = { "@General_Types.OCT8n", &OCTETSTRING_ber_, &OCT8n_raw_, &OCTETSTRING_text_, &OCT8n_xer_, &OCTETSTRING_json_, &OCT8n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT8n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT9n_raw_ = {72,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT9n_xer_ = { {"OCT9n>\n", "OCT9n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT9n_oer_ext_arr_[0] = {};
-const int OCT9n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT9n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT9n_oer_ext_arr_, 0, OCT9n_oer_p_};
-const TTCN_Typedescriptor_t OCT9n_descr_ = { "@General_Types.OCT9n", &OCTETSTRING_ber_, &OCT9n_raw_, &OCTETSTRING_text_, &OCT9n_xer_, &OCTETSTRING_json_, &OCT9n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT9n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT10n_raw_ = {80,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT10n_xer_ = { {"OCT10n>\n", "OCT10n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT10n_oer_ext_arr_[0] = {};
-const int OCT10n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT10n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT10n_oer_ext_arr_, 0, OCT10n_oer_p_};
-const TTCN_Typedescriptor_t OCT10n_descr_ = { "@General_Types.OCT10n", &OCTETSTRING_ber_, &OCT10n_raw_, &OCTETSTRING_text_, &OCT10n_xer_, &OCTETSTRING_json_, &OCT10n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT10n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT11n_raw_ = {88,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT11n_xer_ = { {"OCT11n>\n", "OCT11n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT11n_oer_ext_arr_[0] = {};
-const int OCT11n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT11n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT11n_oer_ext_arr_, 0, OCT11n_oer_p_};
-const TTCN_Typedescriptor_t OCT11n_descr_ = { "@General_Types.OCT11n", &OCTETSTRING_ber_, &OCT11n_raw_, &OCTETSTRING_text_, &OCT11n_xer_, &OCTETSTRING_json_, &OCT11n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT11n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT12n_raw_ = {96,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT12n_xer_ = { {"OCT12n>\n", "OCT12n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT12n_oer_ext_arr_[0] = {};
-const int OCT12n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT12n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT12n_oer_ext_arr_, 0, OCT12n_oer_p_};
-const TTCN_Typedescriptor_t OCT12n_descr_ = { "@General_Types.OCT12n", &OCTETSTRING_ber_, &OCT12n_raw_, &OCTETSTRING_text_, &OCT12n_xer_, &OCTETSTRING_json_, &OCT12n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT12n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT13n_raw_ = {104,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT13n_xer_ = { {"OCT13n>\n", "OCT13n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT13n_oer_ext_arr_[0] = {};
-const int OCT13n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT13n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT13n_oer_ext_arr_, 0, OCT13n_oer_p_};
-const TTCN_Typedescriptor_t OCT13n_descr_ = { "@General_Types.OCT13n", &OCTETSTRING_ber_, &OCT13n_raw_, &OCTETSTRING_text_, &OCT13n_xer_, &OCTETSTRING_json_, &OCT13n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT13n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT14n_raw_ = {112,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT14n_xer_ = { {"OCT14n>\n", "OCT14n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT14n_oer_ext_arr_[0] = {};
-const int OCT14n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT14n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT14n_oer_ext_arr_, 0, OCT14n_oer_p_};
-const TTCN_Typedescriptor_t OCT14n_descr_ = { "@General_Types.OCT14n", &OCTETSTRING_ber_, &OCT14n_raw_, &OCTETSTRING_text_, &OCT14n_xer_, &OCTETSTRING_json_, &OCT14n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT14n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT15n_raw_ = {120,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT15n_xer_ = { {"OCT15n>\n", "OCT15n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT15n_oer_ext_arr_[0] = {};
-const int OCT15n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT15n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT15n_oer_ext_arr_, 0, OCT15n_oer_p_};
-const TTCN_Typedescriptor_t OCT15n_descr_ = { "@General_Types.OCT15n", &OCTETSTRING_ber_, &OCT15n_raw_, &OCTETSTRING_text_, &OCT15n_xer_, &OCTETSTRING_json_, &OCT15n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT15n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT16n_raw_ = {128,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT16n_xer_ = { {"OCT16n>\n", "OCT16n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT16n_oer_ext_arr_[0] = {};
-const int OCT16n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT16n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT16n_oer_ext_arr_, 0, OCT16n_oer_p_};
-const TTCN_Typedescriptor_t OCT16n_descr_ = { "@General_Types.OCT16n", &OCTETSTRING_ber_, &OCT16n_raw_, &OCTETSTRING_text_, &OCT16n_xer_, &OCTETSTRING_json_, &OCT16n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT16n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT17n_raw_ = {136,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT17n_xer_ = { {"OCT17n>\n", "OCT17n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT17n_oer_ext_arr_[0] = {};
-const int OCT17n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT17n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT17n_oer_ext_arr_, 0, OCT17n_oer_p_};
-const TTCN_Typedescriptor_t OCT17n_descr_ = { "@General_Types.OCT17n", &OCTETSTRING_ber_, &OCT17n_raw_, &OCTETSTRING_text_, &OCT17n_xer_, &OCTETSTRING_json_, &OCT17n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT17n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT18n_raw_ = {144,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT18n_xer_ = { {"OCT18n>\n", "OCT18n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT18n_oer_ext_arr_[0] = {};
-const int OCT18n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT18n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT18n_oer_ext_arr_, 0, OCT18n_oer_p_};
-const TTCN_Typedescriptor_t OCT18n_descr_ = { "@General_Types.OCT18n", &OCTETSTRING_ber_, &OCT18n_raw_, &OCTETSTRING_text_, &OCT18n_xer_, &OCTETSTRING_json_, &OCT18n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT18n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT19n_raw_ = {152,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT19n_xer_ = { {"OCT19n>\n", "OCT19n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT19n_oer_ext_arr_[0] = {};
-const int OCT19n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT19n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT19n_oer_ext_arr_, 0, OCT19n_oer_p_};
-const TTCN_Typedescriptor_t OCT19n_descr_ = { "@General_Types.OCT19n", &OCTETSTRING_ber_, &OCT19n_raw_, &OCTETSTRING_text_, &OCT19n_xer_, &OCTETSTRING_json_, &OCT19n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT19n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT20n_raw_ = {160,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT20n_xer_ = { {"OCT20n>\n", "OCT20n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT20n_oer_ext_arr_[0] = {};
-const int OCT20n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT20n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT20n_oer_ext_arr_, 0, OCT20n_oer_p_};
-const TTCN_Typedescriptor_t OCT20n_descr_ = { "@General_Types.OCT20n", &OCTETSTRING_ber_, &OCT20n_raw_, &OCTETSTRING_text_, &OCT20n_xer_, &OCTETSTRING_json_, &OCT20n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT20n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT28n_raw_ = {224,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT28n_xer_ = { {"OCT28n>\n", "OCT28n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT28n_oer_ext_arr_[0] = {};
-const int OCT28n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT28n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT28n_oer_ext_arr_, 0, OCT28n_oer_p_};
-const TTCN_Typedescriptor_t OCT28n_descr_ = { "@General_Types.OCT28n", &OCTETSTRING_ber_, &OCT28n_raw_, &OCTETSTRING_text_, &OCT28n_xer_, &OCTETSTRING_json_, &OCT28n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT28n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT32n_raw_ = {256,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT32n_xer_ = { {"OCT32n>\n", "OCT32n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT32n_oer_ext_arr_[0] = {};
-const int OCT32n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT32n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT32n_oer_ext_arr_, 0, OCT32n_oer_p_};
-const TTCN_Typedescriptor_t OCT32n_descr_ = { "@General_Types.OCT32n", &OCTETSTRING_ber_, &OCT32n_raw_, &OCTETSTRING_text_, &OCT32n_xer_, &OCTETSTRING_json_, &OCT32n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT32n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT34n_raw_ = {272,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT34n_xer_ = { {"OCT34n>\n", "OCT34n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT34n_oer_ext_arr_[0] = {};
-const int OCT34n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT34n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT34n_oer_ext_arr_, 0, OCT34n_oer_p_};
-const TTCN_Typedescriptor_t OCT34n_descr_ = { "@General_Types.OCT34n", &OCTETSTRING_ber_, &OCT34n_raw_, &OCTETSTRING_text_, &OCT34n_xer_, &OCTETSTRING_json_, &OCT34n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT34n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT46n_raw_ = {368,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT46n_xer_ = { {"OCT46n>\n", "OCT46n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT46n_oer_ext_arr_[0] = {};
-const int OCT46n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT46n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT46n_oer_ext_arr_, 0, OCT46n_oer_p_};
-const TTCN_Typedescriptor_t OCT46n_descr_ = { "@General_Types.OCT46n", &OCTETSTRING_ber_, &OCT46n_raw_, &OCTETSTRING_text_, &OCT46n_xer_, &OCTETSTRING_json_, &OCT46n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT46n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT50n_raw_ = {400,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT50n_xer_ = { {"OCT50n>\n", "OCT50n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT50n_oer_ext_arr_[0] = {};
-const int OCT50n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT50n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT50n_oer_ext_arr_, 0, OCT50n_oer_p_};
-const TTCN_Typedescriptor_t OCT50n_descr_ = { "@General_Types.OCT50n", &OCTETSTRING_ber_, &OCT50n_raw_, &OCTETSTRING_text_, &OCT50n_xer_, &OCTETSTRING_json_, &OCT50n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT50n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT69n_raw_ = {552,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT69n_xer_ = { {"OCT69n>\n", "OCT69n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT69n_oer_ext_arr_[0] = {};
-const int OCT69n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT69n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT69n_oer_ext_arr_, 0, OCT69n_oer_p_};
-const TTCN_Typedescriptor_t OCT69n_descr_ = { "@General_Types.OCT69n", &OCTETSTRING_ber_, &OCT69n_raw_, &OCTETSTRING_text_, &OCT69n_xer_, &OCTETSTRING_json_, &OCT69n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT69n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT100n_raw_ = {800,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT100n_xer_ = { {"OCT100n>\n", "OCT100n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT100n_oer_ext_arr_[0] = {};
-const int OCT100n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT100n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT100n_oer_ext_arr_, 0, OCT100n_oer_p_};
-const TTCN_Typedescriptor_t OCT100n_descr_ = { "@General_Types.OCT100n", &OCTETSTRING_ber_, &OCT100n_raw_, &OCTETSTRING_text_, &OCT100n_xer_, &OCTETSTRING_json_, &OCT100n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT100n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT128n_raw_ = {1024,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT128n_xer_ = { {"OCT128n>\n", "OCT128n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT128n_oer_ext_arr_[0] = {};
-const int OCT128n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT128n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT128n_oer_ext_arr_, 0, OCT128n_oer_p_};
-const TTCN_Typedescriptor_t OCT128n_descr_ = { "@General_Types.OCT128n", &OCTETSTRING_ber_, &OCT128n_raw_, &OCTETSTRING_text_, &OCT128n_xer_, &OCTETSTRING_json_, &OCT128n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT128n_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT500n_raw_ = {4000,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT500n_xer_ = { {"OCT500n>\n", "OCT500n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT500n_oer_ext_arr_[0] = {};
-const int OCT500n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT500n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT500n_oer_ext_arr_, 0, OCT500n_oer_p_};
-const TTCN_Typedescriptor_t OCT500n_descr_ = { "@General_Types.OCT500n", &OCTETSTRING_ber_, &OCT500n_raw_, &OCTETSTRING_text_, &OCT500n_xer_, &OCTETSTRING_json_, &OCT500n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT500n_default_coding("RAW");
-const XERdescriptor_t OCTNn_xer_ = { {"OCTNn>\n", "OCTNn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCTNn_oer_ext_arr_[0] = {};
-const int OCTNn_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCTNn_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCTNn_oer_ext_arr_, 0, OCTNn_oer_p_};
-const TTCN_Typedescriptor_t OCTNn_descr_ = { "@General_Types.OCTNn", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCTNn_xer_, &OCTETSTRING_json_, &OCTNn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCTNn_default_coding("RAW");
-const XERdescriptor_t OCT1__3n_xer_ = { {"OCT1_3n>\n", "OCT1_3n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__3n_oer_ext_arr_[0] = {};
-const int OCT1__3n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__3n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__3n_oer_ext_arr_, 0, OCT1__3n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__3n_descr_ = { "@General_Types.OCT1_3n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__3n_xer_, &OCTETSTRING_json_, &OCT1__3n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__3n_default_coding("RAW");
-const XERdescriptor_t OCT1__4n_xer_ = { {"OCT1_4n>\n", "OCT1_4n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__4n_oer_ext_arr_[0] = {};
-const int OCT1__4n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__4n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__4n_oer_ext_arr_, 0, OCT1__4n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__4n_descr_ = { "@General_Types.OCT1_4n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__4n_xer_, &OCTETSTRING_json_, &OCT1__4n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__4n_default_coding("RAW");
-const XERdescriptor_t OCT1__5n_xer_ = { {"OCT1_5n>\n", "OCT1_5n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__5n_oer_ext_arr_[0] = {};
-const int OCT1__5n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__5n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__5n_oer_ext_arr_, 0, OCT1__5n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__5n_descr_ = { "@General_Types.OCT1_5n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__5n_xer_, &OCTETSTRING_json_, &OCT1__5n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__5n_default_coding("RAW");
-const XERdescriptor_t OCT1__6n_xer_ = { {"OCT1_6n>\n", "OCT1_6n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__6n_oer_ext_arr_[0] = {};
-const int OCT1__6n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__6n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__6n_oer_ext_arr_, 0, OCT1__6n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__6n_descr_ = { "@General_Types.OCT1_6n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__6n_xer_, &OCTETSTRING_json_, &OCT1__6n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__6n_default_coding("RAW");
-const XERdescriptor_t OCT1__7n_xer_ = { {"OCT1_7n>\n", "OCT1_7n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__7n_oer_ext_arr_[0] = {};
-const int OCT1__7n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__7n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__7n_oer_ext_arr_, 0, OCT1__7n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__7n_descr_ = { "@General_Types.OCT1_7n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__7n_xer_, &OCTETSTRING_json_, &OCT1__7n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__7n_default_coding("RAW");
-const XERdescriptor_t OCT1__8n_xer_ = { {"OCT1_8n>\n", "OCT1_8n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__8n_oer_ext_arr_[0] = {};
-const int OCT1__8n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__8n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__8n_oer_ext_arr_, 0, OCT1__8n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__8n_descr_ = { "@General_Types.OCT1_8n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__8n_xer_, &OCTETSTRING_json_, &OCT1__8n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__8n_default_coding("RAW");
-const XERdescriptor_t OCT1__12n_xer_ = { {"OCT1_12n>\n", "OCT1_12n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__12n_oer_ext_arr_[0] = {};
-const int OCT1__12n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__12n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__12n_oer_ext_arr_, 0, OCT1__12n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__12n_descr_ = { "@General_Types.OCT1_12n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__12n_xer_, &OCTETSTRING_json_, &OCT1__12n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__12n_default_coding("RAW");
-const XERdescriptor_t OCT1__15n_xer_ = { {"OCT1_15n>\n", "OCT1_15n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__15n_oer_ext_arr_[0] = {};
-const int OCT1__15n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__15n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__15n_oer_ext_arr_, 0, OCT1__15n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__15n_descr_ = { "@General_Types.OCT1_15n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__15n_xer_, &OCTETSTRING_json_, &OCT1__15n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__15n_default_coding("RAW");
-const XERdescriptor_t OCT1__16n_xer_ = { {"OCT1_16n>\n", "OCT1_16n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__16n_oer_ext_arr_[0] = {};
-const int OCT1__16n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__16n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__16n_oer_ext_arr_, 0, OCT1__16n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__16n_descr_ = { "@General_Types.OCT1_16n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__16n_xer_, &OCTETSTRING_json_, &OCT1__16n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__16n_default_coding("RAW");
-const XERdescriptor_t OCT1__18n_xer_ = { {"OCT1_18n>\n", "OCT1_18n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__18n_oer_ext_arr_[0] = {};
-const int OCT1__18n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__18n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__18n_oer_ext_arr_, 0, OCT1__18n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__18n_descr_ = { "@General_Types.OCT1_18n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__18n_xer_, &OCTETSTRING_json_, &OCT1__18n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__18n_default_coding("RAW");
-const XERdescriptor_t OCT1__20n_xer_ = { {"OCT1_20n>\n", "OCT1_20n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__20n_oer_ext_arr_[0] = {};
-const int OCT1__20n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__20n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__20n_oer_ext_arr_, 0, OCT1__20n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__20n_descr_ = { "@General_Types.OCT1_20n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__20n_xer_, &OCTETSTRING_json_, &OCT1__20n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__20n_default_coding("RAW");
-const XERdescriptor_t OCT1__24n_xer_ = { {"OCT1_24n>\n", "OCT1_24n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__24n_oer_ext_arr_[0] = {};
-const int OCT1__24n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__24n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__24n_oer_ext_arr_, 0, OCT1__24n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__24n_descr_ = { "@General_Types.OCT1_24n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__24n_xer_, &OCTETSTRING_json_, &OCT1__24n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__24n_default_coding("RAW");
-const XERdescriptor_t OCT1__32n_xer_ = { {"OCT1_32n>\n", "OCT1_32n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__32n_oer_ext_arr_[0] = {};
-const int OCT1__32n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__32n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__32n_oer_ext_arr_, 0, OCT1__32n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__32n_descr_ = { "@General_Types.OCT1_32n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__32n_xer_, &OCTETSTRING_json_, &OCT1__32n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__32n_default_coding("RAW");
-const XERdescriptor_t OCT1__34n_xer_ = { {"OCT1_34n>\n", "OCT1_34n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__34n_oer_ext_arr_[0] = {};
-const int OCT1__34n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__34n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__34n_oer_ext_arr_, 0, OCT1__34n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__34n_descr_ = { "@General_Types.OCT1_34n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__34n_xer_, &OCTETSTRING_json_, &OCT1__34n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__34n_default_coding("RAW");
-const XERdescriptor_t OCT1__46n_xer_ = { {"OCT1_46n>\n", "OCT1_46n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__46n_oer_ext_arr_[0] = {};
-const int OCT1__46n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__46n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__46n_oer_ext_arr_, 0, OCT1__46n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__46n_descr_ = { "@General_Types.OCT1_46n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__46n_xer_, &OCTETSTRING_json_, &OCT1__46n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__46n_default_coding("RAW");
-const XERdescriptor_t OCT1__50n_xer_ = { {"OCT1_50n>\n", "OCT1_50n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__50n_oer_ext_arr_[0] = {};
-const int OCT1__50n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__50n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__50n_oer_ext_arr_, 0, OCT1__50n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__50n_descr_ = { "@General_Types.OCT1_50n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__50n_xer_, &OCTETSTRING_json_, &OCT1__50n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__50n_default_coding("RAW");
-const XERdescriptor_t OCT1__112n_xer_ = { {"OCT1_112n>\n", "OCT1_112n>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__112n_oer_ext_arr_[0] = {};
-const int OCT1__112n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__112n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__112n_oer_ext_arr_, 0, OCT1__112n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__112n_descr_ = { "@General_Types.OCT1_112n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__112n_xer_, &OCTETSTRING_json_, &OCT1__112n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__112n_default_coding("RAW");
-const XERdescriptor_t OCT1__127n_xer_ = { {"OCT1_127n>\n", "OCT1_127n>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__127n_oer_ext_arr_[0] = {};
-const int OCT1__127n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__127n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__127n_oer_ext_arr_, 0, OCT1__127n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__127n_descr_ = { "@General_Types.OCT1_127n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__127n_xer_, &OCTETSTRING_json_, &OCT1__127n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__127n_default_coding("RAW");
-const XERdescriptor_t OCT1__128n_xer_ = { {"OCT1_128n>\n", "OCT1_128n>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__128n_oer_ext_arr_[0] = {};
-const int OCT1__128n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__128n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__128n_oer_ext_arr_, 0, OCT1__128n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__128n_descr_ = { "@General_Types.OCT1_128n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__128n_xer_, &OCTETSTRING_json_, &OCT1__128n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__128n_default_coding("RAW");
-const XERdescriptor_t OCT1__172n_xer_ = { {"OCT1_172n>\n", "OCT1_172n>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__172n_oer_ext_arr_[0] = {};
-const int OCT1__172n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__172n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__172n_oer_ext_arr_, 0, OCT1__172n_oer_p_};
-const TTCN_Typedescriptor_t OCT1__172n_descr_ = { "@General_Types.OCT1_172n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__172n_xer_, &OCTETSTRING_json_, &OCT1__172n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__172n_default_coding("RAW");
-const XERdescriptor_t OCT3__5n_xer_ = { {"OCT3_5n>\n", "OCT3_5n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__5n_oer_ext_arr_[0] = {};
-const int OCT3__5n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__5n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__5n_oer_ext_arr_, 0, OCT3__5n_oer_p_};
-const TTCN_Typedescriptor_t OCT3__5n_descr_ = { "@General_Types.OCT3_5n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__5n_xer_, &OCTETSTRING_json_, &OCT3__5n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__5n_default_coding("RAW");
-const XERdescriptor_t OCT3__7n_xer_ = { {"OCT3_7n>\n", "OCT3_7n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__7n_oer_ext_arr_[0] = {};
-const int OCT3__7n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__7n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__7n_oer_ext_arr_, 0, OCT3__7n_oer_p_};
-const TTCN_Typedescriptor_t OCT3__7n_descr_ = { "@General_Types.OCT3_7n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__7n_xer_, &OCTETSTRING_json_, &OCT3__7n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__7n_default_coding("RAW");
-const XERdescriptor_t OCT3__8n_xer_ = { {"OCT3_8n>\n", "OCT3_8n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__8n_oer_ext_arr_[0] = {};
-const int OCT3__8n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__8n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__8n_oer_ext_arr_, 0, OCT3__8n_oer_p_};
-const TTCN_Typedescriptor_t OCT3__8n_descr_ = { "@General_Types.OCT3_8n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__8n_xer_, &OCTETSTRING_json_, &OCT3__8n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__8n_default_coding("RAW");
-const XERdescriptor_t OCT3__14n_xer_ = { {"OCT3_14n>\n", "OCT3_14n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__14n_oer_ext_arr_[0] = {};
-const int OCT3__14n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__14n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__14n_oer_ext_arr_, 0, OCT3__14n_oer_p_};
-const TTCN_Typedescriptor_t OCT3__14n_descr_ = { "@General_Types.OCT3_14n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__14n_xer_, &OCTETSTRING_json_, &OCT3__14n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__14n_default_coding("RAW");
-const XERdescriptor_t OCT3__17n_xer_ = { {"OCT3_17n>\n", "OCT3_17n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__17n_oer_ext_arr_[0] = {};
-const int OCT3__17n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__17n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__17n_oer_ext_arr_, 0, OCT3__17n_oer_p_};
-const TTCN_Typedescriptor_t OCT3__17n_descr_ = { "@General_Types.OCT3_17n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__17n_xer_, &OCTETSTRING_json_, &OCT3__17n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__17n_default_coding("RAW");
-const XERdescriptor_t OCT4__8n_xer_ = { {"OCT4_8n>\n", "OCT4_8n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT4__8n_oer_ext_arr_[0] = {};
-const int OCT4__8n_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT4__8n_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT4__8n_oer_ext_arr_, 0, OCT4__8n_oer_p_};
-const TTCN_Typedescriptor_t OCT4__8n_descr_ = { "@General_Types.OCT4_8n", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT4__8n_xer_, &OCTETSTRING_json_, &OCT4__8n_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT4__8n_default_coding("RAW");
-const TTCN_RAWdescriptor_t CHAR4_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t CHAR4_xer_ = { {"CHAR4>\n", "CHAR4>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t CHAR4_descr_ = { "@General_Types.CHAR4", NULL, &CHAR4_raw_, &CHARSTRING_text_, &CHAR4_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING CHAR4_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX4n_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX4n_xer_ = { {"HEX4n>\n", "HEX4n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX4n_descr_ = { "@General_Types.HEX4n", NULL, &HEX4n_raw_, NULL, &HEX4n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX4n_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX6n_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX6n_xer_ = { {"HEX6n>\n", "HEX6n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX6n_descr_ = { "@General_Types.HEX6n", NULL, &HEX6n_raw_, NULL, &HEX6n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX6n_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX8n_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX8n_xer_ = { {"HEX8n>\n", "HEX8n>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX8n_descr_ = { "@General_Types.HEX8n", NULL, &HEX8n_raw_, NULL, &HEX8n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX8n_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX15n_raw_ = {60,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX15n_xer_ = { {"HEX15n>\n", "HEX15n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX15n_descr_ = { "@General_Types.HEX15n", NULL, &HEX15n_raw_, NULL, &HEX15n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX15n_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX16n_raw_ = {64,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX16n_xer_ = { {"HEX16n>\n", "HEX16n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX16n_descr_ = { "@General_Types.HEX16n", NULL, &HEX16n_raw_, NULL, &HEX16n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX16n_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX24n_raw_ = {96,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX24n_xer_ = { {"HEX24n>\n", "HEX24n>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX24n_descr_ = { "@General_Types.HEX24n", NULL, &HEX24n_raw_, NULL, &HEX24n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX24n_default_coding("RAW");
-const XERdescriptor_t HEX0__3n_xer_ = { {"HEX0_3n>\n", "HEX0_3n>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX0__3n_descr_ = { "@General_Types.HEX0_3n", NULL, &HEXSTRING_raw_, NULL, &HEX0__3n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX0__3n_default_coding("RAW");
-const XERdescriptor_t HEX0__18n_xer_ = { {"HEX0_18n>\n", "HEX0_18n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX0__18n_descr_ = { "@General_Types.HEX0_18n", NULL, &HEXSTRING_raw_, NULL, &HEX0__18n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX0__18n_default_coding("RAW");
-const XERdescriptor_t HEX1__20n_xer_ = { {"HEX1_20n>\n", "HEX1_20n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX1__20n_descr_ = { "@General_Types.HEX1_20n", NULL, &HEXSTRING_raw_, NULL, &HEX1__20n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX1__20n_default_coding("RAW");
-const XERdescriptor_t HEX1__34n_xer_ = { {"HEX1_34n>\n", "HEX1_34n>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX1__34n_descr_ = { "@General_Types.HEX1_34n", NULL, &HEXSTRING_raw_, NULL, &HEX1__34n_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX1__34n_default_coding("RAW");
-const XERdescriptor_t INT3nb_xer_ = { {"INT3nb>\n", "INT3nb>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT3nb_descr_ = { "@General_Types.INT3nb", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT3nb_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT3nb_default_coding("RAW");
-const XERdescriptor_t INT4nb_xer_ = { {"INT4nb>\n", "INT4nb>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT4nb_descr_ = { "@General_Types.INT4nb", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT4nb_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT4nb_default_coding("RAW");
-const XERdescriptor_t INT5nb_xer_ = { {"INT5nb>\n", "INT5nb>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT5nb_descr_ = { "@General_Types.INT5nb", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT5nb_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT5nb_default_coding("RAW");
-const XERdescriptor_t INT8nb_xer_ = { {"INT8nb>\n", "INT8nb>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT8nb_descr_ = { "@General_Types.INT8nb", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT8nb_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT8nb_default_coding("RAW");
-const XERdescriptor_t INT2nbp_xer_ = { {"INT2nbp>\n", "INT2nbp>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT2nbp_descr_ = { "@General_Types.INT2nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT2nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT2nbp_default_coding("RAW");
-const XERdescriptor_t INT1nbp_xer_ = { {"INT1nbp>\n", "INT1nbp>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT1nbp_descr_ = { "@General_Types.INT1nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT1nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT1nbp_default_coding("RAW");
-const XERdescriptor_t INT3nbp_xer_ = { {"INT3nbp>\n", "INT3nbp>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT3nbp_descr_ = { "@General_Types.INT3nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT3nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT3nbp_default_coding("RAW");
-const XERdescriptor_t INT5nbp_xer_ = { {"INT5nbp>\n", "INT5nbp>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT5nbp_descr_ = { "@General_Types.INT5nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT5nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT5nbp_default_coding("RAW");
-const XERdescriptor_t INT9nbp_xer_ = { {"INT9nbp>\n", "INT9nbp>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT9nbp_descr_ = { "@General_Types.INT9nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT9nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT9nbp_default_coding("RAW");
-const XERdescriptor_t INT13nbp_xer_ = { {"INT13nbp>\n", "INT13nbp>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT13nbp_descr_ = { "@General_Types.INT13nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT13nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT13nbp_default_coding("RAW");
-const XERdescriptor_t INT15nbp_xer_ = { {"INT15nbp>\n", "INT15nbp>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT15nbp_descr_ = { "@General_Types.INT15nbp", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &INT15nbp_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT15nbp_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT6__BO__LAST_raw_ = {6,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT6__BO__LAST_xer_ = { {"BIT6_BO_LAST>\n", "BIT6_BO_LAST>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT6__BO__LAST_descr_ = { "@General_Types.BIT6_BO_LAST", &BITSTRING_ber_, &BIT6__BO__LAST_raw_, NULL, &BIT6__BO__LAST_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT6__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT16__BO__LAST_raw_ = {16,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT16__BO__LAST_xer_ = { {"BIT16_BO_LAST>\n", "BIT16_BO_LAST>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT16__BO__LAST_descr_ = { "@General_Types.BIT16_BO_LAST", &BITSTRING_ber_, &BIT16__BO__LAST_raw_, NULL, &BIT16__BO__LAST_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT16__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t BIT32__BO__LAST_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t BIT32__BO__LAST_xer_ = { {"BIT32_BO_LAST>\n", "BIT32_BO_LAST>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t BIT32__BO__LAST_descr_ = { "@General_Types.BIT32_BO_LAST", &BITSTRING_ber_, &BIT32__BO__LAST_raw_, NULL, &BIT32__BO__LAST_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING BIT32__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t Dummy_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t Dummy_xer_ = { {"Dummy>\n", "Dummy>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int Dummy_oer_ext_arr_[0] = {};
-const int Dummy_oer_p_[0] = {};
-const TTCN_OERdescriptor_t Dummy_oer_ = { -1, TRUE, -1, FALSE, 0, 0, Dummy_oer_ext_arr_, 0, Dummy_oer_p_};
-const TTCN_Typedescriptor_t Dummy_descr_ = { "@General_Types.Dummy", &OCTETSTRING_ber_, &Dummy_raw_, &OCTETSTRING_text_, &Dummy_xer_, &OCTETSTRING_json_, &Dummy_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Dummy_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT0_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT0_xer_ = { {"OCT0>\n", "OCT0>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT0_oer_ext_arr_[0] = {};
-const int OCT0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT0_oer_ext_arr_, 0, OCT0_oer_p_};
-const TTCN_Typedescriptor_t OCT0_descr_ = { "@General_Types.OCT0", &OCTETSTRING_ber_, &OCT0_raw_, &OCTETSTRING_text_, &OCT0_xer_, &OCTETSTRING_json_, &OCT0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT0_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT1_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT1_xer_ = { {"OCT1>\n", "OCT1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1_oer_ext_arr_[0] = {};
-const int OCT1_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1_oer_ext_arr_, 0, OCT1_oer_p_};
-const TTCN_Typedescriptor_t OCT1_descr_ = { "@General_Types.OCT1", &OCTETSTRING_ber_, &OCT1_raw_, &OCTETSTRING_text_, &OCT1_xer_, &OCTETSTRING_json_, &OCT1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT2_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT2_xer_ = { {"OCT2>\n", "OCT2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT2_oer_ext_arr_[0] = {};
-const int OCT2_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT2_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT2_oer_ext_arr_, 0, OCT2_oer_p_};
-const TTCN_Typedescriptor_t OCT2_descr_ = { "@General_Types.OCT2", &OCTETSTRING_ber_, &OCT2_raw_, &OCTETSTRING_text_, &OCT2_xer_, &OCTETSTRING_json_, &OCT2_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT2_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT3_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT3_xer_ = { {"OCT3>\n", "OCT3>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3_oer_ext_arr_[0] = {};
-const int OCT3_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3_oer_ext_arr_, 0, OCT3_oer_p_};
-const TTCN_Typedescriptor_t OCT3_descr_ = { "@General_Types.OCT3", &OCTETSTRING_ber_, &OCT3_raw_, &OCTETSTRING_text_, &OCT3_xer_, &OCTETSTRING_json_, &OCT3_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT4_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT4_xer_ = { {"OCT4>\n", "OCT4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT4_oer_ext_arr_[0] = {};
-const int OCT4_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT4_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT4_oer_ext_arr_, 0, OCT4_oer_p_};
-const TTCN_Typedescriptor_t OCT4_descr_ = { "@General_Types.OCT4", &OCTETSTRING_ber_, &OCT4_raw_, &OCTETSTRING_text_, &OCT4_xer_, &OCTETSTRING_json_, &OCT4_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT4_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT5_raw_ = {40,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,5,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT5_xer_ = { {"OCT5>\n", "OCT5>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT5_oer_ext_arr_[0] = {};
-const int OCT5_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT5_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT5_oer_ext_arr_, 0, OCT5_oer_p_};
-const TTCN_Typedescriptor_t OCT5_descr_ = { "@General_Types.OCT5", &OCTETSTRING_ber_, &OCT5_raw_, &OCTETSTRING_text_, &OCT5_xer_, &OCTETSTRING_json_, &OCT5_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT5_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT6_raw_ = {48,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,6,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT6_xer_ = { {"OCT6>\n", "OCT6>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT6_oer_ext_arr_[0] = {};
-const int OCT6_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT6_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT6_oer_ext_arr_, 0, OCT6_oer_p_};
-const TTCN_Typedescriptor_t OCT6_descr_ = { "@General_Types.OCT6", &OCTETSTRING_ber_, &OCT6_raw_, &OCTETSTRING_text_, &OCT6_xer_, &OCTETSTRING_json_, &OCT6_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT6_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT7_raw_ = {56,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,7,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT7_xer_ = { {"OCT7>\n", "OCT7>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT7_oer_ext_arr_[0] = {};
-const int OCT7_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT7_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT7_oer_ext_arr_, 0, OCT7_oer_p_};
-const TTCN_Typedescriptor_t OCT7_descr_ = { "@General_Types.OCT7", &OCTETSTRING_ber_, &OCT7_raw_, &OCTETSTRING_text_, &OCT7_xer_, &OCTETSTRING_json_, &OCT7_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT7_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT8_raw_ = {64,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT8_xer_ = { {"OCT8>\n", "OCT8>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT8_oer_ext_arr_[0] = {};
-const int OCT8_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT8_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT8_oer_ext_arr_, 0, OCT8_oer_p_};
-const TTCN_Typedescriptor_t OCT8_descr_ = { "@General_Types.OCT8", &OCTETSTRING_ber_, &OCT8_raw_, &OCTETSTRING_text_, &OCT8_xer_, &OCTETSTRING_json_, &OCT8_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT8_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT9_raw_ = {72,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,9,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT9_xer_ = { {"OCT9>\n", "OCT9>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT9_oer_ext_arr_[0] = {};
-const int OCT9_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT9_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT9_oer_ext_arr_, 0, OCT9_oer_p_};
-const TTCN_Typedescriptor_t OCT9_descr_ = { "@General_Types.OCT9", &OCTETSTRING_ber_, &OCT9_raw_, &OCTETSTRING_text_, &OCT9_xer_, &OCTETSTRING_json_, &OCT9_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT9_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT10_raw_ = {80,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,10,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT10_xer_ = { {"OCT10>\n", "OCT10>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT10_oer_ext_arr_[0] = {};
-const int OCT10_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT10_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT10_oer_ext_arr_, 0, OCT10_oer_p_};
-const TTCN_Typedescriptor_t OCT10_descr_ = { "@General_Types.OCT10", &OCTETSTRING_ber_, &OCT10_raw_, &OCTETSTRING_text_, &OCT10_xer_, &OCTETSTRING_json_, &OCT10_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT10_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT11_raw_ = {88,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,11,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT11_xer_ = { {"OCT11>\n", "OCT11>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT11_oer_ext_arr_[0] = {};
-const int OCT11_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT11_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT11_oer_ext_arr_, 0, OCT11_oer_p_};
-const TTCN_Typedescriptor_t OCT11_descr_ = { "@General_Types.OCT11", &OCTETSTRING_ber_, &OCT11_raw_, &OCTETSTRING_text_, &OCT11_xer_, &OCTETSTRING_json_, &OCT11_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT11_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT12_raw_ = {96,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,12,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT12_xer_ = { {"OCT12>\n", "OCT12>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT12_oer_ext_arr_[0] = {};
-const int OCT12_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT12_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT12_oer_ext_arr_, 0, OCT12_oer_p_};
-const TTCN_Typedescriptor_t OCT12_descr_ = { "@General_Types.OCT12", &OCTETSTRING_ber_, &OCT12_raw_, &OCTETSTRING_text_, &OCT12_xer_, &OCTETSTRING_json_, &OCT12_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT12_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT13_raw_ = {104,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,13,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT13_xer_ = { {"OCT13>\n", "OCT13>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT13_oer_ext_arr_[0] = {};
-const int OCT13_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT13_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT13_oer_ext_arr_, 0, OCT13_oer_p_};
-const TTCN_Typedescriptor_t OCT13_descr_ = { "@General_Types.OCT13", &OCTETSTRING_ber_, &OCT13_raw_, &OCTETSTRING_text_, &OCT13_xer_, &OCTETSTRING_json_, &OCT13_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT13_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT14_raw_ = {112,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,14,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT14_xer_ = { {"OCT14>\n", "OCT14>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT14_oer_ext_arr_[0] = {};
-const int OCT14_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT14_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT14_oer_ext_arr_, 0, OCT14_oer_p_};
-const TTCN_Typedescriptor_t OCT14_descr_ = { "@General_Types.OCT14", &OCTETSTRING_ber_, &OCT14_raw_, &OCTETSTRING_text_, &OCT14_xer_, &OCTETSTRING_json_, &OCT14_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT14_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT15_raw_ = {120,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,15,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT15_xer_ = { {"OCT15>\n", "OCT15>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT15_oer_ext_arr_[0] = {};
-const int OCT15_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT15_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT15_oer_ext_arr_, 0, OCT15_oer_p_};
-const TTCN_Typedescriptor_t OCT15_descr_ = { "@General_Types.OCT15", &OCTETSTRING_ber_, &OCT15_raw_, &OCTETSTRING_text_, &OCT15_xer_, &OCTETSTRING_json_, &OCT15_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT15_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT16_raw_ = {128,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,16,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT16_xer_ = { {"OCT16>\n", "OCT16>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT16_oer_ext_arr_[0] = {};
-const int OCT16_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT16_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT16_oer_ext_arr_, 0, OCT16_oer_p_};
-const TTCN_Typedescriptor_t OCT16_descr_ = { "@General_Types.OCT16", &OCTETSTRING_ber_, &OCT16_raw_, &OCTETSTRING_text_, &OCT16_xer_, &OCTETSTRING_json_, &OCT16_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT16_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT17_raw_ = {136,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,17,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT17_xer_ = { {"OCT17>\n", "OCT17>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT17_oer_ext_arr_[0] = {};
-const int OCT17_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT17_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT17_oer_ext_arr_, 0, OCT17_oer_p_};
-const TTCN_Typedescriptor_t OCT17_descr_ = { "@General_Types.OCT17", &OCTETSTRING_ber_, &OCT17_raw_, &OCTETSTRING_text_, &OCT17_xer_, &OCTETSTRING_json_, &OCT17_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT17_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT18_raw_ = {144,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,18,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT18_xer_ = { {"OCT18>\n", "OCT18>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT18_oer_ext_arr_[0] = {};
-const int OCT18_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT18_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT18_oer_ext_arr_, 0, OCT18_oer_p_};
-const TTCN_Typedescriptor_t OCT18_descr_ = { "@General_Types.OCT18", &OCTETSTRING_ber_, &OCT18_raw_, &OCTETSTRING_text_, &OCT18_xer_, &OCTETSTRING_json_, &OCT18_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT18_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT19_raw_ = {152,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,19,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT19_xer_ = { {"OCT19>\n", "OCT19>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT19_oer_ext_arr_[0] = {};
-const int OCT19_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT19_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT19_oer_ext_arr_, 0, OCT19_oer_p_};
-const TTCN_Typedescriptor_t OCT19_descr_ = { "@General_Types.OCT19", &OCTETSTRING_ber_, &OCT19_raw_, &OCTETSTRING_text_, &OCT19_xer_, &OCTETSTRING_json_, &OCT19_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT19_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT20_raw_ = {160,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,20,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT20_xer_ = { {"OCT20>\n", "OCT20>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT20_oer_ext_arr_[0] = {};
-const int OCT20_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT20_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT20_oer_ext_arr_, 0, OCT20_oer_p_};
-const TTCN_Typedescriptor_t OCT20_descr_ = { "@General_Types.OCT20", &OCTETSTRING_ber_, &OCT20_raw_, &OCTETSTRING_text_, &OCT20_xer_, &OCTETSTRING_json_, &OCT20_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT20_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT22_raw_ = {176,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,22,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT22_xer_ = { {"OCT22>\n", "OCT22>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT22_oer_ext_arr_[0] = {};
-const int OCT22_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT22_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT22_oer_ext_arr_, 0, OCT22_oer_p_};
-const TTCN_Typedescriptor_t OCT22_descr_ = { "@General_Types.OCT22", &OCTETSTRING_ber_, &OCT22_raw_, &OCTETSTRING_text_, &OCT22_xer_, &OCTETSTRING_json_, &OCT22_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT22_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT32_raw_ = {256,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,32,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT32_xer_ = { {"OCT32>\n", "OCT32>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT32_oer_ext_arr_[0] = {};
-const int OCT32_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT32_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT32_oer_ext_arr_, 0, OCT32_oer_p_};
-const TTCN_Typedescriptor_t OCT32_descr_ = { "@General_Types.OCT32", &OCTETSTRING_ber_, &OCT32_raw_, &OCTETSTRING_text_, &OCT32_xer_, &OCTETSTRING_json_, &OCT32_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT32_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT34_raw_ = {272,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,34,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT34_xer_ = { {"OCT34>\n", "OCT34>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT34_oer_ext_arr_[0] = {};
-const int OCT34_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT34_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT34_oer_ext_arr_, 0, OCT34_oer_p_};
-const TTCN_Typedescriptor_t OCT34_descr_ = { "@General_Types.OCT34", &OCTETSTRING_ber_, &OCT34_raw_, &OCTETSTRING_text_, &OCT34_xer_, &OCTETSTRING_json_, &OCT34_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT34_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT46_raw_ = {368,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,46,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT46_xer_ = { {"OCT46>\n", "OCT46>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT46_oer_ext_arr_[0] = {};
-const int OCT46_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT46_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT46_oer_ext_arr_, 0, OCT46_oer_p_};
-const TTCN_Typedescriptor_t OCT46_descr_ = { "@General_Types.OCT46", &OCTETSTRING_ber_, &OCT46_raw_, &OCTETSTRING_text_, &OCT46_xer_, &OCTETSTRING_json_, &OCT46_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT46_default_coding("RAW");
-const XERdescriptor_t OCT1__260_xer_ = { {"OCT1_260>\n", "OCT1_260>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__260_oer_ext_arr_[0] = {};
-const int OCT1__260_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__260_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__260_oer_ext_arr_, 0, OCT1__260_oer_p_};
-const TTCN_Typedescriptor_t OCT1__260_descr_ = { "@General_Types.OCT1_260", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__260_xer_, &OCTETSTRING_json_, &OCT1__260_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__260_default_coding("RAW");
-const XERdescriptor_t OCT1__8_xer_ = { {"OCT1_8>\n", "OCT1_8>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__8_oer_ext_arr_[0] = {};
-const int OCT1__8_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__8_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__8_oer_ext_arr_, 0, OCT1__8_oer_p_};
-const TTCN_Typedescriptor_t OCT1__8_descr_ = { "@General_Types.OCT1_8", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__8_xer_, &OCTETSTRING_json_, &OCT1__8_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__8_default_coding("RAW");
-const XERdescriptor_t OCT1__12_xer_ = { {"OCT1_12>\n", "OCT1_12>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__12_oer_ext_arr_[0] = {};
-const int OCT1__12_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__12_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__12_oer_ext_arr_, 0, OCT1__12_oer_p_};
-const TTCN_Typedescriptor_t OCT1__12_descr_ = { "@General_Types.OCT1_12", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__12_xer_, &OCTETSTRING_json_, &OCT1__12_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__12_default_coding("RAW");
-const XERdescriptor_t OCT1__32_xer_ = { {"OCT1_32>\n", "OCT1_32>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__32_oer_ext_arr_[0] = {};
-const int OCT1__32_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__32_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__32_oer_ext_arr_, 0, OCT1__32_oer_p_};
-const TTCN_Typedescriptor_t OCT1__32_descr_ = { "@General_Types.OCT1_32", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__32_xer_, &OCTETSTRING_json_, &OCT1__32_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__32_default_coding("RAW");
-const XERdescriptor_t OCT1__50_xer_ = { {"OCT1_50>\n", "OCT1_50>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1__50_oer_ext_arr_[0] = {};
-const int OCT1__50_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1__50_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1__50_oer_ext_arr_, 0, OCT1__50_oer_p_};
-const TTCN_Typedescriptor_t OCT1__50_descr_ = { "@General_Types.OCT1_50", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT1__50_xer_, &OCTETSTRING_json_, &OCT1__50_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1__50_default_coding("RAW");
-const XERdescriptor_t OCT3__8_xer_ = { {"OCT3_8>\n", "OCT3_8>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3__8_oer_ext_arr_[0] = {};
-const int OCT3__8_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3__8_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3__8_oer_ext_arr_, 0, OCT3__8_oer_p_};
-const TTCN_Typedescriptor_t OCT3__8_descr_ = { "@General_Types.OCT3_8", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCT3__8_xer_, &OCTETSTRING_json_, &OCT3__8_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3__8_default_coding("RAW");
-const XERdescriptor_t OCTN_xer_ = { {"OCTN>\n", "OCTN>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCTN_oer_ext_arr_[0] = {};
-const int OCTN_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCTN_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCTN_oer_ext_arr_, 0, OCTN_oer_p_};
-const TTCN_Typedescriptor_t OCTN_descr_ = { "@General_Types.OCTN", &OCTETSTRING_ber_, &OCTETSTRING_raw_, &OCTETSTRING_text_, &OCTN_xer_, &OCTETSTRING_json_, &OCTN_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCTN_default_coding("RAW");
-const TTCN_RAWdescriptor_t HEX1_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t HEX1_xer_ = { {"HEX1>\n", "HEX1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX1_descr_ = { "@General_Types.HEX1", NULL, &HEX1_raw_, NULL, &HEX1_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX1_default_coding("RAW");
-const XERdescriptor_t HEX0__16_xer_ = { {"HEX0_16>\n", "HEX0_16>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX0__16_descr_ = { "@General_Types.HEX0_16", NULL, &HEXSTRING_raw_, NULL, &HEX0__16_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX0__16_default_coding("RAW");
-const XERdescriptor_t HEX5__16_xer_ = { {"HEX5_16>\n", "HEX5_16>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX5__16_descr_ = { "@General_Types.HEX5_16", NULL, &HEXSTRING_raw_, NULL, &HEX5__16_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX5__16_default_coding("RAW");
-const XERdescriptor_t HEX1__32_xer_ = { {"HEX1_32>\n", "HEX1_32>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t HEX1__32_descr_ = { "@General_Types.HEX1_32", NULL, &HEXSTRING_raw_, NULL, &HEX1__32_xer_, &HEXSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING HEX1__32_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT1_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT1_xer_ = { {"INT1>\n", "INT1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t INT1_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t INT1_descr_ = { "@General_Types.INT1", &INTEGER_ber_, &INT1_raw_, &INTEGER_text_, &INT1_xer_, &INTEGER_json_, &INT1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT1_default_coding("RAW");
-const TTCN_RAWdescriptor_t LIN1_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t LIN1_xer_ = { {"LIN1>\n", "LIN1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t LIN1_descr_ = { "@General_Types.LIN1", &INTEGER_ber_, &LIN1_raw_, &INTEGER_text_, &LIN1_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING LIN1_default_coding("RAW");
-const TTCN_RAWdescriptor_t LIN2_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t LIN2_xer_ = { {"LIN2>\n", "LIN2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t LIN2_descr_ = { "@General_Types.LIN2", &INTEGER_ber_, &LIN2_raw_, &INTEGER_text_, &LIN2_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING LIN2_default_coding("RAW");
-const TTCN_RAWdescriptor_t LIN2__BO__LAST_raw_ = {16,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t LIN2__BO__LAST_xer_ = { {"LIN2_BO_LAST>\n", "LIN2_BO_LAST>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t LIN2__BO__LAST_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t LIN2__BO__LAST_descr_ = { "@General_Types.LIN2_BO_LAST", &INTEGER_ber_, &LIN2__BO__LAST_raw_, &INTEGER_text_, &LIN2__BO__LAST_xer_, &INTEGER_json_, &LIN2__BO__LAST_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING LIN2__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t LIN3__BO__LAST_raw_ = {24,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t LIN3__BO__LAST_xer_ = { {"LIN3_BO_LAST>\n", "LIN3_BO_LAST>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t LIN3__BO__LAST_descr_ = { "@General_Types.LIN3_BO_LAST", &INTEGER_ber_, &LIN3__BO__LAST_raw_, &INTEGER_text_, &LIN3__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING LIN3__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t LIN4__BO__LAST_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t LIN4__BO__LAST_xer_ = { {"LIN4_BO_LAST>\n", "LIN4_BO_LAST>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t LIN4__BO__LAST_descr_ = { "@General_Types.LIN4_BO_LAST", &INTEGER_ber_, &LIN4__BO__LAST_raw_, &INTEGER_text_, &LIN4__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING LIN4__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT1b_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT1b_xer_ = { {"INT1b>\n", "INT1b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT1b_descr_ = { "@General_Types.INT1b", &INTEGER_ber_, &INT1b_raw_, &INTEGER_text_, &INT1b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT1b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT2b_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT2b_xer_ = { {"INT2b>\n", "INT2b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT2b_descr_ = { "@General_Types.INT2b", &INTEGER_ber_, &INT2b_raw_, &INTEGER_text_, &INT2b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT2b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT3b_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT3b_xer_ = { {"INT3b>\n", "INT3b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT3b_descr_ = { "@General_Types.INT3b", &INTEGER_ber_, &INT3b_raw_, &INTEGER_text_, &INT3b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT3b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT4b_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT4b_xer_ = { {"INT4b>\n", "INT4b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT4b_descr_ = { "@General_Types.INT4b", &INTEGER_ber_, &INT4b_raw_, &INTEGER_text_, &INT4b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT4b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT5b_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT5b_xer_ = { {"INT5b>\n", "INT5b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT5b_descr_ = { "@General_Types.INT5b", &INTEGER_ber_, &INT5b_raw_, &INTEGER_text_, &INT5b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT5b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT6b_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT6b_xer_ = { {"INT6b>\n", "INT6b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t INT6b_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t INT6b_descr_ = { "@General_Types.INT6b", &INTEGER_ber_, &INT6b_raw_, &INTEGER_text_, &INT6b_xer_, &INTEGER_json_, &INT6b_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT6b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT7b_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT7b_xer_ = { {"INT7b>\n", "INT7b>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT7b_descr_ = { "@General_Types.INT7b", &INTEGER_ber_, &INT7b_raw_, &INTEGER_text_, &INT7b_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT7b_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT11b__BO__LAST_raw_ = {11,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT11b__BO__LAST_xer_ = { {"INT11b_BO_LAST>\n", "INT11b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT11b__BO__LAST_descr_ = { "@General_Types.INT11b_BO_LAST", &INTEGER_ber_, &INT11b__BO__LAST_raw_, &INTEGER_text_, &INT11b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT11b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT12b__BO__LAST_raw_ = {12,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT12b__BO__LAST_xer_ = { {"INT12b_BO_LAST>\n", "INT12b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT12b__BO__LAST_descr_ = { "@General_Types.INT12b_BO_LAST", &INTEGER_ber_, &INT12b__BO__LAST_raw_, &INTEGER_text_, &INT12b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT12b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT13b__BO__LAST_raw_ = {13,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT13b__BO__LAST_xer_ = { {"INT13b_BO_LAST>\n", "INT13b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT13b__BO__LAST_descr_ = { "@General_Types.INT13b_BO_LAST", &INTEGER_ber_, &INT13b__BO__LAST_raw_, &INTEGER_text_, &INT13b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT13b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT14b__BO__LAST_raw_ = {14,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT14b__BO__LAST_xer_ = { {"INT14b_BO_LAST>\n", "INT14b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT14b__BO__LAST_descr_ = { "@General_Types.INT14b_BO_LAST", &INTEGER_ber_, &INT14b__BO__LAST_raw_, &INTEGER_text_, &INT14b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT14b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT18b__BO__LAST_raw_ = {18,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT18b__BO__LAST_xer_ = { {"INT18b_BO_LAST>\n", "INT18b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t INT18b__BO__LAST_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t INT18b__BO__LAST_descr_ = { "@General_Types.INT18b_BO_LAST", &INTEGER_ber_, &INT18b__BO__LAST_raw_, &INTEGER_text_, &INT18b__BO__LAST_xer_, &INTEGER_json_, &INT18b__BO__LAST_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT18b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT20b__BO__LAST_raw_ = {20,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT20b__BO__LAST_xer_ = { {"INT20b_BO_LAST>\n", "INT20b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT20b__BO__LAST_descr_ = { "@General_Types.INT20b_BO_LAST", &INTEGER_ber_, &INT20b__BO__LAST_raw_, &INTEGER_text_, &INT20b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT20b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t INT31b__BO__LAST_raw_ = {31,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t INT31b__BO__LAST_xer_ = { {"INT31b_BO_LAST>\n", "INT31b_BO_LAST>\n"}, {16, 16}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t INT31b__BO__LAST_descr_ = { "@General_Types.INT31b_BO_LAST", &INTEGER_ber_, &INT31b__BO__LAST_raw_, &INTEGER_text_, &INT31b__BO__LAST_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING INT31b__BO__LAST_default_coding("RAW");
-const TTCN_RAWdescriptor_t Integers_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for Integers
-const TTCN_Typedescriptor_t Integers_descr_ = { "@General_Types.Integers", NULL, &Integers_raw_, NULL, NULL, NULL, NULL, &INTEGER_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t Integers_0_xer_ = { {"INTEGER>\n", "INTEGER>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t Integers_0_descr_ = { "@General_Types.Integers.INTEGER", &INTEGER_ber_, &INTEGER_raw_, &INTEGER_text_, &Integers_0_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Integers_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING Integers_default_coding("RAW");
-const TTCN_RAWdescriptor_t Integer__array_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for Integer__array
-const TTCN_Typedescriptor_t Integer__array_descr_ = { "@General_Types.Integer_array", NULL, &Integer__array_raw_, NULL, NULL, NULL, NULL, &Integers_descr_, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Integer__array_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING Integer__array_default_coding("RAW");
-const TTCN_Typedescriptor_t& Dummy__comptype_descr_ = COMPONENT_descr_;
-const TTCN_Typedescriptor_t& Dummy__CT_descr_ = COMPONENT_descr_;
-const TTCN_RAWdescriptor_t Protocols_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for Protocols
-const TTCN_Typedescriptor_t Protocols_descr_ = { "@General_Types.Protocols", NULL, &Protocols_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Protocols_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT1List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT1List
-const TTCN_Typedescriptor_t OCT1List_descr_ = { "@General_Types.OCT1List", NULL, &OCT1List_raw_, NULL, NULL, NULL, NULL, &OCT1_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT1List_0_xer_ = { {"OCT1>\n", "OCT1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT1List_0_oer_ext_arr_[0] = {};
-const int OCT1List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT1List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT1List_0_oer_ext_arr_, 0, OCT1List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT1List_0_descr_ = { "@General_Types.OCT1List.<oftype>", &OCTETSTRING_ber_, &OCT1_raw_, &OCTETSTRING_text_, &OCT1List_0_xer_, &OCTETSTRING_json_, &OCT1List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT1List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT1List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT2List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT2List
-const TTCN_Typedescriptor_t OCT2List_descr_ = { "@General_Types.OCT2List", NULL, &OCT2List_raw_, NULL, NULL, NULL, NULL, &OCT2_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT2List_0_xer_ = { {"OCT2>\n", "OCT2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT2List_0_oer_ext_arr_[0] = {};
-const int OCT2List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT2List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT2List_0_oer_ext_arr_, 0, OCT2List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT2List_0_descr_ = { "@General_Types.OCT2List.<oftype>", &OCTETSTRING_ber_, &OCT2_raw_, &OCTETSTRING_text_, &OCT2List_0_xer_, &OCTETSTRING_json_, &OCT2List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT2List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT2List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT3List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT3List
-const TTCN_Typedescriptor_t OCT3List_descr_ = { "@General_Types.OCT3List", NULL, &OCT3List_raw_, NULL, NULL, NULL, NULL, &OCT3_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT3List_0_xer_ = { {"OCT3>\n", "OCT3>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT3List_0_oer_ext_arr_[0] = {};
-const int OCT3List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT3List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT3List_0_oer_ext_arr_, 0, OCT3List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT3List_0_descr_ = { "@General_Types.OCT3List.<oftype>", &OCTETSTRING_ber_, &OCT3_raw_, &OCTETSTRING_text_, &OCT3List_0_xer_, &OCTETSTRING_json_, &OCT3List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT3List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT3List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT4List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT4List
-const TTCN_Typedescriptor_t OCT4List_descr_ = { "@General_Types.OCT4List", NULL, &OCT4List_raw_, NULL, NULL, NULL, NULL, &OCT4_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT4List_0_xer_ = { {"OCT4>\n", "OCT4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT4List_0_oer_ext_arr_[0] = {};
-const int OCT4List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT4List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT4List_0_oer_ext_arr_, 0, OCT4List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT4List_0_descr_ = { "@General_Types.OCT4List.<oftype>", &OCTETSTRING_ber_, &OCT4_raw_, &OCTETSTRING_text_, &OCT4List_0_xer_, &OCTETSTRING_json_, &OCT4List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT4List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT4List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT5List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT5List
-const TTCN_Typedescriptor_t OCT5List_descr_ = { "@General_Types.OCT5List", NULL, &OCT5List_raw_, NULL, NULL, NULL, NULL, &OCT5_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT5List_0_xer_ = { {"OCT5>\n", "OCT5>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT5List_0_oer_ext_arr_[0] = {};
-const int OCT5List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT5List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT5List_0_oer_ext_arr_, 0, OCT5List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT5List_0_descr_ = { "@General_Types.OCT5List.<oftype>", &OCTETSTRING_ber_, &OCT5_raw_, &OCTETSTRING_text_, &OCT5List_0_xer_, &OCTETSTRING_json_, &OCT5List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT5List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT5List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT6List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT6List
-const TTCN_Typedescriptor_t OCT6List_descr_ = { "@General_Types.OCT6List", NULL, &OCT6List_raw_, NULL, NULL, NULL, NULL, &OCT6_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT6List_0_xer_ = { {"OCT6>\n", "OCT6>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT6List_0_oer_ext_arr_[0] = {};
-const int OCT6List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT6List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT6List_0_oer_ext_arr_, 0, OCT6List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT6List_0_descr_ = { "@General_Types.OCT6List.<oftype>", &OCTETSTRING_ber_, &OCT6_raw_, &OCTETSTRING_text_, &OCT6List_0_xer_, &OCTETSTRING_json_, &OCT6List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT6List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT6List_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT7List_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for OCT7List
-const TTCN_Typedescriptor_t OCT7List_descr_ = { "@General_Types.OCT7List", NULL, &OCT7List_raw_, NULL, NULL, NULL, NULL, &OCT7_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const XERdescriptor_t OCT7List_0_xer_ = { {"OCT7>\n", "OCT7>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT7List_0_oer_ext_arr_[0] = {};
-const int OCT7List_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT7List_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT7List_0_oer_ext_arr_, 0, OCT7List_0_oer_p_};
-const TTCN_Typedescriptor_t OCT7List_0_descr_ = { "@General_Types.OCT7List.<oftype>", &OCTETSTRING_ber_, &OCT7_raw_, &OCTETSTRING_text_, &OCT7List_0_xer_, &OCTETSTRING_json_, &OCT7List_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT7List_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING OCT7List_default_coding("RAW");
-// No XER for ListOfDummy__comptype
-const TTCN_Typedescriptor_t ListOfDummy__comptype_descr_ = { "@General_Types.ListOfDummy_comptype", NULL, NULL, NULL, NULL, NULL, NULL, &COMPONENT_descr_, TTCN_Typedescriptor_t::DONTCARE };
-// No XER for ListOfDummy__CT
-const TTCN_Typedescriptor_t ListOfDummy__CT_descr_ = { "@General_Types.ListOfDummy_CT", NULL, NULL, NULL, NULL, NULL, NULL, &COMPONENT_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t ProtocolList_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for ProtocolList
-const TTCN_Typedescriptor_t ProtocolList_descr_ = { "@General_Types.ProtocolList", NULL, &ProtocolList_raw_, NULL, NULL, NULL, NULL, &Protocols_descr_, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING ProtocolList_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING ProtocolList_default_coding("RAW");
-TTCN_Module module_object("General_Types", __DATE__, __TIME__, module_checksum, NULL, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, NULL, NULL, NULL, NULL, init_comp_type, NULL, NULL, NULL);
-
-static const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_6,
- current_runtime_version.requires_minor_version_5,
- current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-
-const Integers Integer__array::UNBOUND_ELEM;
-Integer__array::Integer__array()
-{
-val_ptr = NULL;
-}
-
-Integer__array::Integer__array(null_type)
-{
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-}
-
-Integer__array::Integer__array(const Integer__array& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Copying an unbound value of type @General_Types.Integer_array.");
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-
-Integer__array::~Integer__array()
-{
-clean_up();
-if (val_ptr != NULL) val_ptr = NULL;
-}
-
-void Integer__array::clean_up()
-{
-if (val_ptr != NULL) {
-if (val_ptr->ref_count > 1) {
-val_ptr->ref_count--;
-val_ptr = NULL;
-}
-else if (val_ptr->ref_count == 1) {
-for (int elem_count = 0; elem_count < val_ptr->n_elements;
-elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)
-delete val_ptr->value_elements[elem_count];
-free_pointers((void**)val_ptr->value_elements);
-delete val_ptr;
-val_ptr = NULL;
-}
-else
-TTCN_error("Internal error: Invalid reference counter in a record of/set of value.");
-}
-}
-
-Integer__array& Integer__array::operator=(null_type)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-return *this;
-}
-
-Integer__array& Integer__array::operator=(const Integer__array& other_value)
-{
-if (other_value.val_ptr == NULL) TTCN_error("Assigning an unbound value of type @General_Types.Integer_array.");
-if (this != &other_value) {
-clean_up();
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-return *this;
-}
-
-boolean Integer__array::operator==(null_type) const
-{
-if (val_ptr == NULL)
-TTCN_error("The left operand of comparison is an unbound value of type @General_Types.Integer_array.");
-return val_ptr->n_elements == 0 ;
-}
-
-boolean Integer__array::operator==(const Integer__array& other_value) const
-{
-if (val_ptr == NULL) TTCN_error("The left operand of comparison is an unbound value of type @General_Types.Integer_array.");
-if (other_value.val_ptr == NULL) TTCN_error("The right operand of comparison is an unbound value of type @General_Types.Integer_array.");
-if (val_ptr == other_value.val_ptr) return TRUE;
-if (val_ptr->n_elements != (other_value.val_ptr)->n_elements)
-return FALSE;
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL){
- if (*val_ptr->value_elements[elem_count] != *(other_value.val_ptr)->value_elements[elem_count]) return FALSE;
-} else return FALSE;
-} else {
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL) return FALSE;
-}
-}
-return TRUE;
-}
-
-Integers& Integer__array::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.Integer_array using a negative index: %d.", index_value);
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (index_value >= val_ptr->n_elements) ? index_value + 1 : val_ptr->n_elements;
-new_val_ptr->value_elements = (Integers**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new Integers(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (index_value >= val_ptr->n_elements) set_size(index_value + 1);
-if (val_ptr->value_elements[index_value] == NULL) {
-val_ptr->value_elements[index_value] = new Integers;
-}
-return *val_ptr->value_elements[index_value];
-}
-
-Integers& Integer__array::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.Integer_array.");
-return (*this)[(int)index_value];
-}
-
-const Integers& Integer__array::operator[](int index_value) const
-{
-if (val_ptr == NULL)
-TTCN_error("Accessing an element in an unbound value of type @General_Types.Integer_array.");
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.Integer_array using a negative index: %d.", index_value);
-if (index_value >= val_ptr->n_elements) TTCN_error("Index overflow in a value of type @General_Types.Integer_array: The index is %d, but the value has only %d elements.", index_value, val_ptr->n_elements);
-return (val_ptr->value_elements[index_value] == NULL) ?
-UNBOUND_ELEM : *val_ptr->value_elements[index_value];
-}
-
-const Integers& Integer__array::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.Integer_array.");
-return (*this)[(int)index_value];
-}
-
-Integer__array Integer__array::operator<<=(int rotate_count) const
-{
-return *this >>= (-rotate_count);
-}
-
-Integer__array Integer__array::operator<<=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate left operator.");
-return *this >>= (int)(-rotate_count);
-}
-
-Integer__array Integer__array::operator>>=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate right operator.");
-return *this >>= (int)rotate_count;
-}
-
-Integer__array Integer__array::operator>>=(int rotate_count) const
-{
-if (val_ptr == NULL) TTCN_error("Performing rotation operation on an unbound value of type @General_Types.Integer_array.");
-if (val_ptr->n_elements == 0) return *this;
-int rc;
-if (rotate_count>=0) rc = rotate_count % val_ptr->n_elements;
-else rc = val_ptr->n_elements - ((-rotate_count) % val_ptr->n_elements);
-if (rc == 0) return *this;
-Integer__array ret_val;
-ret_val.set_size(val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[(i+rc)%val_ptr->n_elements] =new Integers(*val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-Integer__array Integer__array::operator+(const Integer__array& other_value) const
-{
-if (val_ptr == NULL || other_value.val_ptr == NULL) TTCN_error("Unbound operand of @General_Types.Integer_array concatenation.");
-if (val_ptr->n_elements == 0) return other_value;
-if (other_value.val_ptr->n_elements == 0) return *this;
-Integer__array ret_val;
-ret_val.set_size(val_ptr->n_elements+other_value.val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Integers(*val_ptr->value_elements[i]);
-}
-}
-for (int i=0; i<other_value.val_ptr->n_elements; i++) {
-if (other_value.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+val_ptr->n_elements] = new Integers(*other_value.val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-Integer__array Integer__array::substr(int index, int returncount) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of substr() is an unbound value of type @General_Types.Integer_array.");
-check_substr_arguments(val_ptr->n_elements, index, returncount, "@General_Types.Integer_array","element");
-Integer__array ret_val;
-ret_val.set_size(returncount);
-for (int i=0; i<returncount; i++) {
-if (val_ptr->value_elements[i+index] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Integers(*val_ptr->value_elements[i+index]);
-}
-}
-return ret_val;
-}
-
-Integer__array Integer__array::replace(int index, int len, const Integer__array& repl) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of replace() is an unbound value of type @General_Types.Integer_array.");
-if (repl.val_ptr == NULL) TTCN_error("The fourth argument of replace() is an unbound value of type @General_Types.Integer_array.");
-check_replace_arguments(val_ptr->n_elements, index, len, "@General_Types.Integer_array","element");
-Integer__array ret_val;
-ret_val.set_size(val_ptr->n_elements + repl.val_ptr->n_elements - len);
-for (int i = 0; i < index; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Integers(*val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < repl.val_ptr->n_elements; i++) {
-if (repl.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+index] = new Integers(*repl.val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < val_ptr->n_elements - index - len; i++) {
-if (val_ptr->value_elements[index+i+len] != NULL) {
-ret_val.val_ptr->value_elements[index+i+repl.val_ptr->n_elements] = new Integers(*val_ptr->value_elements[index+i+len]);
-}
-}
-return ret_val;
-}
-
-Integer__array Integer__array::replace(int index, int len, const Integer__array_template& repl) const
-{
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return replace(index, len, repl.valueof());
-}
-
-void Integer__array::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a value of type @General_Types.Integer_array.");
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (new_size < val_ptr->n_elements) ? new_size : val_ptr->n_elements;
-new_val_ptr->value_elements = (Integers**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < new_val_ptr->n_elements; elem_count++) {
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new Integers(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (new_size > val_ptr->n_elements) {
-val_ptr->value_elements = (Integers**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-#ifdef TITAN_MEMORY_DEBUG_SET_RECORD_OF
-if((val_ptr->n_elements/1000)!=(new_size/1000)) TTCN_warning("New size of type @General_Types.Integer_array: %d",new_size);
-#endif
-val_ptr->n_elements = new_size;
-} else if (new_size < val_ptr->n_elements) {
-for (int elem_count = new_size; elem_count < val_ptr->n_elements; elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)delete val_ptr->value_elements[elem_count];
-val_ptr->value_elements = (Integers**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-val_ptr->n_elements = new_size;
-}
-}
-
-boolean Integer__array::is_value() const
-{
-if (val_ptr == NULL) return FALSE;
-for(int i = 0; i < val_ptr->n_elements; ++i) {
-if (val_ptr->value_elements[i] == NULL || !val_ptr->value_elements[i]->is_value()) return FALSE;
-}
-return TRUE;
-}
-
-int Integer__array::size_of() const
-{
-if (val_ptr == NULL) TTCN_error("Performing sizeof operation on an unbound value of type @General_Types.Integer_array.");
-return val_ptr->n_elements;
-}
-
-int Integer__array::lengthof() const
-{
-if (val_ptr == NULL) TTCN_error("Performing lengthof operation on an unbound value of type @General_Types.Integer_array.");
-for (int my_length=val_ptr->n_elements; my_length>0; my_length--) if (val_ptr->value_elements[my_length-1] != NULL) return my_length;
-return 0;
-}
-
-void Integer__array::log() const
-{
-if (val_ptr == NULL) {;
-TTCN_Logger::log_event_unbound();
-return;
-}
-switch (val_ptr->n_elements) {
-case 0:
-TTCN_Logger::log_event_str("{ }");
-break;
-default:
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-(*this)[elem_count].log();
-}
-TTCN_Logger::log_event_str(" }");
-}
-}
-
-void Integer__array::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE|Module_Param::BC_LIST, "record of value");
- switch (param.get_operation_type()) {
- case Module_Param::OT_ASSIGN:
- if (param.get_type()==Module_Param::MP_Value_List && param.get_size()==0) {
- *this = NULL_VALUE;
- return;
- }
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- set_size(param.get_size());
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if (curr->get_type()!=Module_Param::MP_NotUsed) {
- (*this)[i].set_param(*curr);
- if (!(*this)[i].is_bound()) {
- delete val_ptr->value_elements[i];
- val_ptr->value_elements[i] = NULL;
- }
- }
- }
- break;
- case Module_Param::MP_Indexed_List:
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- (*this)[curr->get_id()->get_index()].set_param(*curr);
- if (!(*this)[curr->get_id()->get_index()].is_bound()) {
- delete val_ptr->value_elements[curr->get_id()->get_index()];
- val_ptr->value_elements[curr->get_id()->get_index()] = NULL;
- }
- }
- break;
- default:
- param.type_error("record of value", "@General_Types.Integer_array");
- }
- break;
- case Module_Param::OT_CONCAT:
- switch (param.get_type()) {
- case Module_Param::MP_Value_List: {
- if (!is_bound()) *this = NULL_VALUE;
- int start_idx = lengthof();
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if ((curr->get_type()!=Module_Param::MP_NotUsed)) {
- (*this)[start_idx+(int)i].set_param(*curr);
- }
- }
- } break;
- case Module_Param::MP_Indexed_List:
- param.error("Cannot concatenate an indexed value list");
- break;
- default:
- param.type_error("record of value", "@General_Types.Integer_array");
- }
- break;
- default:
- TTCN_error("Internal error: Unknown operation type.");
- }
-}
-
-void Integer__array::set_implicit_omit()
-{
-if (val_ptr == NULL) return;
-for (int i = 0; i < val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) val_ptr->value_elements[i]->set_implicit_omit();
-}
-}
-
-void Integer__array::encode_text(Text_Buf& text_buf) const
-{
-if (val_ptr == NULL) TTCN_error("Text encoder: Encoding an unbound value of type @General_Types.Integer_array.");
-text_buf.push_int(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++)
-(*this)[elem_count].encode_text(text_buf);
-}
-
-void Integer__array::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = text_buf.pull_int().get_val();
-if (val_ptr->n_elements < 0) TTCN_error("Text decoder: Negative size was received for a value of type @General_Types.Integer_array.");
-val_ptr->value_elements = (Integers**)allocate_pointers(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-val_ptr->value_elements[elem_count] = new Integers;
-val_ptr->value_elements[elem_count]->decode_text(text_buf);
-}
-}
-
-void Integer__array::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void Integer__array::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int Integer__array::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean /*no_err*/, int sel_field, boolean first_call, const RAW_Force_Omit*){
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- int decoded_length=0;
- int decoded_field_length=0;
- size_t start_of_field=0;
- if(first_call) {
- clean_up();
- val_ptr=new recordof_setof_struct;
- val_ptr->ref_count=1;
- val_ptr->n_elements=0;
- val_ptr->value_elements=NULL;
- }
- int start_field=val_ptr->n_elements;
- if(p_td.raw->fieldlength || sel_field!=-1){
- int a=0;
- if(sel_field==-1) sel_field=p_td.raw->fieldlength;
- for(a=0;a<sel_field;a++){
- decoded_field_length=(*this)[a+start_field].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- }
- if(a==0) val_ptr->n_elements=0;
- } else {
- if(limit==0){
- if(!first_call) return -1;
- val_ptr->n_elements=0;
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- }
- int a=start_field;
- while(limit>0){
- start_of_field=p_buf.get_pos_bit();
- decoded_field_length=(*this)[a].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0){
- delete &(*this)[a];
- val_ptr->n_elements--;
- p_buf.set_pos_bit(start_of_field);
- if(a>start_field){
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- } else return -1;
- }
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- a++;
- }
- }
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
-}
-
-int Integer__array::RAW_encode(const TTCN_Typedescriptor_t& p_td,RAW_enc_tree& myleaf) const{
- int encoded_length=0;
- int encoded_num_of_records=p_td.raw->fieldlength?smaller(val_ptr->n_elements, p_td.raw->fieldlength):val_ptr->n_elements;
- myleaf.isleaf=FALSE;
- myleaf.rec_of=TRUE;
- myleaf.body.node.num_of_nodes=encoded_num_of_records;
- myleaf.body.node.nodes=init_nodes_of_enc_tree(encoded_num_of_records);
- for(int a=0;a<encoded_num_of_records;a++){
- myleaf.body.node.nodes[a]=new RAW_enc_tree(TRUE,&myleaf,&(myleaf.curr_pos),a,p_td.oftype_descr->raw);
- encoded_length+=(*this)[a].RAW_encode(*p_td.oftype_descr,*myleaf.body.node.nodes[a]);
- }
- return myleaf.length=encoded_length;
-}
-
-void Integer__array_template::copy_value(const Integer__array& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Initialization of a template of type @General_Types.Integer_array with an unbound value.");
-single_value.n_elements = other_value.size_of();
-single_value.value_elements = (Integers_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (other_value[elem_count].is_bound()) {
-single_value.value_elements[elem_count] = new Integers_template(other_value[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new Integers_template;
-}
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void Integer__array_template::copy_template(const Integer__array_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = other_value.single_value.n_elements;
-single_value.value_elements = (Integers_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (UNINITIALIZED_TEMPLATE != other_value.single_value.value_elements[elem_count]->get_selection()) {
-single_value.value_elements[elem_count] = new Integers_template(*other_value.single_value.value_elements[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new Integers_template;
-}
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new Integer__array_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @General_Types.Integer_array.");
-break;
-}
-set_selection(other_value);
-}
-
-boolean Integer__array_template::match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy)
-{
-if (value_index >= 0) return ((const Integer__array_template*)template_ptr)->single_value.value_elements[template_index]->match((*(const Integer__array*)value_ptr)[value_index], legacy);
-else return ((const Integer__array_template*)template_ptr)->single_value.value_elements[template_index]->is_any_or_omit();
-}
-
-Integer__array_template::Integer__array_template()
-{
-}
-
-Integer__array_template::Integer__array_template(template_sel other_value)
- : Record_Of_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-Integer__array_template::Integer__array_template(null_type)
- : Record_Of_Template(SPECIFIC_VALUE)
-{
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-
-Integer__array_template::Integer__array_template(const Integer__array& other_value)
-{
-copy_value(other_value);
-}
-
-Integer__array_template::Integer__array_template(const OPTIONAL<Integer__array>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const Integer__array&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @General_Types.Integer_array from an unbound optional field.");
-}
-}
-
-Integer__array_template::Integer__array_template(const Integer__array_template& other_value)
- : Record_Of_Template()
-{
-copy_template(other_value);
-}
-
-Integer__array_template::~Integer__array_template()
-{
-clean_up();
-}
-
-void Integer__array_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-free_pointers((void**)single_value.value_elements);
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-Integer__array_template& Integer__array_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-Integer__array_template& Integer__array_template::operator=(null_type)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-return *this;
-}
-
-Integer__array_template& Integer__array_template::operator=(const Integer__array& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-Integer__array_template& Integer__array_template::operator=(const OPTIONAL<Integer__array>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const Integer__array&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @General_Types.Integer_array.");
-}
-return *this;
-}
-
-Integer__array_template& Integer__array_template::operator=(const Integer__array_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-Integers_template& Integer__array_template::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.Integer_array using a negative index: %d.", index_value);
-switch (template_selection)
-{
- case SPECIFIC_VALUE:
- if(index_value < single_value.n_elements) break;
- // no break
- case OMIT_VALUE:
- case ANY_VALUE:
- case ANY_OR_OMIT:
- case UNINITIALIZED_TEMPLATE:
- set_size(index_value + 1);
- break;
- default:
- TTCN_error("Accessing an element of a non-specific template for type @General_Types.Integer_array.");
- break;
-}
-return *single_value.value_elements[index_value];
-}
-
-Integers_template& Integer__array_template::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.Integer_array.");
-return (*this)[(int)index_value];
-}
-
-const Integers_template& Integer__array_template::operator[](int index_value) const
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.Integer_array using a negative index: %d.", index_value);
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing an element of a non-specific template for type @General_Types.Integer_array.");
-if (index_value >= single_value.n_elements) TTCN_error("Index overflow in a template of type @General_Types.Integer_array: The index is %d, but the template has only %d elements.", index_value, single_value.n_elements);
-return *single_value.value_elements[index_value];
-}
-
-const Integers_template& Integer__array_template::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.Integer_array.");
-return (*this)[(int)index_value];
-}
-
-void Integer__array_template::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a template of type @General_Types.Integer_array.");
-template_sel old_selection = template_selection;
-if (old_selection != SPECIFIC_VALUE) {
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-if (new_size > single_value.n_elements) {
-single_value.value_elements = (Integers_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new Integers_template(ANY_VALUE);
-} else {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new Integers_template;
-}
-single_value.n_elements = new_size;
-} else if (new_size < single_value.n_elements) {
-for (int elem_count = new_size; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-single_value.value_elements = (Integers_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-single_value.n_elements = new_size;
-}
-}
-
-int Integer__array_template::n_elem() const
-{
- switch (template_selection) {
- case SPECIFIC_VALUE:
- return single_value.n_elements;
- break;
- case VALUE_LIST:
- return value_list.n_values;
- break;
- default:
- TTCN_error("Performing n_elem");
- }
-}
-
-int Integer__array_template::size_of(boolean is_size) const
-{
-const char* op_name = is_size ? "size" : "length";
-int min_size;
-boolean has_any_or_none;
-if (is_ifpresent) TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array which has an ifpresent attribute.", op_name);
-switch (template_selection)
-{
-case SPECIFIC_VALUE: {
- min_size = 0;
- has_any_or_none = FALSE;
- int elem_count = single_value.n_elements;
- if (!is_size) { while (elem_count>0 && !single_value.value_elements[elem_count-1]->is_bound()) elem_count--; }
- for (int i=0; i<elem_count; i++) {
- switch (single_value.value_elements[i]->get_selection()) {
- case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array containing omit element.", op_name);
- case ANY_OR_OMIT:
- has_any_or_none = TRUE;
- break;
- default:
- min_size++;
- break;
- }
- }
-} break;
-case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array containing omit value.", op_name);
-case ANY_VALUE:
-case ANY_OR_OMIT:
- min_size = 0;
- has_any_or_none = TRUE;
- break;
-case VALUE_LIST:
-{
- if (value_list.n_values<1)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array containing an empty list.", op_name);
- int item_size = value_list.list_value[0].size_of(is_size);
- for (unsigned int i = 1; i < value_list.n_values; i++) {
- if (value_list.list_value[i].size_of(is_size)!=item_size)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array containing a value list with different sizes.", op_name);
- }
- min_size = item_size;
- has_any_or_none = FALSE;
- break;
-}
-case COMPLEMENTED_LIST:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.Integer_array containing complemented list.", op_name);
-default:
- TTCN_error("Performing %sof() operation on an uninitialized/unsupported template of type @General_Types.Integer_array.", op_name);
-}
-return check_section_is_single(min_size, has_any_or_none, op_name, "a", "template of type @General_Types.Integer_array");
-}
-
-boolean Integer__array_template::match(const Integer__array& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-int value_length = other_value.size_of();
-if (!match_length(value_length)) return FALSE;
-switch (template_selection) {
-case SPECIFIC_VALUE:
-return match_record_of(&other_value, value_length, this, single_value.n_elements, match_function_specific, legacy);
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching with an uninitialized/unsupported template of type @General_Types.Integer_array.");
-}
-return FALSE;
-}
-
-boolean Integer__array_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (!single_value.value_elements[elem_count]->is_value()) return FALSE;
-return TRUE;
-}
-
-Integer__array Integer__array_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of type @General_Types.Integer_array.");
-Integer__array ret_val;
-ret_val.set_size(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (single_value.value_elements[elem_count]->is_bound()) {
-ret_val[elem_count] = single_value.value_elements[elem_count]->valueof();
-}
-return ret_val;
-}
-
-Integer__array Integer__array_template::substr(int index, int returncount) const
-{
-if (!is_value()) TTCN_error("The first argument of function substr() is a template with non-specific value.");
-return valueof().substr(index, returncount);
-}
-
-Integer__array Integer__array_template::replace(int index, int len, const Integer__array_template& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl.valueof());
-}
-
-Integer__array Integer__array_template::replace(int index, int len, const Integer__array& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl);
-}
-
-void Integer__array_template::set_type(template_sel template_type, unsigned int list_length)
-{
-clean_up();
-switch (template_type) {
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = list_length;
-value_list.list_value = new Integer__array_template[list_length];
-break;
-default:
-TTCN_error("Internal error: Setting an invalid type for a template of type @General_Types.Integer_array.");
-}
-set_selection(template_type);
-}
-
-Integer__array_template& Integer__array_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of type @General_Types.Integer_array.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @General_Types.Integer_array.");
-return value_list.list_value[list_index];
-}
-
-void Integer__array_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.n_elements > 0) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-if (permutation_starts_at(elem_count)) TTCN_Logger::log_event_str("permutation(");
-single_value.value_elements[elem_count]->log();
-if (permutation_ends_at(elem_count)) TTCN_Logger::log_char(')');
-}
-TTCN_Logger::log_event_str(" }");
-} else TTCN_Logger::log_event_str("{ }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_restricted();
-log_ifpresent();
-}
-
-void Integer__array_template::log_match(const Integer__array& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-}else{
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if(!single_value.value_elements[elem_count]->match(match_value[elem_count], legacy)){
-TTCN_Logger::log_logmatch_info("[%d]", elem_count);
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-log_match_length(single_value.n_elements);
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-}
-TTCN_Logger::log_event_str(" }");
-log_match_length(single_value.n_elements);
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void Integer__array_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-text_buf.push_int(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-single_value.value_elements[elem_count]->encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @General_Types.Integer_array.");
-}
-}
-
-void Integer__array_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = text_buf.pull_int().get_val();
-if (single_value.n_elements < 0) TTCN_error("Text decoder: Negative size was received for a template of type @General_Types.Integer_array.");
-single_value.value_elements = (Integers_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-single_value.value_elements[elem_count] = new Integers_template;
-single_value.value_elements[elem_count]->decode_text(text_buf);
-}
-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 Integer__array_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of type @General_Types.Integer_array.");
-}
-}
-
-boolean Integer__array_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean Integer__array_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void Integer__array_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE|Module_Param::BC_LIST, "record of template");
- switch (param.get_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: {
- Integer__array_template temp;
- temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = temp;
- break; }
- case Module_Param::MP_Indexed_List:
- if (template_selection!=SPECIFIC_VALUE) set_size(0);
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- (*this)[(int)(param.get_elem(p_i)->get_id()->get_index())].set_param(*param.get_elem(p_i));
- }
- break;
- case Module_Param::MP_Value_List: {
- set_size(param.get_size());
- int curr_idx = 0;
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- switch (param.get_elem(p_i)->get_type()) {
- case Module_Param::MP_NotUsed:
- curr_idx++;
- break;
- case Module_Param::MP_Permutation_Template: {
- int perm_start_idx = curr_idx;
- Module_Param* param_i = param.get_elem(p_i);
- for (size_t perm_i=0; perm_i<param_i->get_size(); perm_i++) {
- (*this)[curr_idx].set_param(*(param_i->get_elem(perm_i)));
- curr_idx++;
- }
- int perm_end_idx = curr_idx - 1;
- add_permutation(perm_start_idx, perm_end_idx);
- } break;
- default:
- (*this)[curr_idx].set_param(*param.get_elem(p_i));
- curr_idx++;
- }
- }
- } break;
- default:
- param.type_error("record of template", "@General_Types.Integer_array");
- }
- is_ifpresent = param.get_ifpresent();
- set_length_range(param);
-}
-
-void Integer__array_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-for (int i=0; i<single_value.n_elements; i++) single_value.value_elements[i]->check_restriction(t_res, t_name ? t_name : "@General_Types.Integer_array");
-return;
-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 : "@General_Types.Integer_array");
-}
-
-boolean Integer__array_template::get_istemplate_kind(const char* type) const {
-if (!strcmp(type, "AnyElement")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_VALUE) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "AnyElementsOrNone")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_OR_OMIT) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "permutation")) {
- return number_of_permutations;
-} else if (!strcmp(type, "length")) {
- return length_restriction_type != NO_LENGTH_RESTRICTION;
-} else {
- return Base_Template::get_istemplate_kind(type);
-}
-}
-Protocols::Protocols()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-Protocols::Protocols(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @General_Types.Protocols with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-Protocols::Protocols(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-Protocols::Protocols(const Protocols& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @General_Types.Protocols.");
-enum_value = other_value.enum_value;
-}
-
-Protocols& Protocols::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @General_Types.Protocols.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-Protocols& Protocols::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-Protocols& Protocols::operator=(const Protocols& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @General_Types.Protocols.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean Protocols::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 @General_Types.Protocols.");
-return enum_value == other_value;
-}
-
-boolean Protocols::operator==(const Protocols& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-return enum_value == other_value.enum_value;
-}
-
-boolean Protocols::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 @General_Types.Protocols.");
-return enum_value < other_value;
-}
-
-boolean Protocols::operator<(const Protocols& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-return enum_value < other_value.enum_value;
-}
-
-boolean Protocols::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 @General_Types.Protocols.");
-return enum_value > other_value;
-}
-
-boolean Protocols::operator>(const Protocols& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @General_Types.Protocols.");
-return enum_value > other_value.enum_value;
-}
-
-const char *Protocols::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case mtp3: return "mtp3";
-case sccp: return "sccp";
-case isup: return "isup";
-case bicc: return "bicc";
-case qaal2: return "qaal2";
-case gcp: return "gcp";
-case bssap: return "bssap";
-case bssmap: return "bssmap";
-case ranap: return "ranap";
-case dtap: return "dtap";
-default: return "<unknown>";
-}
-}
-
-Protocols::enum_type Protocols::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "mtp3")) return mtp3;
-else if (!strcmp(str_par, "sccp")) return sccp;
-else if (!strcmp(str_par, "isup")) return isup;
-else if (!strcmp(str_par, "bicc")) return bicc;
-else if (!strcmp(str_par, "qaal2")) return qaal2;
-else if (!strcmp(str_par, "gcp")) return gcp;
-else if (!strcmp(str_par, "bssap")) return bssap;
-else if (!strcmp(str_par, "bssmap")) return bssmap;
-else if (!strcmp(str_par, "ranap")) return ranap;
-else if (!strcmp(str_par, "dtap")) return dtap;
-else return UNKNOWN_VALUE;
-}
-
-boolean Protocols::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 6:
-case 7:
-case 8:
-case 9:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int Protocols::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 @General_Types.Protocols.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int Protocols::enum2int(const Protocols& 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 @General_Types.Protocols.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void Protocols::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @General_Types.Protocols.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-Protocols::operator Protocols::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @General_Types.Protocols.");
-return enum_value;
-}
-
-void Protocols::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 Protocols::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", "@General_Types.Protocols");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @General_Types.Protocols.");
- }
-}
-
-void Protocols::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @General_Types.Protocols.");
-text_buf.push_int(enum_value);
-}
-
-void Protocols::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 @General_Types.Protocols.", enum_value);
-}
-
-void Protocols::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void Protocols::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int Protocols::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int Protocols::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void Protocols_template::copy_template(const Protocols_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new Protocols_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @General_Types.Protocols.");
-}
-}
-
-Protocols_template::Protocols_template()
-{
-}
-
-Protocols_template::Protocols_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-Protocols_template::Protocols_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!Protocols::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @General_Types.Protocols with unknown numeric value %d.", other_value);
-single_value = (Protocols::enum_type)other_value;
-}
-
-Protocols_template::Protocols_template(Protocols::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-Protocols_template::Protocols_template(const Protocols& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == Protocols::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @General_Types.Protocols.");
-single_value = other_value.enum_value;
-}
-
-Protocols_template::Protocols_template(const OPTIONAL<Protocols>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (Protocols::enum_type)(const Protocols&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @General_Types.Protocols from an unbound optional field.");
-}
-}
-
-Protocols_template::Protocols_template(const Protocols_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-Protocols_template::~Protocols_template()
-{
-clean_up();
-}
-
-boolean Protocols_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean Protocols_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != Protocols::UNBOUND_VALUE;
-}
-
-void Protocols_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-Protocols_template& Protocols_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-Protocols_template& Protocols_template::operator=(int other_value)
-{
-if (!Protocols::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @General_Types.Protocols.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (Protocols::enum_type)other_value;
-return *this;
-}
-
-Protocols_template& Protocols_template::operator=(Protocols::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-Protocols_template& Protocols_template::operator=(const Protocols& other_value)
-{
-if (other_value.enum_value == Protocols::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @General_Types.Protocols to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-Protocols_template& Protocols_template::operator=(const OPTIONAL<Protocols>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (Protocols::enum_type)(const Protocols&)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 @General_Types.Protocols.");
-}
-return *this;
-}
-
-Protocols_template& Protocols_template::operator=(const Protocols_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean Protocols_template::match(Protocols::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @General_Types.Protocols.");
-}
-return FALSE;
-}
-
-boolean Protocols_template::match(const Protocols& other_value, boolean) const
-{
-if (other_value.enum_value == Protocols::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @General_Types.Protocols with an unbound value.");
-return match(other_value.enum_value);
-}
-
-Protocols::enum_type Protocols_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 @General_Types.Protocols.");
-return single_value;
-}
-
-void Protocols_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @General_Types.Protocols.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new Protocols_template[list_length];
-}
-
-Protocols_template& Protocols_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @General_Types.Protocols.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @General_Types.Protocols.");
-return value_list.list_value[list_index];
-}
-
-void Protocols_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(Protocols::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void Protocols_template::log_match(const Protocols& 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 Protocols_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 @General_Types.Protocols.");
-}
-}
-
-void Protocols_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (Protocols::enum_type)text_buf.pull_int().get_val();
-if (!Protocols::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @General_Types.Protocols.", 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 Protocols_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 @General_Types.Protocols.");
-}
-}
-
-boolean Protocols_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean Protocols_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void Protocols_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- Protocols_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- Protocols::enum_type enum_val = Protocols::str_to_enum(m_p->get_enumerated());
- if (!Protocols::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @General_Types.Protocols.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@General_Types.Protocols");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void Protocols_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 : "@General_Types.Protocols");
-}
-
-
-const COMPONENT ListOfDummy__comptype::UNBOUND_ELEM;
-ListOfDummy__comptype::ListOfDummy__comptype()
-{
-val_ptr = NULL;
-}
-
-ListOfDummy__comptype::ListOfDummy__comptype(null_type)
-{
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-}
-
-ListOfDummy__comptype::ListOfDummy__comptype(const ListOfDummy__comptype& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Copying an unbound value of type @General_Types.ListOfDummy_comptype.");
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-
-ListOfDummy__comptype::~ListOfDummy__comptype()
-{
-clean_up();
-if (val_ptr != NULL) val_ptr = NULL;
-}
-
-void ListOfDummy__comptype::clean_up()
-{
-if (val_ptr != NULL) {
-if (val_ptr->ref_count > 1) {
-val_ptr->ref_count--;
-val_ptr = NULL;
-}
-else if (val_ptr->ref_count == 1) {
-for (int elem_count = 0; elem_count < val_ptr->n_elements;
-elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)
-delete val_ptr->value_elements[elem_count];
-free_pointers((void**)val_ptr->value_elements);
-delete val_ptr;
-val_ptr = NULL;
-}
-else
-TTCN_error("Internal error: Invalid reference counter in a record of/set of value.");
-}
-}
-
-ListOfDummy__comptype& ListOfDummy__comptype::operator=(null_type)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-return *this;
-}
-
-ListOfDummy__comptype& ListOfDummy__comptype::operator=(const ListOfDummy__comptype& other_value)
-{
-if (other_value.val_ptr == NULL) TTCN_error("Assigning an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (this != &other_value) {
-clean_up();
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-return *this;
-}
-
-boolean ListOfDummy__comptype::operator==(null_type) const
-{
-if (val_ptr == NULL)
-TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ListOfDummy_comptype.");
-return val_ptr->n_elements == 0 ;
-}
-
-boolean ListOfDummy__comptype::operator==(const ListOfDummy__comptype& other_value) const
-{
-if (val_ptr == NULL) TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (other_value.val_ptr == NULL) TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (val_ptr == other_value.val_ptr) return TRUE;
-if (val_ptr->n_elements != (other_value.val_ptr)->n_elements)
-return FALSE;
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL){
- if (*val_ptr->value_elements[elem_count] != *(other_value.val_ptr)->value_elements[elem_count]) return FALSE;
-} else return FALSE;
-} else {
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL) return FALSE;
-}
-}
-return TRUE;
-}
-
-COMPONENT& ListOfDummy__comptype::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ListOfDummy_comptype using a negative index: %d.", index_value);
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (index_value >= val_ptr->n_elements) ? index_value + 1 : val_ptr->n_elements;
-new_val_ptr->value_elements = (COMPONENT**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new COMPONENT(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (index_value >= val_ptr->n_elements) set_size(index_value + 1);
-if (val_ptr->value_elements[index_value] == NULL) {
-val_ptr->value_elements[index_value] = new COMPONENT;
-}
-return *val_ptr->value_elements[index_value];
-}
-
-COMPONENT& ListOfDummy__comptype::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ListOfDummy_comptype.");
-return (*this)[(int)index_value];
-}
-
-const COMPONENT& ListOfDummy__comptype::operator[](int index_value) const
-{
-if (val_ptr == NULL)
-TTCN_error("Accessing an element in an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ListOfDummy_comptype using a negative index: %d.", index_value);
-if (index_value >= val_ptr->n_elements) TTCN_error("Index overflow in a value of type @General_Types.ListOfDummy_comptype: The index is %d, but the value has only %d elements.", index_value, val_ptr->n_elements);
-return (val_ptr->value_elements[index_value] == NULL) ?
-UNBOUND_ELEM : *val_ptr->value_elements[index_value];
-}
-
-const COMPONENT& ListOfDummy__comptype::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ListOfDummy_comptype.");
-return (*this)[(int)index_value];
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::operator<<=(int rotate_count) const
-{
-return *this >>= (-rotate_count);
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::operator<<=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate left operator.");
-return *this >>= (int)(-rotate_count);
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::operator>>=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate right operator.");
-return *this >>= (int)rotate_count;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::operator>>=(int rotate_count) const
-{
-if (val_ptr == NULL) TTCN_error("Performing rotation operation on an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (val_ptr->n_elements == 0) return *this;
-int rc;
-if (rotate_count>=0) rc = rotate_count % val_ptr->n_elements;
-else rc = val_ptr->n_elements - ((-rotate_count) % val_ptr->n_elements);
-if (rc == 0) return *this;
-ListOfDummy__comptype ret_val;
-ret_val.set_size(val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[(i+rc)%val_ptr->n_elements] =new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::operator+(const ListOfDummy__comptype& other_value) const
-{
-if (val_ptr == NULL || other_value.val_ptr == NULL) TTCN_error("Unbound operand of @General_Types.ListOfDummy_comptype concatenation.");
-if (val_ptr->n_elements == 0) return other_value;
-if (other_value.val_ptr->n_elements == 0) return *this;
-ListOfDummy__comptype ret_val;
-ret_val.set_size(val_ptr->n_elements+other_value.val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-for (int i=0; i<other_value.val_ptr->n_elements; i++) {
-if (other_value.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+val_ptr->n_elements] = new COMPONENT(*other_value.val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::substr(int index, int returncount) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of substr() is an unbound value of type @General_Types.ListOfDummy_comptype.");
-check_substr_arguments(val_ptr->n_elements, index, returncount, "@General_Types.ListOfDummy_comptype","element");
-ListOfDummy__comptype ret_val;
-ret_val.set_size(returncount);
-for (int i=0; i<returncount; i++) {
-if (val_ptr->value_elements[i+index] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i+index]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::replace(int index, int len, const ListOfDummy__comptype& repl) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of replace() is an unbound value of type @General_Types.ListOfDummy_comptype.");
-if (repl.val_ptr == NULL) TTCN_error("The fourth argument of replace() is an unbound value of type @General_Types.ListOfDummy_comptype.");
-check_replace_arguments(val_ptr->n_elements, index, len, "@General_Types.ListOfDummy_comptype","element");
-ListOfDummy__comptype ret_val;
-ret_val.set_size(val_ptr->n_elements + repl.val_ptr->n_elements - len);
-for (int i = 0; i < index; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < repl.val_ptr->n_elements; i++) {
-if (repl.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+index] = new COMPONENT(*repl.val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < val_ptr->n_elements - index - len; i++) {
-if (val_ptr->value_elements[index+i+len] != NULL) {
-ret_val.val_ptr->value_elements[index+i+repl.val_ptr->n_elements] = new COMPONENT(*val_ptr->value_elements[index+i+len]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype::replace(int index, int len, const ListOfDummy__comptype_template& repl) const
-{
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return replace(index, len, repl.valueof());
-}
-
-void ListOfDummy__comptype::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a value of type @General_Types.ListOfDummy_comptype.");
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (new_size < val_ptr->n_elements) ? new_size : val_ptr->n_elements;
-new_val_ptr->value_elements = (COMPONENT**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < new_val_ptr->n_elements; elem_count++) {
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new COMPONENT(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (new_size > val_ptr->n_elements) {
-val_ptr->value_elements = (COMPONENT**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-#ifdef TITAN_MEMORY_DEBUG_SET_RECORD_OF
-if((val_ptr->n_elements/1000)!=(new_size/1000)) TTCN_warning("New size of type @General_Types.ListOfDummy_comptype: %d",new_size);
-#endif
-val_ptr->n_elements = new_size;
-} else if (new_size < val_ptr->n_elements) {
-for (int elem_count = new_size; elem_count < val_ptr->n_elements; elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)delete val_ptr->value_elements[elem_count];
-val_ptr->value_elements = (COMPONENT**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-val_ptr->n_elements = new_size;
-}
-}
-
-boolean ListOfDummy__comptype::is_value() const
-{
-if (val_ptr == NULL) return FALSE;
-for(int i = 0; i < val_ptr->n_elements; ++i) {
-if (val_ptr->value_elements[i] == NULL || !val_ptr->value_elements[i]->is_value()) return FALSE;
-}
-return TRUE;
-}
-
-int ListOfDummy__comptype::size_of() const
-{
-if (val_ptr == NULL) TTCN_error("Performing sizeof operation on an unbound value of type @General_Types.ListOfDummy_comptype.");
-return val_ptr->n_elements;
-}
-
-int ListOfDummy__comptype::lengthof() const
-{
-if (val_ptr == NULL) TTCN_error("Performing lengthof operation on an unbound value of type @General_Types.ListOfDummy_comptype.");
-for (int my_length=val_ptr->n_elements; my_length>0; my_length--) if (val_ptr->value_elements[my_length-1] != NULL) return my_length;
-return 0;
-}
-
-void ListOfDummy__comptype::log() const
-{
-if (val_ptr == NULL) {;
-TTCN_Logger::log_event_unbound();
-return;
-}
-switch (val_ptr->n_elements) {
-case 0:
-TTCN_Logger::log_event_str("{ }");
-break;
-default:
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-(*this)[elem_count].log();
-}
-TTCN_Logger::log_event_str(" }");
-}
-}
-
-void ListOfDummy__comptype::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE|Module_Param::BC_LIST, "record of value");
- switch (param.get_operation_type()) {
- case Module_Param::OT_ASSIGN:
- if (param.get_type()==Module_Param::MP_Value_List && param.get_size()==0) {
- *this = NULL_VALUE;
- return;
- }
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- set_size(param.get_size());
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if (curr->get_type()!=Module_Param::MP_NotUsed) {
- (*this)[i].set_param(*curr);
- if (!(*this)[i].is_bound()) {
- delete val_ptr->value_elements[i];
- val_ptr->value_elements[i] = NULL;
- }
- }
- }
- break;
- case Module_Param::MP_Indexed_List:
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- (*this)[curr->get_id()->get_index()].set_param(*curr);
- if (!(*this)[curr->get_id()->get_index()].is_bound()) {
- delete val_ptr->value_elements[curr->get_id()->get_index()];
- val_ptr->value_elements[curr->get_id()->get_index()] = NULL;
- }
- }
- break;
- default:
- param.type_error("record of value", "@General_Types.ListOfDummy_comptype");
- }
- break;
- case Module_Param::OT_CONCAT:
- switch (param.get_type()) {
- case Module_Param::MP_Value_List: {
- if (!is_bound()) *this = NULL_VALUE;
- int start_idx = lengthof();
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if ((curr->get_type()!=Module_Param::MP_NotUsed)) {
- (*this)[start_idx+(int)i].set_param(*curr);
- }
- }
- } break;
- case Module_Param::MP_Indexed_List:
- param.error("Cannot concatenate an indexed value list");
- break;
- default:
- param.type_error("record of value", "@General_Types.ListOfDummy_comptype");
- }
- break;
- default:
- TTCN_error("Internal error: Unknown operation type.");
- }
-}
-
-void ListOfDummy__comptype::set_implicit_omit()
-{
-if (val_ptr == NULL) return;
-for (int i = 0; i < val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) val_ptr->value_elements[i]->set_implicit_omit();
-}
-}
-
-void ListOfDummy__comptype::encode_text(Text_Buf& text_buf) const
-{
-if (val_ptr == NULL) TTCN_error("Text encoder: Encoding an unbound value of type @General_Types.ListOfDummy_comptype.");
-text_buf.push_int(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++)
-(*this)[elem_count].encode_text(text_buf);
-}
-
-void ListOfDummy__comptype::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = text_buf.pull_int().get_val();
-if (val_ptr->n_elements < 0) TTCN_error("Text decoder: Negative size was received for a value of type @General_Types.ListOfDummy_comptype.");
-val_ptr->value_elements = (COMPONENT**)allocate_pointers(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-val_ptr->value_elements[elem_count] = new COMPONENT;
-val_ptr->value_elements[elem_count]->decode_text(text_buf);
-}
-}
-
-void ListOfDummy__comptype_template::copy_value(const ListOfDummy__comptype& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Initialization of a template of type @General_Types.ListOfDummy_comptype with an unbound value.");
-single_value.n_elements = other_value.size_of();
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (other_value[elem_count].is_bound()) {
-single_value.value_elements[elem_count] = new COMPONENT_template(other_value[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void ListOfDummy__comptype_template::copy_template(const ListOfDummy__comptype_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = other_value.single_value.n_elements;
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (UNINITIALIZED_TEMPLATE != other_value.single_value.value_elements[elem_count]->get_selection()) {
-single_value.value_elements[elem_count] = new COMPONENT_template(*other_value.single_value.value_elements[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new ListOfDummy__comptype_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @General_Types.ListOfDummy_comptype.");
-break;
-}
-set_selection(other_value);
-}
-
-boolean ListOfDummy__comptype_template::match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy)
-{
-if (value_index >= 0) return ((const ListOfDummy__comptype_template*)template_ptr)->single_value.value_elements[template_index]->match((*(const ListOfDummy__comptype*)value_ptr)[value_index], legacy);
-else return ((const ListOfDummy__comptype_template*)template_ptr)->single_value.value_elements[template_index]->is_any_or_omit();
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template()
-{
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template(template_sel other_value)
- : Record_Of_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template(null_type)
- : Record_Of_Template(SPECIFIC_VALUE)
-{
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template(const ListOfDummy__comptype& other_value)
-{
-copy_value(other_value);
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template(const OPTIONAL<ListOfDummy__comptype>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ListOfDummy__comptype&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @General_Types.ListOfDummy_comptype from an unbound optional field.");
-}
-}
-
-ListOfDummy__comptype_template::ListOfDummy__comptype_template(const ListOfDummy__comptype_template& other_value)
- : Record_Of_Template()
-{
-copy_template(other_value);
-}
-
-ListOfDummy__comptype_template::~ListOfDummy__comptype_template()
-{
-clean_up();
-}
-
-void ListOfDummy__comptype_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-free_pointers((void**)single_value.value_elements);
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::operator=(null_type)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-return *this;
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::operator=(const ListOfDummy__comptype& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::operator=(const OPTIONAL<ListOfDummy__comptype>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ListOfDummy__comptype&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @General_Types.ListOfDummy_comptype.");
-}
-return *this;
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::operator=(const ListOfDummy__comptype_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-COMPONENT_template& ListOfDummy__comptype_template::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ListOfDummy_comptype using a negative index: %d.", index_value);
-switch (template_selection)
-{
- case SPECIFIC_VALUE:
- if(index_value < single_value.n_elements) break;
- // no break
- case OMIT_VALUE:
- case ANY_VALUE:
- case ANY_OR_OMIT:
- case UNINITIALIZED_TEMPLATE:
- set_size(index_value + 1);
- break;
- default:
- TTCN_error("Accessing an element of a non-specific template for type @General_Types.ListOfDummy_comptype.");
- break;
-}
-return *single_value.value_elements[index_value];
-}
-
-COMPONENT_template& ListOfDummy__comptype_template::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ListOfDummy_comptype.");
-return (*this)[(int)index_value];
-}
-
-const COMPONENT_template& ListOfDummy__comptype_template::operator[](int index_value) const
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ListOfDummy_comptype using a negative index: %d.", index_value);
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing an element of a non-specific template for type @General_Types.ListOfDummy_comptype.");
-if (index_value >= single_value.n_elements) TTCN_error("Index overflow in a template of type @General_Types.ListOfDummy_comptype: The index is %d, but the template has only %d elements.", index_value, single_value.n_elements);
-return *single_value.value_elements[index_value];
-}
-
-const COMPONENT_template& ListOfDummy__comptype_template::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ListOfDummy_comptype.");
-return (*this)[(int)index_value];
-}
-
-void ListOfDummy__comptype_template::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a template of type @General_Types.ListOfDummy_comptype.");
-template_sel old_selection = template_selection;
-if (old_selection != SPECIFIC_VALUE) {
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-if (new_size > single_value.n_elements) {
-single_value.value_elements = (COMPONENT_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new COMPONENT_template(ANY_VALUE);
-} else {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-single_value.n_elements = new_size;
-} else if (new_size < single_value.n_elements) {
-for (int elem_count = new_size; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-single_value.value_elements = (COMPONENT_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-single_value.n_elements = new_size;
-}
-}
-
-int ListOfDummy__comptype_template::n_elem() const
-{
- switch (template_selection) {
- case SPECIFIC_VALUE:
- return single_value.n_elements;
- break;
- case VALUE_LIST:
- return value_list.n_values;
- break;
- default:
- TTCN_error("Performing n_elem");
- }
-}
-
-int ListOfDummy__comptype_template::size_of(boolean is_size) const
-{
-const char* op_name = is_size ? "size" : "length";
-int min_size;
-boolean has_any_or_none;
-if (is_ifpresent) TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype which has an ifpresent attribute.", op_name);
-switch (template_selection)
-{
-case SPECIFIC_VALUE: {
- min_size = 0;
- has_any_or_none = FALSE;
- int elem_count = single_value.n_elements;
- if (!is_size) { while (elem_count>0 && !single_value.value_elements[elem_count-1]->is_bound()) elem_count--; }
- for (int i=0; i<elem_count; i++) {
- switch (single_value.value_elements[i]->get_selection()) {
- case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype containing omit element.", op_name);
- case ANY_OR_OMIT:
- has_any_or_none = TRUE;
- break;
- default:
- min_size++;
- break;
- }
- }
-} break;
-case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype containing omit value.", op_name);
-case ANY_VALUE:
-case ANY_OR_OMIT:
- min_size = 0;
- has_any_or_none = TRUE;
- break;
-case VALUE_LIST:
-{
- if (value_list.n_values<1)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype containing an empty list.", op_name);
- int item_size = value_list.list_value[0].size_of(is_size);
- for (unsigned int i = 1; i < value_list.n_values; i++) {
- if (value_list.list_value[i].size_of(is_size)!=item_size)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype containing a value list with different sizes.", op_name);
- }
- min_size = item_size;
- has_any_or_none = FALSE;
- break;
-}
-case COMPLEMENTED_LIST:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_comptype containing complemented list.", op_name);
-default:
- TTCN_error("Performing %sof() operation on an uninitialized/unsupported template of type @General_Types.ListOfDummy_comptype.", op_name);
-}
-return check_section_is_single(min_size, has_any_or_none, op_name, "a", "template of type @General_Types.ListOfDummy_comptype");
-}
-
-boolean ListOfDummy__comptype_template::match(const ListOfDummy__comptype& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-int value_length = other_value.size_of();
-if (!match_length(value_length)) return FALSE;
-switch (template_selection) {
-case SPECIFIC_VALUE:
-return match_record_of(&other_value, value_length, this, single_value.n_elements, match_function_specific, legacy);
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching with an uninitialized/unsupported template of type @General_Types.ListOfDummy_comptype.");
-}
-return FALSE;
-}
-
-boolean ListOfDummy__comptype_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (!single_value.value_elements[elem_count]->is_value()) return FALSE;
-return TRUE;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of type @General_Types.ListOfDummy_comptype.");
-ListOfDummy__comptype ret_val;
-ret_val.set_size(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (single_value.value_elements[elem_count]->is_bound()) {
-ret_val[elem_count] = single_value.value_elements[elem_count]->valueof();
-}
-return ret_val;
-}
-
-ListOfDummy__comptype ListOfDummy__comptype_template::substr(int index, int returncount) const
-{
-if (!is_value()) TTCN_error("The first argument of function substr() is a template with non-specific value.");
-return valueof().substr(index, returncount);
-}
-
-ListOfDummy__comptype ListOfDummy__comptype_template::replace(int index, int len, const ListOfDummy__comptype_template& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl.valueof());
-}
-
-ListOfDummy__comptype ListOfDummy__comptype_template::replace(int index, int len, const ListOfDummy__comptype& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl);
-}
-
-void ListOfDummy__comptype_template::set_type(template_sel template_type, unsigned int list_length)
-{
-clean_up();
-switch (template_type) {
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = list_length;
-value_list.list_value = new ListOfDummy__comptype_template[list_length];
-break;
-default:
-TTCN_error("Internal error: Setting an invalid type for a template of type @General_Types.ListOfDummy_comptype.");
-}
-set_selection(template_type);
-}
-
-ListOfDummy__comptype_template& ListOfDummy__comptype_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of type @General_Types.ListOfDummy_comptype.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @General_Types.ListOfDummy_comptype.");
-return value_list.list_value[list_index];
-}
-
-void ListOfDummy__comptype_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.n_elements > 0) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-if (permutation_starts_at(elem_count)) TTCN_Logger::log_event_str("permutation(");
-single_value.value_elements[elem_count]->log();
-if (permutation_ends_at(elem_count)) TTCN_Logger::log_char(')');
-}
-TTCN_Logger::log_event_str(" }");
-} else TTCN_Logger::log_event_str("{ }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_restricted();
-log_ifpresent();
-}
-
-void ListOfDummy__comptype_template::log_match(const ListOfDummy__comptype& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-}else{
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if(!single_value.value_elements[elem_count]->match(match_value[elem_count], legacy)){
-TTCN_Logger::log_logmatch_info("[%d]", elem_count);
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-log_match_length(single_value.n_elements);
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-}
-TTCN_Logger::log_event_str(" }");
-log_match_length(single_value.n_elements);
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void ListOfDummy__comptype_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-text_buf.push_int(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-single_value.value_elements[elem_count]->encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @General_Types.ListOfDummy_comptype.");
-}
-}
-
-void ListOfDummy__comptype_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = text_buf.pull_int().get_val();
-if (single_value.n_elements < 0) TTCN_error("Text decoder: Negative size was received for a template of type @General_Types.ListOfDummy_comptype.");
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-single_value.value_elements[elem_count]->decode_text(text_buf);
-}
-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 ListOfDummy__comptype_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of type @General_Types.ListOfDummy_comptype.");
-}
-}
-
-boolean ListOfDummy__comptype_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean ListOfDummy__comptype_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void ListOfDummy__comptype_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE|Module_Param::BC_LIST, "record of template");
- switch (param.get_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: {
- ListOfDummy__comptype_template temp;
- temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = temp;
- break; }
- case Module_Param::MP_Indexed_List:
- if (template_selection!=SPECIFIC_VALUE) set_size(0);
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- (*this)[(int)(param.get_elem(p_i)->get_id()->get_index())].set_param(*param.get_elem(p_i));
- }
- break;
- case Module_Param::MP_Value_List: {
- set_size(param.get_size());
- int curr_idx = 0;
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- switch (param.get_elem(p_i)->get_type()) {
- case Module_Param::MP_NotUsed:
- curr_idx++;
- break;
- case Module_Param::MP_Permutation_Template: {
- int perm_start_idx = curr_idx;
- Module_Param* param_i = param.get_elem(p_i);
- for (size_t perm_i=0; perm_i<param_i->get_size(); perm_i++) {
- (*this)[curr_idx].set_param(*(param_i->get_elem(perm_i)));
- curr_idx++;
- }
- int perm_end_idx = curr_idx - 1;
- add_permutation(perm_start_idx, perm_end_idx);
- } break;
- default:
- (*this)[curr_idx].set_param(*param.get_elem(p_i));
- curr_idx++;
- }
- }
- } break;
- default:
- param.type_error("record of template", "@General_Types.ListOfDummy_comptype");
- }
- is_ifpresent = param.get_ifpresent();
- set_length_range(param);
-}
-
-void ListOfDummy__comptype_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-for (int i=0; i<single_value.n_elements; i++) single_value.value_elements[i]->check_restriction(t_res, t_name ? t_name : "@General_Types.ListOfDummy_comptype");
-return;
-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 : "@General_Types.ListOfDummy_comptype");
-}
-
-boolean ListOfDummy__comptype_template::get_istemplate_kind(const char* type) const {
-if (!strcmp(type, "AnyElement")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_VALUE) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "AnyElementsOrNone")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_OR_OMIT) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "permutation")) {
- return number_of_permutations;
-} else if (!strcmp(type, "length")) {
- return length_restriction_type != NO_LENGTH_RESTRICTION;
-} else {
- return Base_Template::get_istemplate_kind(type);
-}
-}
-
-const COMPONENT ListOfDummy__CT::UNBOUND_ELEM;
-ListOfDummy__CT::ListOfDummy__CT()
-{
-val_ptr = NULL;
-}
-
-ListOfDummy__CT::ListOfDummy__CT(null_type)
-{
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-}
-
-ListOfDummy__CT::ListOfDummy__CT(const ListOfDummy__CT& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Copying an unbound value of type @General_Types.ListOfDummy_CT.");
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-
-ListOfDummy__CT::~ListOfDummy__CT()
-{
-clean_up();
-if (val_ptr != NULL) val_ptr = NULL;
-}
-
-void ListOfDummy__CT::clean_up()
-{
-if (val_ptr != NULL) {
-if (val_ptr->ref_count > 1) {
-val_ptr->ref_count--;
-val_ptr = NULL;
-}
-else if (val_ptr->ref_count == 1) {
-for (int elem_count = 0; elem_count < val_ptr->n_elements;
-elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)
-delete val_ptr->value_elements[elem_count];
-free_pointers((void**)val_ptr->value_elements);
-delete val_ptr;
-val_ptr = NULL;
-}
-else
-TTCN_error("Internal error: Invalid reference counter in a record of/set of value.");
-}
-}
-
-ListOfDummy__CT& ListOfDummy__CT::operator=(null_type)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-return *this;
-}
-
-ListOfDummy__CT& ListOfDummy__CT::operator=(const ListOfDummy__CT& other_value)
-{
-if (other_value.val_ptr == NULL) TTCN_error("Assigning an unbound value of type @General_Types.ListOfDummy_CT.");
-if (this != &other_value) {
-clean_up();
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-return *this;
-}
-
-boolean ListOfDummy__CT::operator==(null_type) const
-{
-if (val_ptr == NULL)
-TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ListOfDummy_CT.");
-return val_ptr->n_elements == 0 ;
-}
-
-boolean ListOfDummy__CT::operator==(const ListOfDummy__CT& other_value) const
-{
-if (val_ptr == NULL) TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ListOfDummy_CT.");
-if (other_value.val_ptr == NULL) TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ListOfDummy_CT.");
-if (val_ptr == other_value.val_ptr) return TRUE;
-if (val_ptr->n_elements != (other_value.val_ptr)->n_elements)
-return FALSE;
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL){
- if (*val_ptr->value_elements[elem_count] != *(other_value.val_ptr)->value_elements[elem_count]) return FALSE;
-} else return FALSE;
-} else {
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL) return FALSE;
-}
-}
-return TRUE;
-}
-
-COMPONENT& ListOfDummy__CT::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ListOfDummy_CT using a negative index: %d.", index_value);
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (index_value >= val_ptr->n_elements) ? index_value + 1 : val_ptr->n_elements;
-new_val_ptr->value_elements = (COMPONENT**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new COMPONENT(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (index_value >= val_ptr->n_elements) set_size(index_value + 1);
-if (val_ptr->value_elements[index_value] == NULL) {
-val_ptr->value_elements[index_value] = new COMPONENT;
-}
-return *val_ptr->value_elements[index_value];
-}
-
-COMPONENT& ListOfDummy__CT::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ListOfDummy_CT.");
-return (*this)[(int)index_value];
-}
-
-const COMPONENT& ListOfDummy__CT::operator[](int index_value) const
-{
-if (val_ptr == NULL)
-TTCN_error("Accessing an element in an unbound value of type @General_Types.ListOfDummy_CT.");
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ListOfDummy_CT using a negative index: %d.", index_value);
-if (index_value >= val_ptr->n_elements) TTCN_error("Index overflow in a value of type @General_Types.ListOfDummy_CT: The index is %d, but the value has only %d elements.", index_value, val_ptr->n_elements);
-return (val_ptr->value_elements[index_value] == NULL) ?
-UNBOUND_ELEM : *val_ptr->value_elements[index_value];
-}
-
-const COMPONENT& ListOfDummy__CT::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ListOfDummy_CT.");
-return (*this)[(int)index_value];
-}
-
-ListOfDummy__CT ListOfDummy__CT::operator<<=(int rotate_count) const
-{
-return *this >>= (-rotate_count);
-}
-
-ListOfDummy__CT ListOfDummy__CT::operator<<=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate left operator.");
-return *this >>= (int)(-rotate_count);
-}
-
-ListOfDummy__CT ListOfDummy__CT::operator>>=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate right operator.");
-return *this >>= (int)rotate_count;
-}
-
-ListOfDummy__CT ListOfDummy__CT::operator>>=(int rotate_count) const
-{
-if (val_ptr == NULL) TTCN_error("Performing rotation operation on an unbound value of type @General_Types.ListOfDummy_CT.");
-if (val_ptr->n_elements == 0) return *this;
-int rc;
-if (rotate_count>=0) rc = rotate_count % val_ptr->n_elements;
-else rc = val_ptr->n_elements - ((-rotate_count) % val_ptr->n_elements);
-if (rc == 0) return *this;
-ListOfDummy__CT ret_val;
-ret_val.set_size(val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[(i+rc)%val_ptr->n_elements] =new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__CT ListOfDummy__CT::operator+(const ListOfDummy__CT& other_value) const
-{
-if (val_ptr == NULL || other_value.val_ptr == NULL) TTCN_error("Unbound operand of @General_Types.ListOfDummy_CT concatenation.");
-if (val_ptr->n_elements == 0) return other_value;
-if (other_value.val_ptr->n_elements == 0) return *this;
-ListOfDummy__CT ret_val;
-ret_val.set_size(val_ptr->n_elements+other_value.val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-for (int i=0; i<other_value.val_ptr->n_elements; i++) {
-if (other_value.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+val_ptr->n_elements] = new COMPONENT(*other_value.val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__CT ListOfDummy__CT::substr(int index, int returncount) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of substr() is an unbound value of type @General_Types.ListOfDummy_CT.");
-check_substr_arguments(val_ptr->n_elements, index, returncount, "@General_Types.ListOfDummy_CT","element");
-ListOfDummy__CT ret_val;
-ret_val.set_size(returncount);
-for (int i=0; i<returncount; i++) {
-if (val_ptr->value_elements[i+index] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i+index]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__CT ListOfDummy__CT::replace(int index, int len, const ListOfDummy__CT& repl) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of replace() is an unbound value of type @General_Types.ListOfDummy_CT.");
-if (repl.val_ptr == NULL) TTCN_error("The fourth argument of replace() is an unbound value of type @General_Types.ListOfDummy_CT.");
-check_replace_arguments(val_ptr->n_elements, index, len, "@General_Types.ListOfDummy_CT","element");
-ListOfDummy__CT ret_val;
-ret_val.set_size(val_ptr->n_elements + repl.val_ptr->n_elements - len);
-for (int i = 0; i < index; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new COMPONENT(*val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < repl.val_ptr->n_elements; i++) {
-if (repl.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+index] = new COMPONENT(*repl.val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < val_ptr->n_elements - index - len; i++) {
-if (val_ptr->value_elements[index+i+len] != NULL) {
-ret_val.val_ptr->value_elements[index+i+repl.val_ptr->n_elements] = new COMPONENT(*val_ptr->value_elements[index+i+len]);
-}
-}
-return ret_val;
-}
-
-ListOfDummy__CT ListOfDummy__CT::replace(int index, int len, const ListOfDummy__CT_template& repl) const
-{
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return replace(index, len, repl.valueof());
-}
-
-void ListOfDummy__CT::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a value of type @General_Types.ListOfDummy_CT.");
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (new_size < val_ptr->n_elements) ? new_size : val_ptr->n_elements;
-new_val_ptr->value_elements = (COMPONENT**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < new_val_ptr->n_elements; elem_count++) {
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new COMPONENT(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (new_size > val_ptr->n_elements) {
-val_ptr->value_elements = (COMPONENT**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-#ifdef TITAN_MEMORY_DEBUG_SET_RECORD_OF
-if((val_ptr->n_elements/1000)!=(new_size/1000)) TTCN_warning("New size of type @General_Types.ListOfDummy_CT: %d",new_size);
-#endif
-val_ptr->n_elements = new_size;
-} else if (new_size < val_ptr->n_elements) {
-for (int elem_count = new_size; elem_count < val_ptr->n_elements; elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)delete val_ptr->value_elements[elem_count];
-val_ptr->value_elements = (COMPONENT**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-val_ptr->n_elements = new_size;
-}
-}
-
-boolean ListOfDummy__CT::is_value() const
-{
-if (val_ptr == NULL) return FALSE;
-for(int i = 0; i < val_ptr->n_elements; ++i) {
-if (val_ptr->value_elements[i] == NULL || !val_ptr->value_elements[i]->is_value()) return FALSE;
-}
-return TRUE;
-}
-
-int ListOfDummy__CT::size_of() const
-{
-if (val_ptr == NULL) TTCN_error("Performing sizeof operation on an unbound value of type @General_Types.ListOfDummy_CT.");
-return val_ptr->n_elements;
-}
-
-int ListOfDummy__CT::lengthof() const
-{
-if (val_ptr == NULL) TTCN_error("Performing lengthof operation on an unbound value of type @General_Types.ListOfDummy_CT.");
-for (int my_length=val_ptr->n_elements; my_length>0; my_length--) if (val_ptr->value_elements[my_length-1] != NULL) return my_length;
-return 0;
-}
-
-void ListOfDummy__CT::log() const
-{
-if (val_ptr == NULL) {;
-TTCN_Logger::log_event_unbound();
-return;
-}
-switch (val_ptr->n_elements) {
-case 0:
-TTCN_Logger::log_event_str("{ }");
-break;
-default:
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-(*this)[elem_count].log();
-}
-TTCN_Logger::log_event_str(" }");
-}
-}
-
-void ListOfDummy__CT::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE|Module_Param::BC_LIST, "record of value");
- switch (param.get_operation_type()) {
- case Module_Param::OT_ASSIGN:
- if (param.get_type()==Module_Param::MP_Value_List && param.get_size()==0) {
- *this = NULL_VALUE;
- return;
- }
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- set_size(param.get_size());
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if (curr->get_type()!=Module_Param::MP_NotUsed) {
- (*this)[i].set_param(*curr);
- if (!(*this)[i].is_bound()) {
- delete val_ptr->value_elements[i];
- val_ptr->value_elements[i] = NULL;
- }
- }
- }
- break;
- case Module_Param::MP_Indexed_List:
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- (*this)[curr->get_id()->get_index()].set_param(*curr);
- if (!(*this)[curr->get_id()->get_index()].is_bound()) {
- delete val_ptr->value_elements[curr->get_id()->get_index()];
- val_ptr->value_elements[curr->get_id()->get_index()] = NULL;
- }
- }
- break;
- default:
- param.type_error("record of value", "@General_Types.ListOfDummy_CT");
- }
- break;
- case Module_Param::OT_CONCAT:
- switch (param.get_type()) {
- case Module_Param::MP_Value_List: {
- if (!is_bound()) *this = NULL_VALUE;
- int start_idx = lengthof();
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if ((curr->get_type()!=Module_Param::MP_NotUsed)) {
- (*this)[start_idx+(int)i].set_param(*curr);
- }
- }
- } break;
- case Module_Param::MP_Indexed_List:
- param.error("Cannot concatenate an indexed value list");
- break;
- default:
- param.type_error("record of value", "@General_Types.ListOfDummy_CT");
- }
- break;
- default:
- TTCN_error("Internal error: Unknown operation type.");
- }
-}
-
-void ListOfDummy__CT::set_implicit_omit()
-{
-if (val_ptr == NULL) return;
-for (int i = 0; i < val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) val_ptr->value_elements[i]->set_implicit_omit();
-}
-}
-
-void ListOfDummy__CT::encode_text(Text_Buf& text_buf) const
-{
-if (val_ptr == NULL) TTCN_error("Text encoder: Encoding an unbound value of type @General_Types.ListOfDummy_CT.");
-text_buf.push_int(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++)
-(*this)[elem_count].encode_text(text_buf);
-}
-
-void ListOfDummy__CT::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = text_buf.pull_int().get_val();
-if (val_ptr->n_elements < 0) TTCN_error("Text decoder: Negative size was received for a value of type @General_Types.ListOfDummy_CT.");
-val_ptr->value_elements = (COMPONENT**)allocate_pointers(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-val_ptr->value_elements[elem_count] = new COMPONENT;
-val_ptr->value_elements[elem_count]->decode_text(text_buf);
-}
-}
-
-void ListOfDummy__CT_template::copy_value(const ListOfDummy__CT& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Initialization of a template of type @General_Types.ListOfDummy_CT with an unbound value.");
-single_value.n_elements = other_value.size_of();
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (other_value[elem_count].is_bound()) {
-single_value.value_elements[elem_count] = new COMPONENT_template(other_value[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void ListOfDummy__CT_template::copy_template(const ListOfDummy__CT_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = other_value.single_value.n_elements;
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (UNINITIALIZED_TEMPLATE != other_value.single_value.value_elements[elem_count]->get_selection()) {
-single_value.value_elements[elem_count] = new COMPONENT_template(*other_value.single_value.value_elements[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new ListOfDummy__CT_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @General_Types.ListOfDummy_CT.");
-break;
-}
-set_selection(other_value);
-}
-
-boolean ListOfDummy__CT_template::match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy)
-{
-if (value_index >= 0) return ((const ListOfDummy__CT_template*)template_ptr)->single_value.value_elements[template_index]->match((*(const ListOfDummy__CT*)value_ptr)[value_index], legacy);
-else return ((const ListOfDummy__CT_template*)template_ptr)->single_value.value_elements[template_index]->is_any_or_omit();
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template()
-{
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template(template_sel other_value)
- : Record_Of_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template(null_type)
- : Record_Of_Template(SPECIFIC_VALUE)
-{
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template(const ListOfDummy__CT& other_value)
-{
-copy_value(other_value);
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template(const OPTIONAL<ListOfDummy__CT>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ListOfDummy__CT&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @General_Types.ListOfDummy_CT from an unbound optional field.");
-}
-}
-
-ListOfDummy__CT_template::ListOfDummy__CT_template(const ListOfDummy__CT_template& other_value)
- : Record_Of_Template()
-{
-copy_template(other_value);
-}
-
-ListOfDummy__CT_template::~ListOfDummy__CT_template()
-{
-clean_up();
-}
-
-void ListOfDummy__CT_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-free_pointers((void**)single_value.value_elements);
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::operator=(null_type)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-return *this;
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::operator=(const ListOfDummy__CT& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::operator=(const OPTIONAL<ListOfDummy__CT>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ListOfDummy__CT&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @General_Types.ListOfDummy_CT.");
-}
-return *this;
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::operator=(const ListOfDummy__CT_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-COMPONENT_template& ListOfDummy__CT_template::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ListOfDummy_CT using a negative index: %d.", index_value);
-switch (template_selection)
-{
- case SPECIFIC_VALUE:
- if(index_value < single_value.n_elements) break;
- // no break
- case OMIT_VALUE:
- case ANY_VALUE:
- case ANY_OR_OMIT:
- case UNINITIALIZED_TEMPLATE:
- set_size(index_value + 1);
- break;
- default:
- TTCN_error("Accessing an element of a non-specific template for type @General_Types.ListOfDummy_CT.");
- break;
-}
-return *single_value.value_elements[index_value];
-}
-
-COMPONENT_template& ListOfDummy__CT_template::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ListOfDummy_CT.");
-return (*this)[(int)index_value];
-}
-
-const COMPONENT_template& ListOfDummy__CT_template::operator[](int index_value) const
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ListOfDummy_CT using a negative index: %d.", index_value);
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing an element of a non-specific template for type @General_Types.ListOfDummy_CT.");
-if (index_value >= single_value.n_elements) TTCN_error("Index overflow in a template of type @General_Types.ListOfDummy_CT: The index is %d, but the template has only %d elements.", index_value, single_value.n_elements);
-return *single_value.value_elements[index_value];
-}
-
-const COMPONENT_template& ListOfDummy__CT_template::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ListOfDummy_CT.");
-return (*this)[(int)index_value];
-}
-
-void ListOfDummy__CT_template::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a template of type @General_Types.ListOfDummy_CT.");
-template_sel old_selection = template_selection;
-if (old_selection != SPECIFIC_VALUE) {
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-if (new_size > single_value.n_elements) {
-single_value.value_elements = (COMPONENT_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new COMPONENT_template(ANY_VALUE);
-} else {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new COMPONENT_template;
-}
-single_value.n_elements = new_size;
-} else if (new_size < single_value.n_elements) {
-for (int elem_count = new_size; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-single_value.value_elements = (COMPONENT_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-single_value.n_elements = new_size;
-}
-}
-
-int ListOfDummy__CT_template::n_elem() const
-{
- switch (template_selection) {
- case SPECIFIC_VALUE:
- return single_value.n_elements;
- break;
- case VALUE_LIST:
- return value_list.n_values;
- break;
- default:
- TTCN_error("Performing n_elem");
- }
-}
-
-int ListOfDummy__CT_template::size_of(boolean is_size) const
-{
-const char* op_name = is_size ? "size" : "length";
-int min_size;
-boolean has_any_or_none;
-if (is_ifpresent) TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT which has an ifpresent attribute.", op_name);
-switch (template_selection)
-{
-case SPECIFIC_VALUE: {
- min_size = 0;
- has_any_or_none = FALSE;
- int elem_count = single_value.n_elements;
- if (!is_size) { while (elem_count>0 && !single_value.value_elements[elem_count-1]->is_bound()) elem_count--; }
- for (int i=0; i<elem_count; i++) {
- switch (single_value.value_elements[i]->get_selection()) {
- case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT containing omit element.", op_name);
- case ANY_OR_OMIT:
- has_any_or_none = TRUE;
- break;
- default:
- min_size++;
- break;
- }
- }
-} break;
-case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT containing omit value.", op_name);
-case ANY_VALUE:
-case ANY_OR_OMIT:
- min_size = 0;
- has_any_or_none = TRUE;
- break;
-case VALUE_LIST:
-{
- if (value_list.n_values<1)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT containing an empty list.", op_name);
- int item_size = value_list.list_value[0].size_of(is_size);
- for (unsigned int i = 1; i < value_list.n_values; i++) {
- if (value_list.list_value[i].size_of(is_size)!=item_size)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT containing a value list with different sizes.", op_name);
- }
- min_size = item_size;
- has_any_or_none = FALSE;
- break;
-}
-case COMPLEMENTED_LIST:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ListOfDummy_CT containing complemented list.", op_name);
-default:
- TTCN_error("Performing %sof() operation on an uninitialized/unsupported template of type @General_Types.ListOfDummy_CT.", op_name);
-}
-return check_section_is_single(min_size, has_any_or_none, op_name, "a", "template of type @General_Types.ListOfDummy_CT");
-}
-
-boolean ListOfDummy__CT_template::match(const ListOfDummy__CT& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-int value_length = other_value.size_of();
-if (!match_length(value_length)) return FALSE;
-switch (template_selection) {
-case SPECIFIC_VALUE:
-return match_record_of(&other_value, value_length, this, single_value.n_elements, match_function_specific, legacy);
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching with an uninitialized/unsupported template of type @General_Types.ListOfDummy_CT.");
-}
-return FALSE;
-}
-
-boolean ListOfDummy__CT_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (!single_value.value_elements[elem_count]->is_value()) return FALSE;
-return TRUE;
-}
-
-ListOfDummy__CT ListOfDummy__CT_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of type @General_Types.ListOfDummy_CT.");
-ListOfDummy__CT ret_val;
-ret_val.set_size(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (single_value.value_elements[elem_count]->is_bound()) {
-ret_val[elem_count] = single_value.value_elements[elem_count]->valueof();
-}
-return ret_val;
-}
-
-ListOfDummy__CT ListOfDummy__CT_template::substr(int index, int returncount) const
-{
-if (!is_value()) TTCN_error("The first argument of function substr() is a template with non-specific value.");
-return valueof().substr(index, returncount);
-}
-
-ListOfDummy__CT ListOfDummy__CT_template::replace(int index, int len, const ListOfDummy__CT_template& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl.valueof());
-}
-
-ListOfDummy__CT ListOfDummy__CT_template::replace(int index, int len, const ListOfDummy__CT& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl);
-}
-
-void ListOfDummy__CT_template::set_type(template_sel template_type, unsigned int list_length)
-{
-clean_up();
-switch (template_type) {
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = list_length;
-value_list.list_value = new ListOfDummy__CT_template[list_length];
-break;
-default:
-TTCN_error("Internal error: Setting an invalid type for a template of type @General_Types.ListOfDummy_CT.");
-}
-set_selection(template_type);
-}
-
-ListOfDummy__CT_template& ListOfDummy__CT_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of type @General_Types.ListOfDummy_CT.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @General_Types.ListOfDummy_CT.");
-return value_list.list_value[list_index];
-}
-
-void ListOfDummy__CT_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.n_elements > 0) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-if (permutation_starts_at(elem_count)) TTCN_Logger::log_event_str("permutation(");
-single_value.value_elements[elem_count]->log();
-if (permutation_ends_at(elem_count)) TTCN_Logger::log_char(')');
-}
-TTCN_Logger::log_event_str(" }");
-} else TTCN_Logger::log_event_str("{ }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_restricted();
-log_ifpresent();
-}
-
-void ListOfDummy__CT_template::log_match(const ListOfDummy__CT& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-}else{
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if(!single_value.value_elements[elem_count]->match(match_value[elem_count], legacy)){
-TTCN_Logger::log_logmatch_info("[%d]", elem_count);
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-log_match_length(single_value.n_elements);
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-}
-TTCN_Logger::log_event_str(" }");
-log_match_length(single_value.n_elements);
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void ListOfDummy__CT_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-text_buf.push_int(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-single_value.value_elements[elem_count]->encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @General_Types.ListOfDummy_CT.");
-}
-}
-
-void ListOfDummy__CT_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = text_buf.pull_int().get_val();
-if (single_value.n_elements < 0) TTCN_error("Text decoder: Negative size was received for a template of type @General_Types.ListOfDummy_CT.");
-single_value.value_elements = (COMPONENT_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-single_value.value_elements[elem_count] = new COMPONENT_template;
-single_value.value_elements[elem_count]->decode_text(text_buf);
-}
-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 ListOfDummy__CT_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of type @General_Types.ListOfDummy_CT.");
-}
-}
-
-boolean ListOfDummy__CT_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean ListOfDummy__CT_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void ListOfDummy__CT_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE|Module_Param::BC_LIST, "record of template");
- switch (param.get_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: {
- ListOfDummy__CT_template temp;
- temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = temp;
- break; }
- case Module_Param::MP_Indexed_List:
- if (template_selection!=SPECIFIC_VALUE) set_size(0);
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- (*this)[(int)(param.get_elem(p_i)->get_id()->get_index())].set_param(*param.get_elem(p_i));
- }
- break;
- case Module_Param::MP_Value_List: {
- set_size(param.get_size());
- int curr_idx = 0;
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- switch (param.get_elem(p_i)->get_type()) {
- case Module_Param::MP_NotUsed:
- curr_idx++;
- break;
- case Module_Param::MP_Permutation_Template: {
- int perm_start_idx = curr_idx;
- Module_Param* param_i = param.get_elem(p_i);
- for (size_t perm_i=0; perm_i<param_i->get_size(); perm_i++) {
- (*this)[curr_idx].set_param(*(param_i->get_elem(perm_i)));
- curr_idx++;
- }
- int perm_end_idx = curr_idx - 1;
- add_permutation(perm_start_idx, perm_end_idx);
- } break;
- default:
- (*this)[curr_idx].set_param(*param.get_elem(p_i));
- curr_idx++;
- }
- }
- } break;
- default:
- param.type_error("record of template", "@General_Types.ListOfDummy_CT");
- }
- is_ifpresent = param.get_ifpresent();
- set_length_range(param);
-}
-
-void ListOfDummy__CT_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-for (int i=0; i<single_value.n_elements; i++) single_value.value_elements[i]->check_restriction(t_res, t_name ? t_name : "@General_Types.ListOfDummy_CT");
-return;
-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 : "@General_Types.ListOfDummy_CT");
-}
-
-boolean ListOfDummy__CT_template::get_istemplate_kind(const char* type) const {
-if (!strcmp(type, "AnyElement")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_VALUE) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "AnyElementsOrNone")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_OR_OMIT) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "permutation")) {
- return number_of_permutations;
-} else if (!strcmp(type, "length")) {
- return length_restriction_type != NO_LENGTH_RESTRICTION;
-} else {
- return Base_Template::get_istemplate_kind(type);
-}
-}
-
-const Protocols ProtocolList::UNBOUND_ELEM;
-ProtocolList::ProtocolList()
-{
-val_ptr = NULL;
-}
-
-ProtocolList::ProtocolList(null_type)
-{
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-}
-
-ProtocolList::ProtocolList(const ProtocolList& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Copying an unbound value of type @General_Types.ProtocolList.");
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-
-ProtocolList::~ProtocolList()
-{
-clean_up();
-if (val_ptr != NULL) val_ptr = NULL;
-}
-
-void ProtocolList::clean_up()
-{
-if (val_ptr != NULL) {
-if (val_ptr->ref_count > 1) {
-val_ptr->ref_count--;
-val_ptr = NULL;
-}
-else if (val_ptr->ref_count == 1) {
-for (int elem_count = 0; elem_count < val_ptr->n_elements;
-elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)
-delete val_ptr->value_elements[elem_count];
-free_pointers((void**)val_ptr->value_elements);
-delete val_ptr;
-val_ptr = NULL;
-}
-else
-TTCN_error("Internal error: Invalid reference counter in a record of/set of value.");
-}
-}
-
-ProtocolList& ProtocolList::operator=(null_type)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-return *this;
-}
-
-ProtocolList& ProtocolList::operator=(const ProtocolList& other_value)
-{
-if (other_value.val_ptr == NULL) TTCN_error("Assigning an unbound value of type @General_Types.ProtocolList.");
-if (this != &other_value) {
-clean_up();
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-return *this;
-}
-
-boolean ProtocolList::operator==(null_type) const
-{
-if (val_ptr == NULL)
-TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ProtocolList.");
-return val_ptr->n_elements == 0 ;
-}
-
-boolean ProtocolList::operator==(const ProtocolList& other_value) const
-{
-if (val_ptr == NULL) TTCN_error("The left operand of comparison is an unbound value of type @General_Types.ProtocolList.");
-if (other_value.val_ptr == NULL) TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ProtocolList.");
-if (val_ptr == other_value.val_ptr) return TRUE;
-if (val_ptr->n_elements != (other_value.val_ptr)->n_elements)
-return FALSE;
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL){
- if (*val_ptr->value_elements[elem_count] != *(other_value.val_ptr)->value_elements[elem_count]) return FALSE;
-} else return FALSE;
-} else {
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL) return FALSE;
-}
-}
-return TRUE;
-}
-
-Protocols& ProtocolList::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ProtocolList using a negative index: %d.", index_value);
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (index_value >= val_ptr->n_elements) ? index_value + 1 : val_ptr->n_elements;
-new_val_ptr->value_elements = (Protocols**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new Protocols(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (index_value >= val_ptr->n_elements) set_size(index_value + 1);
-if (val_ptr->value_elements[index_value] == NULL) {
-val_ptr->value_elements[index_value] = new Protocols;
-}
-return *val_ptr->value_elements[index_value];
-}
-
-Protocols& ProtocolList::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ProtocolList.");
-return (*this)[(int)index_value];
-}
-
-const Protocols& ProtocolList::operator[](int index_value) const
-{
-if (val_ptr == NULL)
-TTCN_error("Accessing an element in an unbound value of type @General_Types.ProtocolList.");
-if (index_value < 0) TTCN_error("Accessing an element of type @General_Types.ProtocolList using a negative index: %d.", index_value);
-if (index_value >= val_ptr->n_elements) TTCN_error("Index overflow in a value of type @General_Types.ProtocolList: The index is %d, but the value has only %d elements.", index_value, val_ptr->n_elements);
-return (val_ptr->value_elements[index_value] == NULL) ?
-UNBOUND_ELEM : *val_ptr->value_elements[index_value];
-}
-
-const Protocols& ProtocolList::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @General_Types.ProtocolList.");
-return (*this)[(int)index_value];
-}
-
-ProtocolList ProtocolList::operator<<=(int rotate_count) const
-{
-return *this >>= (-rotate_count);
-}
-
-ProtocolList ProtocolList::operator<<=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate left operator.");
-return *this >>= (int)(-rotate_count);
-}
-
-ProtocolList ProtocolList::operator>>=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate right operator.");
-return *this >>= (int)rotate_count;
-}
-
-ProtocolList ProtocolList::operator>>=(int rotate_count) const
-{
-if (val_ptr == NULL) TTCN_error("Performing rotation operation on an unbound value of type @General_Types.ProtocolList.");
-if (val_ptr->n_elements == 0) return *this;
-int rc;
-if (rotate_count>=0) rc = rotate_count % val_ptr->n_elements;
-else rc = val_ptr->n_elements - ((-rotate_count) % val_ptr->n_elements);
-if (rc == 0) return *this;
-ProtocolList ret_val;
-ret_val.set_size(val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[(i+rc)%val_ptr->n_elements] =new Protocols(*val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ProtocolList ProtocolList::operator+(const ProtocolList& other_value) const
-{
-if (val_ptr == NULL || other_value.val_ptr == NULL) TTCN_error("Unbound operand of @General_Types.ProtocolList concatenation.");
-if (val_ptr->n_elements == 0) return other_value;
-if (other_value.val_ptr->n_elements == 0) return *this;
-ProtocolList ret_val;
-ret_val.set_size(val_ptr->n_elements+other_value.val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Protocols(*val_ptr->value_elements[i]);
-}
-}
-for (int i=0; i<other_value.val_ptr->n_elements; i++) {
-if (other_value.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+val_ptr->n_elements] = new Protocols(*other_value.val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-ProtocolList ProtocolList::substr(int index, int returncount) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of substr() is an unbound value of type @General_Types.ProtocolList.");
-check_substr_arguments(val_ptr->n_elements, index, returncount, "@General_Types.ProtocolList","element");
-ProtocolList ret_val;
-ret_val.set_size(returncount);
-for (int i=0; i<returncount; i++) {
-if (val_ptr->value_elements[i+index] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Protocols(*val_ptr->value_elements[i+index]);
-}
-}
-return ret_val;
-}
-
-ProtocolList ProtocolList::replace(int index, int len, const ProtocolList& repl) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of replace() is an unbound value of type @General_Types.ProtocolList.");
-if (repl.val_ptr == NULL) TTCN_error("The fourth argument of replace() is an unbound value of type @General_Types.ProtocolList.");
-check_replace_arguments(val_ptr->n_elements, index, len, "@General_Types.ProtocolList","element");
-ProtocolList ret_val;
-ret_val.set_size(val_ptr->n_elements + repl.val_ptr->n_elements - len);
-for (int i = 0; i < index; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new Protocols(*val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < repl.val_ptr->n_elements; i++) {
-if (repl.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+index] = new Protocols(*repl.val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < val_ptr->n_elements - index - len; i++) {
-if (val_ptr->value_elements[index+i+len] != NULL) {
-ret_val.val_ptr->value_elements[index+i+repl.val_ptr->n_elements] = new Protocols(*val_ptr->value_elements[index+i+len]);
-}
-}
-return ret_val;
-}
-
-ProtocolList ProtocolList::replace(int index, int len, const ProtocolList_template& repl) const
-{
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return replace(index, len, repl.valueof());
-}
-
-void ProtocolList::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a value of type @General_Types.ProtocolList.");
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (new_size < val_ptr->n_elements) ? new_size : val_ptr->n_elements;
-new_val_ptr->value_elements = (Protocols**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < new_val_ptr->n_elements; elem_count++) {
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new Protocols(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (new_size > val_ptr->n_elements) {
-val_ptr->value_elements = (Protocols**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-#ifdef TITAN_MEMORY_DEBUG_SET_RECORD_OF
-if((val_ptr->n_elements/1000)!=(new_size/1000)) TTCN_warning("New size of type @General_Types.ProtocolList: %d",new_size);
-#endif
-val_ptr->n_elements = new_size;
-} else if (new_size < val_ptr->n_elements) {
-for (int elem_count = new_size; elem_count < val_ptr->n_elements; elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)delete val_ptr->value_elements[elem_count];
-val_ptr->value_elements = (Protocols**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-val_ptr->n_elements = new_size;
-}
-}
-
-boolean ProtocolList::is_value() const
-{
-if (val_ptr == NULL) return FALSE;
-for(int i = 0; i < val_ptr->n_elements; ++i) {
-if (val_ptr->value_elements[i] == NULL || !val_ptr->value_elements[i]->is_value()) return FALSE;
-}
-return TRUE;
-}
-
-int ProtocolList::size_of() const
-{
-if (val_ptr == NULL) TTCN_error("Performing sizeof operation on an unbound value of type @General_Types.ProtocolList.");
-return val_ptr->n_elements;
-}
-
-int ProtocolList::lengthof() const
-{
-if (val_ptr == NULL) TTCN_error("Performing lengthof operation on an unbound value of type @General_Types.ProtocolList.");
-for (int my_length=val_ptr->n_elements; my_length>0; my_length--) if (val_ptr->value_elements[my_length-1] != NULL) return my_length;
-return 0;
-}
-
-void ProtocolList::log() const
-{
-if (val_ptr == NULL) {;
-TTCN_Logger::log_event_unbound();
-return;
-}
-switch (val_ptr->n_elements) {
-case 0:
-TTCN_Logger::log_event_str("{ }");
-break;
-default:
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-(*this)[elem_count].log();
-}
-TTCN_Logger::log_event_str(" }");
-}
-}
-
-void ProtocolList::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE|Module_Param::BC_LIST, "record of value");
- switch (param.get_operation_type()) {
- case Module_Param::OT_ASSIGN:
- if (param.get_type()==Module_Param::MP_Value_List && param.get_size()==0) {
- *this = NULL_VALUE;
- return;
- }
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- set_size(param.get_size());
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if (curr->get_type()!=Module_Param::MP_NotUsed) {
- (*this)[i].set_param(*curr);
- if (!(*this)[i].is_bound()) {
- delete val_ptr->value_elements[i];
- val_ptr->value_elements[i] = NULL;
- }
- }
- }
- break;
- case Module_Param::MP_Indexed_List:
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- (*this)[curr->get_id()->get_index()].set_param(*curr);
- if (!(*this)[curr->get_id()->get_index()].is_bound()) {
- delete val_ptr->value_elements[curr->get_id()->get_index()];
- val_ptr->value_elements[curr->get_id()->get_index()] = NULL;
- }
- }
- break;
- default:
- param.type_error("record of value", "@General_Types.ProtocolList");
- }
- break;
- case Module_Param::OT_CONCAT:
- switch (param.get_type()) {
- case Module_Param::MP_Value_List: {
- if (!is_bound()) *this = NULL_VALUE;
- int start_idx = lengthof();
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if ((curr->get_type()!=Module_Param::MP_NotUsed)) {
- (*this)[start_idx+(int)i].set_param(*curr);
- }
- }
- } break;
- case Module_Param::MP_Indexed_List:
- param.error("Cannot concatenate an indexed value list");
- break;
- default:
- param.type_error("record of value", "@General_Types.ProtocolList");
- }
- break;
- default:
- TTCN_error("Internal error: Unknown operation type.");
- }
-}
-
-void ProtocolList::set_implicit_omit()
-{
-if (val_ptr == NULL) return;
-for (int i = 0; i < val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) val_ptr->value_elements[i]->set_implicit_omit();
-}
-}
-
-void ProtocolList::encode_text(Text_Buf& text_buf) const
-{
-if (val_ptr == NULL) TTCN_error("Text encoder: Encoding an unbound value of type @General_Types.ProtocolList.");
-text_buf.push_int(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++)
-(*this)[elem_count].encode_text(text_buf);
-}
-
-void ProtocolList::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = text_buf.pull_int().get_val();
-if (val_ptr->n_elements < 0) TTCN_error("Text decoder: Negative size was received for a value of type @General_Types.ProtocolList.");
-val_ptr->value_elements = (Protocols**)allocate_pointers(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-val_ptr->value_elements[elem_count] = new Protocols;
-val_ptr->value_elements[elem_count]->decode_text(text_buf);
-}
-}
-
-void ProtocolList::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void ProtocolList::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int ProtocolList::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean /*no_err*/, int sel_field, boolean first_call, const RAW_Force_Omit*){
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- int decoded_length=0;
- int decoded_field_length=0;
- size_t start_of_field=0;
- if(first_call) {
- clean_up();
- val_ptr=new recordof_setof_struct;
- val_ptr->ref_count=1;
- val_ptr->n_elements=0;
- val_ptr->value_elements=NULL;
- }
- int start_field=val_ptr->n_elements;
- if(p_td.raw->fieldlength || sel_field!=-1){
- int a=0;
- if(sel_field==-1) sel_field=p_td.raw->fieldlength;
- for(a=0;a<sel_field;a++){
- decoded_field_length=(*this)[a+start_field].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- }
- if(a==0) val_ptr->n_elements=0;
- } else {
- if(limit==0){
- if(!first_call) return -1;
- val_ptr->n_elements=0;
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- }
- int a=start_field;
- while(limit>0){
- start_of_field=p_buf.get_pos_bit();
- decoded_field_length=(*this)[a].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0){
- delete &(*this)[a];
- val_ptr->n_elements--;
- p_buf.set_pos_bit(start_of_field);
- if(a>start_field){
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- } else return -1;
- }
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- a++;
- }
- }
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
-}
-
-int ProtocolList::RAW_encode(const TTCN_Typedescriptor_t& p_td,RAW_enc_tree& myleaf) const{
- int encoded_length=0;
- int encoded_num_of_records=p_td.raw->fieldlength?smaller(val_ptr->n_elements, p_td.raw->fieldlength):val_ptr->n_elements;
- myleaf.isleaf=FALSE;
- myleaf.rec_of=TRUE;
- myleaf.body.node.num_of_nodes=encoded_num_of_records;
- myleaf.body.node.nodes=init_nodes_of_enc_tree(encoded_num_of_records);
- for(int a=0;a<encoded_num_of_records;a++){
- myleaf.body.node.nodes[a]=new RAW_enc_tree(TRUE,&myleaf,&(myleaf.curr_pos),a,p_td.oftype_descr->raw);
- encoded_length+=(*this)[a].RAW_encode(*p_td.oftype_descr,*myleaf.body.node.nodes[a]);
- }
- return myleaf.length=encoded_length;
-}
-
-void ProtocolList_template::copy_value(const ProtocolList& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Initialization of a template of type @General_Types.ProtocolList with an unbound value.");
-single_value.n_elements = other_value.size_of();
-single_value.value_elements = (Protocols_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (other_value[elem_count].is_bound()) {
-single_value.value_elements[elem_count] = new Protocols_template(other_value[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new Protocols_template;
-}
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void ProtocolList_template::copy_template(const ProtocolList_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = other_value.single_value.n_elements;
-single_value.value_elements = (Protocols_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (UNINITIALIZED_TEMPLATE != other_value.single_value.value_elements[elem_count]->get_selection()) {
-single_value.value_elements[elem_count] = new Protocols_template(*other_value.single_value.value_elements[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new Protocols_template;
-}
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new ProtocolList_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @General_Types.ProtocolList.");
-break;
-}
-set_selection(other_value);
-}
-
-boolean ProtocolList_template::match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy)
-{
-if (value_index >= 0) return ((const ProtocolList_template*)template_ptr)->single_value.value_elements[template_index]->match((*(const ProtocolList*)value_ptr)[value_index], legacy);
-else return ((const ProtocolList_template*)template_ptr)->single_value.value_elements[template_index]->is_any_or_omit();
-}
-
-ProtocolList_template::ProtocolList_template()
-{
-}
-
-ProtocolList_template::ProtocolList_template(template_sel other_value)
- : Record_Of_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-ProtocolList_template::ProtocolList_template(null_type)
- : Record_Of_Template(SPECIFIC_VALUE)
-{
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-
-ProtocolList_template::ProtocolList_template(const ProtocolList& other_value)
-{
-copy_value(other_value);
-}
-
-ProtocolList_template::ProtocolList_template(const OPTIONAL<ProtocolList>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ProtocolList&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @General_Types.ProtocolList from an unbound optional field.");
-}
-}
-
-ProtocolList_template::ProtocolList_template(const ProtocolList_template& other_value)
- : Record_Of_Template()
-{
-copy_template(other_value);
-}
-
-ProtocolList_template::~ProtocolList_template()
-{
-clean_up();
-}
-
-void ProtocolList_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-free_pointers((void**)single_value.value_elements);
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-ProtocolList_template& ProtocolList_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-ProtocolList_template& ProtocolList_template::operator=(null_type)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-return *this;
-}
-
-ProtocolList_template& ProtocolList_template::operator=(const ProtocolList& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-ProtocolList_template& ProtocolList_template::operator=(const OPTIONAL<ProtocolList>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const ProtocolList&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @General_Types.ProtocolList.");
-}
-return *this;
-}
-
-ProtocolList_template& ProtocolList_template::operator=(const ProtocolList_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-Protocols_template& ProtocolList_template::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ProtocolList using a negative index: %d.", index_value);
-switch (template_selection)
-{
- case SPECIFIC_VALUE:
- if(index_value < single_value.n_elements) break;
- // no break
- case OMIT_VALUE:
- case ANY_VALUE:
- case ANY_OR_OMIT:
- case UNINITIALIZED_TEMPLATE:
- set_size(index_value + 1);
- break;
- default:
- TTCN_error("Accessing an element of a non-specific template for type @General_Types.ProtocolList.");
- break;
-}
-return *single_value.value_elements[index_value];
-}
-
-Protocols_template& ProtocolList_template::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ProtocolList.");
-return (*this)[(int)index_value];
-}
-
-const Protocols_template& ProtocolList_template::operator[](int index_value) const
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @General_Types.ProtocolList using a negative index: %d.", index_value);
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing an element of a non-specific template for type @General_Types.ProtocolList.");
-if (index_value >= single_value.n_elements) TTCN_error("Index overflow in a template of type @General_Types.ProtocolList: The index is %d, but the template has only %d elements.", index_value, single_value.n_elements);
-return *single_value.value_elements[index_value];
-}
-
-const Protocols_template& ProtocolList_template::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @General_Types.ProtocolList.");
-return (*this)[(int)index_value];
-}
-
-void ProtocolList_template::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a template of type @General_Types.ProtocolList.");
-template_sel old_selection = template_selection;
-if (old_selection != SPECIFIC_VALUE) {
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-if (new_size > single_value.n_elements) {
-single_value.value_elements = (Protocols_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new Protocols_template(ANY_VALUE);
-} else {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new Protocols_template;
-}
-single_value.n_elements = new_size;
-} else if (new_size < single_value.n_elements) {
-for (int elem_count = new_size; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-single_value.value_elements = (Protocols_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-single_value.n_elements = new_size;
-}
-}
-
-int ProtocolList_template::n_elem() const
-{
- switch (template_selection) {
- case SPECIFIC_VALUE:
- return single_value.n_elements;
- break;
- case VALUE_LIST:
- return value_list.n_values;
- break;
- default:
- TTCN_error("Performing n_elem");
- }
-}
-
-int ProtocolList_template::size_of(boolean is_size) const
-{
-const char* op_name = is_size ? "size" : "length";
-int min_size;
-boolean has_any_or_none;
-if (is_ifpresent) TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList which has an ifpresent attribute.", op_name);
-switch (template_selection)
-{
-case SPECIFIC_VALUE: {
- min_size = 0;
- has_any_or_none = FALSE;
- int elem_count = single_value.n_elements;
- if (!is_size) { while (elem_count>0 && !single_value.value_elements[elem_count-1]->is_bound()) elem_count--; }
- for (int i=0; i<elem_count; i++) {
- switch (single_value.value_elements[i]->get_selection()) {
- case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList containing omit element.", op_name);
- case ANY_OR_OMIT:
- has_any_or_none = TRUE;
- break;
- default:
- min_size++;
- break;
- }
- }
-} break;
-case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList containing omit value.", op_name);
-case ANY_VALUE:
-case ANY_OR_OMIT:
- min_size = 0;
- has_any_or_none = TRUE;
- break;
-case VALUE_LIST:
-{
- if (value_list.n_values<1)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList containing an empty list.", op_name);
- int item_size = value_list.list_value[0].size_of(is_size);
- for (unsigned int i = 1; i < value_list.n_values; i++) {
- if (value_list.list_value[i].size_of(is_size)!=item_size)
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList containing a value list with different sizes.", op_name);
- }
- min_size = item_size;
- has_any_or_none = FALSE;
- break;
-}
-case COMPLEMENTED_LIST:
- TTCN_error("Performing %sof() operation on a template of type @General_Types.ProtocolList containing complemented list.", op_name);
-default:
- TTCN_error("Performing %sof() operation on an uninitialized/unsupported template of type @General_Types.ProtocolList.", op_name);
-}
-return check_section_is_single(min_size, has_any_or_none, op_name, "a", "template of type @General_Types.ProtocolList");
-}
-
-boolean ProtocolList_template::match(const ProtocolList& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-int value_length = other_value.size_of();
-if (!match_length(value_length)) return FALSE;
-switch (template_selection) {
-case SPECIFIC_VALUE:
-return match_record_of(&other_value, value_length, this, single_value.n_elements, match_function_specific, legacy);
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching with an uninitialized/unsupported template of type @General_Types.ProtocolList.");
-}
-return FALSE;
-}
-
-boolean ProtocolList_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (!single_value.value_elements[elem_count]->is_value()) return FALSE;
-return TRUE;
-}
-
-ProtocolList ProtocolList_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of type @General_Types.ProtocolList.");
-ProtocolList ret_val;
-ret_val.set_size(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (single_value.value_elements[elem_count]->is_bound()) {
-ret_val[elem_count] = single_value.value_elements[elem_count]->valueof();
-}
-return ret_val;
-}
-
-ProtocolList ProtocolList_template::substr(int index, int returncount) const
-{
-if (!is_value()) TTCN_error("The first argument of function substr() is a template with non-specific value.");
-return valueof().substr(index, returncount);
-}
-
-ProtocolList ProtocolList_template::replace(int index, int len, const ProtocolList_template& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl.valueof());
-}
-
-ProtocolList ProtocolList_template::replace(int index, int len, const ProtocolList& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl);
-}
-
-void ProtocolList_template::set_type(template_sel template_type, unsigned int list_length)
-{
-clean_up();
-switch (template_type) {
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = list_length;
-value_list.list_value = new ProtocolList_template[list_length];
-break;
-default:
-TTCN_error("Internal error: Setting an invalid type for a template of type @General_Types.ProtocolList.");
-}
-set_selection(template_type);
-}
-
-ProtocolList_template& ProtocolList_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of type @General_Types.ProtocolList.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @General_Types.ProtocolList.");
-return value_list.list_value[list_index];
-}
-
-void ProtocolList_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.n_elements > 0) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-if (permutation_starts_at(elem_count)) TTCN_Logger::log_event_str("permutation(");
-single_value.value_elements[elem_count]->log();
-if (permutation_ends_at(elem_count)) TTCN_Logger::log_char(')');
-}
-TTCN_Logger::log_event_str(" }");
-} else TTCN_Logger::log_event_str("{ }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_restricted();
-log_ifpresent();
-}
-
-void ProtocolList_template::log_match(const ProtocolList& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-}else{
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if(!single_value.value_elements[elem_count]->match(match_value[elem_count], legacy)){
-TTCN_Logger::log_logmatch_info("[%d]", elem_count);
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-log_match_length(single_value.n_elements);
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-}
-TTCN_Logger::log_event_str(" }");
-log_match_length(single_value.n_elements);
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void ProtocolList_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-text_buf.push_int(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-single_value.value_elements[elem_count]->encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @General_Types.ProtocolList.");
-}
-}
-
-void ProtocolList_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = text_buf.pull_int().get_val();
-if (single_value.n_elements < 0) TTCN_error("Text decoder: Negative size was received for a template of type @General_Types.ProtocolList.");
-single_value.value_elements = (Protocols_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-single_value.value_elements[elem_count] = new Protocols_template;
-single_value.value_elements[elem_count]->decode_text(text_buf);
-}
-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 ProtocolList_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of type @General_Types.ProtocolList.");
-}
-}
-
-boolean ProtocolList_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean ProtocolList_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void ProtocolList_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE|Module_Param::BC_LIST, "record of template");
- switch (param.get_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: {
- ProtocolList_template temp;
- temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = temp;
- break; }
- case Module_Param::MP_Indexed_List:
- if (template_selection!=SPECIFIC_VALUE) set_size(0);
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- (*this)[(int)(param.get_elem(p_i)->get_id()->get_index())].set_param(*param.get_elem(p_i));
- }
- break;
- case Module_Param::MP_Value_List: {
- set_size(param.get_size());
- int curr_idx = 0;
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- switch (param.get_elem(p_i)->get_type()) {
- case Module_Param::MP_NotUsed:
- curr_idx++;
- break;
- case Module_Param::MP_Permutation_Template: {
- int perm_start_idx = curr_idx;
- Module_Param* param_i = param.get_elem(p_i);
- for (size_t perm_i=0; perm_i<param_i->get_size(); perm_i++) {
- (*this)[curr_idx].set_param(*(param_i->get_elem(perm_i)));
- curr_idx++;
- }
- int perm_end_idx = curr_idx - 1;
- add_permutation(perm_start_idx, perm_end_idx);
- } break;
- default:
- (*this)[curr_idx].set_param(*param.get_elem(p_i));
- curr_idx++;
- }
- }
- } break;
- default:
- param.type_error("record of template", "@General_Types.ProtocolList");
- }
- is_ifpresent = param.get_ifpresent();
- set_length_range(param);
-}
-
-void ProtocolList_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-for (int i=0; i<single_value.n_elements; i++) single_value.value_elements[i]->check_restriction(t_res, t_name ? t_name : "@General_Types.ProtocolList");
-return;
-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 : "@General_Types.ProtocolList");
-}
-
-boolean ProtocolList_template::get_istemplate_kind(const char* type) const {
-if (!strcmp(type, "AnyElement")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_VALUE) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "AnyElementsOrNone")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_OR_OMIT) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "permutation")) {
- return number_of_permutations;
-} else if (!strcmp(type, "length")) {
- return length_restriction_type != NO_LENGTH_RESTRICTION;
-} else {
- return Base_Template::get_istemplate_kind(type);
-}
-}
-
-/* Bodies of functions, altsteps and testcases */
-
-void BIT1n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT1n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT1n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT1n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT2n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT2n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT2n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT2n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT3n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT3n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT3n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT3n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT4n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT4n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT4n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT4n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT5n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT5n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT5n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT5n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT6n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT6n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT6n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT6n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT7n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT7n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT7n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT7n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT8n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT8n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT8n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT8n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT9n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT9n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT9n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT9n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT12n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT12n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT12n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT12n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT14n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT14n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT14n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT14n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT15n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT15n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT15n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT15n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT16n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT16n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT16n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT16n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT56n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT56n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT56n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT56n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT14__24n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BITSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT14__24n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BITSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT1np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT1np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT1np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT1np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT2np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT2np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT2np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT2np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT3np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT3np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT3np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT3np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT4np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT4np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT4np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT4np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT5np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT5np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT5np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT5np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT6np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT6np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT6np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT6np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT7np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT7np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT7np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT7np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT15np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT15np_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT15np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT15np_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT1_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT1_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT3_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT3_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT3_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT3_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT4_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT4_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT4_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT4_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT5_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT5_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT5_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT5_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT6_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT6_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT6_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT6_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT7_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT7_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT7_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT7_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT8_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT8_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT8_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT8_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT9_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT9_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT9_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT9_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT10_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT10_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT10_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT10_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT11_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT11_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT11_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT11_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT12_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT12_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT12_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT12_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT13_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT13_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT13_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT13_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT14_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT14_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT14_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT14_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT15_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT15_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT15_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT15_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT16_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT16_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT16_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT16_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT24_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT24_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT24_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT24_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT28_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT28_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT28_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT28_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT29_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT29_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT29_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT29_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT30_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT30_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT30_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT30_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT31_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT31_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT31_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT31_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT32_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT32_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT32_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT32_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT56_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT56_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT56_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT56_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT0n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT0n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT0n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT0n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT1n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT1n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT2n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT2n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT2n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT2n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT3n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT3n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT4n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT4n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT4n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT4n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT5n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT5n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT6n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT6n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT6n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT6n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT7n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT7n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT8n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT8n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT9n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT9n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT9n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT9n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT10n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT10n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT10n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT10n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT11n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT11n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT11n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT11n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT12n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT12n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT12n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT12n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT13n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT13n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT13n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT13n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT14n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT14n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT14n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT14n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT15n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT15n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT15n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT15n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT16n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT16n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT16n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT16n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT17n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT17n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT17n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT17n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT18n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT18n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT18n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT18n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT19n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT19n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT19n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT19n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT20n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT20n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT20n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT20n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT28n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT28n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT28n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT28n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT32n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT32n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT32n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT32n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT34n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT34n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT34n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT34n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT46n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT46n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT46n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT46n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT50n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT50n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT50n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT50n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT69n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT69n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT69n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT69n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT100n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT100n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT100n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT100n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT128n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT128n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT128n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT128n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT500n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT500n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT500n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT500n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCTNn_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCTNn_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__3n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__3n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__4n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__4n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__6n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__6n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__12n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__12n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__15n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__15n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__16n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__16n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__18n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__18n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__20n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__20n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__24n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__24n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__32n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__32n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__34n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__34n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__46n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__46n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__50n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__50n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__112n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__112n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__127n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__127n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__128n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__128n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__172n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__172n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__14n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__14n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__17n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__17n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT4__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT4__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void CHAR4_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(CHAR4_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER CHAR4_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(CHAR4_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX4n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX4n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX4n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX4n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX6n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX6n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX6n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX6n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX8n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX8n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX8n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX8n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX15n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX15n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX15n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX15n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX16n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX16n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX16n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX16n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX24n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX24n_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX24n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX24n_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX0__3n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX0__3n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX0__18n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX0__18n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX1__20n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX1__20n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX1__34n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX1__34n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT3nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT3nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT4nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT4nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT5nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT5nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT8nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT8nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT2nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT2nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT1nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT1nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT3nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT3nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT5nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT5nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT9nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT9nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT13nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT13nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT15nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT15nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT6__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT6__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT6__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT6__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT16__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT16__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT16__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT16__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void BIT32__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(BIT32__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER BIT32__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(BIT32__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Dummy_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Dummy_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Dummy_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Dummy_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT0_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT0_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT2_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT2_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT3_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT3_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT4_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT4_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT4_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT4_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT5_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT5_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT5_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT5_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT6_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT6_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT6_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT6_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT7_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT7_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT7_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT7_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT8_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT8_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT9_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT9_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT9_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT9_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT10_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT10_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT10_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT10_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT11_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT11_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT11_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT11_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT12_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT12_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT12_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT12_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT13_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT13_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT13_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT13_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT14_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT14_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT14_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT14_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT15_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT15_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT15_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT15_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT16_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT16_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT16_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT16_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT17_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT17_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT17_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT17_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT18_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT18_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT18_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT18_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT19_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT19_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT19_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT19_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT20_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT20_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT20_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT20_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT22_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT22_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT22_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT22_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT32_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT32_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT32_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT32_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT34_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT34_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT34_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT34_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT46_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT46_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT46_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT46_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__260_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__260_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__12_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__12_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__32_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__32_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1__50_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1__50_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3__8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3__8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCTN_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCTN_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCTETSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX1_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEX1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX1_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEX1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX0__16_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX0__16_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX5__16_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX5__16_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void HEX1__32_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER HEX1__32_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `hexstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(HEXSTRING_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void LIN1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(LIN1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER LIN1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(LIN1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void LIN2_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(LIN2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER LIN2_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(LIN2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void LIN2__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(LIN2__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER LIN2__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(LIN2__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void LIN3__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(LIN3__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER LIN3__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(LIN3__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void LIN4__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(LIN4__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER LIN4__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(LIN4__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT1b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT1b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT1b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT1b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT2b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT2b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT2b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT2b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT3b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT3b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT3b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT3b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT4b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT4b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT4b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT4b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT5b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT5b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT5b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT5b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT6b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT6b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT6b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT6b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT7b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT7b_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT7b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT7b_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT11b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT11b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT11b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT11b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT12b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT12b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT12b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT12b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT13b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT13b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT13b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT13b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT14b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT14b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT14b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT14b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT18b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT18b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT18b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT18b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT20b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT20b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT20b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT20b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void INT31b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INT31b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER INT31b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INT31b__BO__LAST_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Integers_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Integers_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(INTEGER_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Integers_encoder(const Integers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Integers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Integers_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Integers_decoder(OCTETSTRING& input_stream, Integers& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Integers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Integers_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-boolean operator==(null_type, const Integer__array& other_value)
-{
-if (other_value.val_ptr == NULL)
-TTCN_error("The right operand of comparison is an unbound value of type @General_Types.Integer_array.");
-return other_value.val_ptr->n_elements == 0;
-}
-
-void Integer__array_encoder(const Integer__array& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Integer_array' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Integer__array_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Integer__array_decoder(OCTETSTRING& input_stream, Integer__array& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Integer_array' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Integer__array_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Protocols_encoder(const Protocols& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Protocols' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Protocols_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Protocols_decoder(OCTETSTRING& input_stream, Protocols& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.Protocols' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Protocols_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT1List_encoder(const OCT1List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT1List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT1List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT1List_decoder(OCTETSTRING& input_stream, OCT1List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT1List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT1List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT2List_encoder(const OCT2List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT2List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT2List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT2List_decoder(OCTETSTRING& input_stream, OCT2List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT2List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT2List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT3List_encoder(const OCT3List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT3List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT3List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT3List_decoder(OCTETSTRING& input_stream, OCT3List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT3List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT3List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT4List_encoder(const OCT4List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT4List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT4List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT4List_decoder(OCTETSTRING& input_stream, OCT4List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT4List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT4List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT5List_encoder(const OCT5List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT5List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT5List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT5List_decoder(OCTETSTRING& input_stream, OCT5List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT5List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT5List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT6List_encoder(const OCT6List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT6List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT6List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT6List_decoder(OCTETSTRING& input_stream, OCT6List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT6List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT6List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT7List_encoder(const OCT7List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT7List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT7List_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT7List_decoder(OCTETSTRING& input_stream, OCT7List& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.OCT7List' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT7List_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-boolean operator==(null_type, const ListOfDummy__comptype& other_value)
-{
-if (other_value.val_ptr == NULL)
-TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ListOfDummy_comptype.");
-return other_value.val_ptr->n_elements == 0;
-}
-
-boolean operator==(null_type, const ListOfDummy__CT& other_value)
-{
-if (other_value.val_ptr == NULL)
-TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ListOfDummy_CT.");
-return other_value.val_ptr->n_elements == 0;
-}
-
-boolean operator==(null_type, const ProtocolList& other_value)
-{
-if (other_value.val_ptr == NULL)
-TTCN_error("The right operand of comparison is an unbound value of type @General_Types.ProtocolList.");
-return other_value.val_ptr->n_elements == 0;
-}
-
-void ProtocolList_encoder(const ProtocolList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.ProtocolList' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(ProtocolList_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER ProtocolList_decoder(OCTETSTRING& input_stream, ProtocolList& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@General_Types.ProtocolList' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(ProtocolList_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-
-/* Bodies of static functions */
-
-static boolean init_comp_type(const char *component_type, boolean init_base_comps)
-{
-(void)init_base_comps;
-if (!strcmp(component_type, "Dummy_comptype")) {
-return TRUE;
-} else if (!strcmp(component_type, "Dummy_CT")) {
-return TRUE;
-} else return FALSE;
-}
-
-
-} /* end of namespace */
diff --git a/titan/General_Types.hh b/titan/General_Types.hh
deleted file mode 100644
index dab582a..0000000
--- a/titan/General_Types.hh
+++ /dev/null
@@ -1,2327 +0,0 @@
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef General__Types_HH
-#define General__Types_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-
-#if TTCN3_VERSION != 60500
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.\
- Run make clean and rebuild the project if the version of the compiler changed recently.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef General__Types_HH
-#endif
-
-namespace General__Types {
-
-/* Forward declarations of classes */
-
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER Integers;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template Integers_template;
-class Integer__array;
-class Integer__array_template;
-class Protocols;
-class Protocols_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT1List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT1List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT2List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT2List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT3List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT3List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT4List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT4List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT5List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT5List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT6List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT6List_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING OCT7List;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template OCT7List_template;
-class ListOfDummy__comptype;
-class ListOfDummy__comptype_template;
-class ListOfDummy__CT;
-class ListOfDummy__CT_template;
-class ProtocolList;
-class ProtocolList_template;
-
-} /* end of namespace */
-
-#ifndef General__Types_HH
-#define General__Types_HH
-
-namespace General__Types {
-
-/* Type definitions */
-
-typedef BITSTRING BIT1n;
-typedef BITSTRING_template BIT1n_template;
-typedef BITSTRING BIT2n;
-typedef BITSTRING_template BIT2n_template;
-typedef BITSTRING BIT3n;
-typedef BITSTRING_template BIT3n_template;
-typedef BITSTRING BIT4n;
-typedef BITSTRING_template BIT4n_template;
-typedef BITSTRING BIT5n;
-typedef BITSTRING_template BIT5n_template;
-typedef BITSTRING BIT6n;
-typedef BITSTRING_template BIT6n_template;
-typedef BITSTRING BIT7n;
-typedef BITSTRING_template BIT7n_template;
-typedef BITSTRING BIT8n;
-typedef BITSTRING_template BIT8n_template;
-typedef BITSTRING BIT9n;
-typedef BITSTRING_template BIT9n_template;
-typedef BITSTRING BIT12n;
-typedef BITSTRING_template BIT12n_template;
-typedef BITSTRING BIT14n;
-typedef BITSTRING_template BIT14n_template;
-typedef BITSTRING BIT15n;
-typedef BITSTRING_template BIT15n_template;
-typedef BITSTRING BIT16n;
-typedef BITSTRING_template BIT16n_template;
-typedef BITSTRING BIT56n;
-typedef BITSTRING_template BIT56n_template;
-typedef BITSTRING BIT14__24n;
-typedef BITSTRING_template BIT14__24n_template;
-typedef BITSTRING BIT1np;
-typedef BITSTRING_template BIT1np_template;
-typedef BITSTRING BIT2np;
-typedef BITSTRING_template BIT2np_template;
-typedef BITSTRING BIT3np;
-typedef BITSTRING_template BIT3np_template;
-typedef BITSTRING BIT4np;
-typedef BITSTRING_template BIT4np_template;
-typedef BITSTRING BIT5np;
-typedef BITSTRING_template BIT5np_template;
-typedef BITSTRING BIT6np;
-typedef BITSTRING_template BIT6np_template;
-typedef BITSTRING BIT7np;
-typedef BITSTRING_template BIT7np_template;
-typedef BITSTRING BIT15np;
-typedef BITSTRING_template BIT15np_template;
-typedef BITSTRING BIT1;
-typedef BITSTRING_template BIT1_template;
-typedef BITSTRING BIT2;
-typedef BITSTRING_template BIT2_template;
-typedef BITSTRING BIT3;
-typedef BITSTRING_template BIT3_template;
-typedef BITSTRING BIT4;
-typedef BITSTRING_template BIT4_template;
-typedef BITSTRING BIT5;
-typedef BITSTRING_template BIT5_template;
-typedef BITSTRING BIT6;
-typedef BITSTRING_template BIT6_template;
-typedef BITSTRING BIT7;
-typedef BITSTRING_template BIT7_template;
-typedef BITSTRING BIT8;
-typedef BITSTRING_template BIT8_template;
-typedef BITSTRING BIT9;
-typedef BITSTRING_template BIT9_template;
-typedef BITSTRING BIT10;
-typedef BITSTRING_template BIT10_template;
-typedef BITSTRING BIT11;
-typedef BITSTRING_template BIT11_template;
-typedef BITSTRING BIT12;
-typedef BITSTRING_template BIT12_template;
-typedef BITSTRING BIT13;
-typedef BITSTRING_template BIT13_template;
-typedef BITSTRING BIT14;
-typedef BITSTRING_template BIT14_template;
-typedef BITSTRING BIT15;
-typedef BITSTRING_template BIT15_template;
-typedef BITSTRING BIT16;
-typedef BITSTRING_template BIT16_template;
-typedef BITSTRING BIT24;
-typedef BITSTRING_template BIT24_template;
-typedef BITSTRING BIT28;
-typedef BITSTRING_template BIT28_template;
-typedef BITSTRING BIT29;
-typedef BITSTRING_template BIT29_template;
-typedef BITSTRING BIT30;
-typedef BITSTRING_template BIT30_template;
-typedef BITSTRING BIT31;
-typedef BITSTRING_template BIT31_template;
-typedef BITSTRING BIT32;
-typedef BITSTRING_template BIT32_template;
-typedef BITSTRING BIT56;
-typedef BITSTRING_template BIT56_template;
-typedef OCTETSTRING OCT0n;
-typedef OCTETSTRING_template OCT0n_template;
-typedef OCTETSTRING OCT1n;
-typedef OCTETSTRING_template OCT1n_template;
-typedef OCTETSTRING OCT2n;
-typedef OCTETSTRING_template OCT2n_template;
-typedef OCTETSTRING OCT3n;
-typedef OCTETSTRING_template OCT3n_template;
-typedef OCTETSTRING OCT4n;
-typedef OCTETSTRING_template OCT4n_template;
-typedef OCTETSTRING OCT5n;
-typedef OCTETSTRING_template OCT5n_template;
-typedef OCTETSTRING OCT6n;
-typedef OCTETSTRING_template OCT6n_template;
-typedef OCTETSTRING OCT7n;
-typedef OCTETSTRING_template OCT7n_template;
-typedef OCTETSTRING OCT8n;
-typedef OCTETSTRING_template OCT8n_template;
-typedef OCTETSTRING OCT9n;
-typedef OCTETSTRING_template OCT9n_template;
-typedef OCTETSTRING OCT10n;
-typedef OCTETSTRING_template OCT10n_template;
-typedef OCTETSTRING OCT11n;
-typedef OCTETSTRING_template OCT11n_template;
-typedef OCTETSTRING OCT12n;
-typedef OCTETSTRING_template OCT12n_template;
-typedef OCTETSTRING OCT13n;
-typedef OCTETSTRING_template OCT13n_template;
-typedef OCTETSTRING OCT14n;
-typedef OCTETSTRING_template OCT14n_template;
-typedef OCTETSTRING OCT15n;
-typedef OCTETSTRING_template OCT15n_template;
-typedef OCTETSTRING OCT16n;
-typedef OCTETSTRING_template OCT16n_template;
-typedef OCTETSTRING OCT17n;
-typedef OCTETSTRING_template OCT17n_template;
-typedef OCTETSTRING OCT18n;
-typedef OCTETSTRING_template OCT18n_template;
-typedef OCTETSTRING OCT19n;
-typedef OCTETSTRING_template OCT19n_template;
-typedef OCTETSTRING OCT20n;
-typedef OCTETSTRING_template OCT20n_template;
-typedef OCTETSTRING OCT28n;
-typedef OCTETSTRING_template OCT28n_template;
-typedef OCTETSTRING OCT32n;
-typedef OCTETSTRING_template OCT32n_template;
-typedef OCTETSTRING OCT34n;
-typedef OCTETSTRING_template OCT34n_template;
-typedef OCTETSTRING OCT46n;
-typedef OCTETSTRING_template OCT46n_template;
-typedef OCTETSTRING OCT50n;
-typedef OCTETSTRING_template OCT50n_template;
-typedef OCTETSTRING OCT69n;
-typedef OCTETSTRING_template OCT69n_template;
-typedef OCTETSTRING OCT100n;
-typedef OCTETSTRING_template OCT100n_template;
-typedef OCTETSTRING OCT128n;
-typedef OCTETSTRING_template OCT128n_template;
-typedef OCTETSTRING OCT500n;
-typedef OCTETSTRING_template OCT500n_template;
-typedef OCTETSTRING OCTNn;
-typedef OCTETSTRING_template OCTNn_template;
-typedef OCTETSTRING OCT1__3n;
-typedef OCTETSTRING_template OCT1__3n_template;
-typedef OCTETSTRING OCT1__4n;
-typedef OCTETSTRING_template OCT1__4n_template;
-typedef OCTETSTRING OCT1__5n;
-typedef OCTETSTRING_template OCT1__5n_template;
-typedef OCTETSTRING OCT1__6n;
-typedef OCTETSTRING_template OCT1__6n_template;
-typedef OCTETSTRING OCT1__7n;
-typedef OCTETSTRING_template OCT1__7n_template;
-typedef OCTETSTRING OCT1__8n;
-typedef OCTETSTRING_template OCT1__8n_template;
-typedef OCTETSTRING OCT1__12n;
-typedef OCTETSTRING_template OCT1__12n_template;
-typedef OCTETSTRING OCT1__15n;
-typedef OCTETSTRING_template OCT1__15n_template;
-typedef OCTETSTRING OCT1__16n;
-typedef OCTETSTRING_template OCT1__16n_template;
-typedef OCTETSTRING OCT1__18n;
-typedef OCTETSTRING_template OCT1__18n_template;
-typedef OCTETSTRING OCT1__20n;
-typedef OCTETSTRING_template OCT1__20n_template;
-typedef OCTETSTRING OCT1__24n;
-typedef OCTETSTRING_template OCT1__24n_template;
-typedef OCTETSTRING OCT1__32n;
-typedef OCTETSTRING_template OCT1__32n_template;
-typedef OCTETSTRING OCT1__34n;
-typedef OCTETSTRING_template OCT1__34n_template;
-typedef OCTETSTRING OCT1__46n;
-typedef OCTETSTRING_template OCT1__46n_template;
-typedef OCTETSTRING OCT1__50n;
-typedef OCTETSTRING_template OCT1__50n_template;
-typedef OCTETSTRING OCT1__112n;
-typedef OCTETSTRING_template OCT1__112n_template;
-typedef OCTETSTRING OCT1__127n;
-typedef OCTETSTRING_template OCT1__127n_template;
-typedef OCTETSTRING OCT1__128n;
-typedef OCTETSTRING_template OCT1__128n_template;
-typedef OCTETSTRING OCT1__172n;
-typedef OCTETSTRING_template OCT1__172n_template;
-typedef OCTETSTRING OCT3__5n;
-typedef OCTETSTRING_template OCT3__5n_template;
-typedef OCTETSTRING OCT3__7n;
-typedef OCTETSTRING_template OCT3__7n_template;
-typedef OCTETSTRING OCT3__8n;
-typedef OCTETSTRING_template OCT3__8n_template;
-typedef OCTETSTRING OCT3__14n;
-typedef OCTETSTRING_template OCT3__14n_template;
-typedef OCTETSTRING OCT3__17n;
-typedef OCTETSTRING_template OCT3__17n_template;
-typedef OCTETSTRING OCT4__8n;
-typedef OCTETSTRING_template OCT4__8n_template;
-typedef CHARSTRING CHAR4;
-typedef CHARSTRING_template CHAR4_template;
-typedef HEXSTRING HEX4n;
-typedef HEXSTRING_template HEX4n_template;
-typedef HEXSTRING HEX6n;
-typedef HEXSTRING_template HEX6n_template;
-typedef HEXSTRING HEX8n;
-typedef HEXSTRING_template HEX8n_template;
-typedef HEXSTRING HEX15n;
-typedef HEXSTRING_template HEX15n_template;
-typedef HEXSTRING HEX16n;
-typedef HEXSTRING_template HEX16n_template;
-typedef HEXSTRING HEX24n;
-typedef HEXSTRING_template HEX24n_template;
-typedef HEXSTRING HEX0__3n;
-typedef HEXSTRING_template HEX0__3n_template;
-typedef HEXSTRING HEX0__18n;
-typedef HEXSTRING_template HEX0__18n_template;
-typedef HEXSTRING HEX1__20n;
-typedef HEXSTRING_template HEX1__20n_template;
-typedef HEXSTRING HEX1__34n;
-typedef HEXSTRING_template HEX1__34n_template;
-typedef INTEGER INT3nb;
-typedef INTEGER_template INT3nb_template;
-typedef INTEGER INT4nb;
-typedef INTEGER_template INT4nb_template;
-typedef INTEGER INT5nb;
-typedef INTEGER_template INT5nb_template;
-typedef INTEGER INT8nb;
-typedef INTEGER_template INT8nb_template;
-typedef INTEGER INT2nbp;
-typedef INTEGER_template INT2nbp_template;
-typedef INTEGER INT1nbp;
-typedef INTEGER_template INT1nbp_template;
-typedef INTEGER INT3nbp;
-typedef INTEGER_template INT3nbp_template;
-typedef INTEGER INT5nbp;
-typedef INTEGER_template INT5nbp_template;
-typedef INTEGER INT9nbp;
-typedef INTEGER_template INT9nbp_template;
-typedef INTEGER INT13nbp;
-typedef INTEGER_template INT13nbp_template;
-typedef INTEGER INT15nbp;
-typedef INTEGER_template INT15nbp_template;
-typedef BITSTRING BIT6__BO__LAST;
-typedef BITSTRING_template BIT6__BO__LAST_template;
-typedef BITSTRING BIT16__BO__LAST;
-typedef BITSTRING_template BIT16__BO__LAST_template;
-typedef BITSTRING BIT32__BO__LAST;
-typedef BITSTRING_template BIT32__BO__LAST_template;
-typedef OCTETSTRING Dummy;
-typedef OCTETSTRING_template Dummy_template;
-typedef OCTETSTRING OCT0;
-typedef OCTETSTRING_template OCT0_template;
-typedef OCTETSTRING OCT1;
-typedef OCTETSTRING_template OCT1_template;
-typedef OCTETSTRING OCT2;
-typedef OCTETSTRING_template OCT2_template;
-typedef OCTETSTRING OCT3;
-typedef OCTETSTRING_template OCT3_template;
-typedef OCTETSTRING OCT4;
-typedef OCTETSTRING_template OCT4_template;
-typedef OCTETSTRING OCT5;
-typedef OCTETSTRING_template OCT5_template;
-typedef OCTETSTRING OCT6;
-typedef OCTETSTRING_template OCT6_template;
-typedef OCTETSTRING OCT7;
-typedef OCTETSTRING_template OCT7_template;
-typedef OCTETSTRING OCT8;
-typedef OCTETSTRING_template OCT8_template;
-typedef OCTETSTRING OCT9;
-typedef OCTETSTRING_template OCT9_template;
-typedef OCTETSTRING OCT10;
-typedef OCTETSTRING_template OCT10_template;
-typedef OCTETSTRING OCT11;
-typedef OCTETSTRING_template OCT11_template;
-typedef OCTETSTRING OCT12;
-typedef OCTETSTRING_template OCT12_template;
-typedef OCTETSTRING OCT13;
-typedef OCTETSTRING_template OCT13_template;
-typedef OCTETSTRING OCT14;
-typedef OCTETSTRING_template OCT14_template;
-typedef OCTETSTRING OCT15;
-typedef OCTETSTRING_template OCT15_template;
-typedef OCTETSTRING OCT16;
-typedef OCTETSTRING_template OCT16_template;
-typedef OCTETSTRING OCT17;
-typedef OCTETSTRING_template OCT17_template;
-typedef OCTETSTRING OCT18;
-typedef OCTETSTRING_template OCT18_template;
-typedef OCTETSTRING OCT19;
-typedef OCTETSTRING_template OCT19_template;
-typedef OCTETSTRING OCT20;
-typedef OCTETSTRING_template OCT20_template;
-typedef OCTETSTRING OCT22;
-typedef OCTETSTRING_template OCT22_template;
-typedef OCTETSTRING OCT32;
-typedef OCTETSTRING_template OCT32_template;
-typedef OCTETSTRING OCT34;
-typedef OCTETSTRING_template OCT34_template;
-typedef OCTETSTRING OCT46;
-typedef OCTETSTRING_template OCT46_template;
-typedef OCTETSTRING OCT1__260;
-typedef OCTETSTRING_template OCT1__260_template;
-typedef OCTETSTRING OCT1__8;
-typedef OCTETSTRING_template OCT1__8_template;
-typedef OCTETSTRING OCT1__12;
-typedef OCTETSTRING_template OCT1__12_template;
-typedef OCTETSTRING OCT1__32;
-typedef OCTETSTRING_template OCT1__32_template;
-typedef OCTETSTRING OCT1__50;
-typedef OCTETSTRING_template OCT1__50_template;
-typedef OCTETSTRING OCT3__8;
-typedef OCTETSTRING_template OCT3__8_template;
-typedef OCTETSTRING OCTN;
-typedef OCTETSTRING_template OCTN_template;
-typedef HEXSTRING HEX1;
-typedef HEXSTRING_template HEX1_template;
-typedef HEXSTRING HEX0__16;
-typedef HEXSTRING_template HEX0__16_template;
-typedef HEXSTRING HEX5__16;
-typedef HEXSTRING_template HEX5__16_template;
-typedef HEXSTRING HEX1__32;
-typedef HEXSTRING_template HEX1__32_template;
-typedef INTEGER INT1;
-typedef INTEGER_template INT1_template;
-typedef INTEGER LIN1;
-typedef INTEGER_template LIN1_template;
-typedef INTEGER LIN2;
-typedef INTEGER_template LIN2_template;
-typedef INTEGER LIN2__BO__LAST;
-typedef INTEGER_template LIN2__BO__LAST_template;
-typedef INTEGER LIN3__BO__LAST;
-typedef INTEGER_template LIN3__BO__LAST_template;
-typedef INTEGER LIN4__BO__LAST;
-typedef INTEGER_template LIN4__BO__LAST_template;
-typedef INTEGER INT1b;
-typedef INTEGER_template INT1b_template;
-typedef INTEGER INT2b;
-typedef INTEGER_template INT2b_template;
-typedef INTEGER INT3b;
-typedef INTEGER_template INT3b_template;
-typedef INTEGER INT4b;
-typedef INTEGER_template INT4b_template;
-typedef INTEGER INT5b;
-typedef INTEGER_template INT5b_template;
-typedef INTEGER INT6b;
-typedef INTEGER_template INT6b_template;
-typedef INTEGER INT7b;
-typedef INTEGER_template INT7b_template;
-typedef INTEGER INT11b__BO__LAST;
-typedef INTEGER_template INT11b__BO__LAST_template;
-typedef INTEGER INT12b__BO__LAST;
-typedef INTEGER_template INT12b__BO__LAST_template;
-typedef INTEGER INT13b__BO__LAST;
-typedef INTEGER_template INT13b__BO__LAST_template;
-typedef INTEGER INT14b__BO__LAST;
-typedef INTEGER_template INT14b__BO__LAST_template;
-typedef INTEGER INT18b__BO__LAST;
-typedef INTEGER_template INT18b__BO__LAST_template;
-typedef INTEGER INT20b__BO__LAST;
-typedef INTEGER_template INT20b__BO__LAST_template;
-typedef INTEGER INT31b__BO__LAST;
-typedef INTEGER_template INT31b__BO__LAST_template;
-typedef COMPONENT Dummy__comptype;
-typedef COMPONENT_template Dummy__comptype_template;
-typedef COMPONENT Dummy__CT;
-typedef COMPONENT_template Dummy__CT_template;
-
-/* Class definitions */
-
-class Integer__array : public Base_Type {
-struct recordof_setof_struct {
-int ref_count;
-int n_elements;
-Integers **value_elements;
-} *val_ptr;
-
-static const Integers UNBOUND_ELEM;
-private:
-friend boolean operator==(null_type null_value, const Integer__array& other_value);
-
-public:
- typedef Integers of_type;
-Integer__array();
-Integer__array(null_type other_value);
-Integer__array(const Integer__array& other_value);
-~Integer__array();
-
-void clean_up();
-Integer__array& operator=(null_type other_value);
-Integer__array& operator=(const Integer__array& other_value);
-
-boolean operator==(null_type other_value) const;
-boolean operator==(const Integer__array& other_value) const;
-inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const Integer__array& other_value) const { return !(*this == other_value); }
-
-Integers& operator[](int index_value);
-Integers& operator[](const INTEGER& index_value);
-const Integers& operator[](int index_value) const;
-const Integers& operator[](const INTEGER& index_value) const;
-
-Integer__array operator<<=(int rotate_count) const;
-Integer__array operator<<=(const INTEGER& rotate_count) const;
-Integer__array operator>>=(int rotate_count) const;
-Integer__array operator>>=(const INTEGER& rotate_count) const;
-
-Integer__array operator+(const Integer__array& other_value) const;
-
-Integer__array substr(int index, int returncount) const;
-
-Integer__array replace(int index, int len, const Integer__array& repl) const;
-
-Integer__array replace(int index, int len, const Integer__array_template& repl) const;
-
-void set_size(int new_size);
-inline boolean is_bound() const {return val_ptr != NULL; }
-inline boolean is_present() const { return is_bound(); }
-boolean is_value() const;
-int size_of() const;
-int n_elem() const { return size_of(); }
-int lengthof() const;
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class Integer__array_template : public Record_Of_Template {
-union {
-struct {
-int n_elements;
-Integers_template **value_elements;
-} single_value;
-struct {
-unsigned int n_values;
-Integer__array_template *list_value;
-} value_list;
-};
-void copy_value(const Integer__array& other_value);
-void copy_template(const Integer__array_template& other_value);
-static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
-
-public:
-Integer__array_template();
-Integer__array_template(template_sel other_value);
-Integer__array_template(null_type other_value);
-Integer__array_template(const Integer__array& other_value);
-Integer__array_template(const OPTIONAL<Integer__array>& other_value);
-Integer__array_template(const Integer__array_template& other_value);
-~Integer__array_template();
-
-void clean_up();
-Integer__array_template& operator=(template_sel other_value);
-Integer__array_template& operator=(null_type other_value);
-Integer__array_template& operator=(const Integer__array& other_value);
-Integer__array_template& operator=(const OPTIONAL<Integer__array>& other_value);
-Integer__array_template& operator=(const Integer__array_template& other_value);
-
-Integers_template& operator[](int index_value);
-Integers_template& operator[](const INTEGER& index_value);
-const Integers_template& operator[](int index_value) const;
-const Integers_template& operator[](const INTEGER& index_value) const;
-
-void set_size(int new_size);
-int n_elem() const;
-int size_of(boolean is_size) const;
-inline int size_of() const { return size_of(TRUE); }
-inline int lengthof() const { return size_of(FALSE); }
-boolean match(const Integer__array& other_value, boolean legacy = FALSE) const;
-inline boolean is_bound() const
- {return template_selection != UNINITIALIZED_TEMPLATE; }
-boolean is_value() const;
-Integer__array valueof() const;
-Integer__array substr(int index, int returncount) const;
-
-Integer__array replace(int index, int len, const Integer__array_template& repl) const;
-
-Integer__array replace(int index, int len, const Integer__array& repl) const;
-
-void set_type(template_sel template_type, unsigned int list_length);
-Integer__array_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const Integer__array& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean get_istemplate_kind(const char* type) const;
-};
-
-class Protocols : public Base_Type { // enum
-friend class Protocols_template;
-public:
-enum enum_type { mtp3 = 0, sccp = 1, isup = 2, bicc = 3, qaal2 = 4, gcp = 5, bssap = 6, bssmap = 7, ranap = 8, dtap = 9, UNKNOWN_VALUE = 10, UNBOUND_VALUE = 11 };
-private:
-enum_type enum_value;
-
-public:
-Protocols();
-Protocols(int other_value);
-Protocols(enum_type other_value);
-Protocols(const Protocols& other_value);
-
-Protocols& operator=(int other_value);
-Protocols& operator=(enum_type other_value);
-Protocols& operator=(const Protocols& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const Protocols& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const Protocols& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const Protocols& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const Protocols& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const Protocols& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const Protocols& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const Protocols& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class Protocols_template : public Base_Template {
-union {
-Protocols::enum_type single_value;
-struct {
-unsigned int n_values;
-Protocols_template *list_value;
-} value_list;
-};
-
-void copy_template(const Protocols_template& other_value);
-
-public:
-Protocols_template();
-Protocols_template(template_sel other_value);
-Protocols_template(int other_value);
-Protocols_template(Protocols::enum_type other_value);
-Protocols_template(const Protocols& other_value);
-Protocols_template(const OPTIONAL<Protocols>& other_value);
-Protocols_template(const Protocols_template& other_value);
-~Protocols_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-Protocols_template& operator=(template_sel other_value);
-Protocols_template& operator=(int other_value);
-Protocols_template& operator=(Protocols::enum_type other_value);
-Protocols_template& operator=(const Protocols& other_value);
-Protocols_template& operator=(const OPTIONAL<Protocols>& other_value);
-Protocols_template& operator=(const Protocols_template& other_value);
-
-boolean match(Protocols::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const Protocols& other_value, boolean legacy = FALSE) const;
-Protocols::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-Protocols_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const Protocols& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class ListOfDummy__comptype : public Base_Type {
-struct recordof_setof_struct {
-int ref_count;
-int n_elements;
-COMPONENT **value_elements;
-} *val_ptr;
-
-static const COMPONENT UNBOUND_ELEM;
-private:
-friend boolean operator==(null_type null_value, const ListOfDummy__comptype& other_value);
-
-public:
- typedef COMPONENT of_type;
-ListOfDummy__comptype();
-ListOfDummy__comptype(null_type other_value);
-ListOfDummy__comptype(const ListOfDummy__comptype& other_value);
-~ListOfDummy__comptype();
-
-void clean_up();
-ListOfDummy__comptype& operator=(null_type other_value);
-ListOfDummy__comptype& operator=(const ListOfDummy__comptype& other_value);
-
-boolean operator==(null_type other_value) const;
-boolean operator==(const ListOfDummy__comptype& other_value) const;
-inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const ListOfDummy__comptype& other_value) const { return !(*this == other_value); }
-
-COMPONENT& operator[](int index_value);
-COMPONENT& operator[](const INTEGER& index_value);
-const COMPONENT& operator[](int index_value) const;
-const COMPONENT& operator[](const INTEGER& index_value) const;
-
-ListOfDummy__comptype operator<<=(int rotate_count) const;
-ListOfDummy__comptype operator<<=(const INTEGER& rotate_count) const;
-ListOfDummy__comptype operator>>=(int rotate_count) const;
-ListOfDummy__comptype operator>>=(const INTEGER& rotate_count) const;
-
-ListOfDummy__comptype operator+(const ListOfDummy__comptype& other_value) const;
-
-ListOfDummy__comptype substr(int index, int returncount) const;
-
-ListOfDummy__comptype replace(int index, int len, const ListOfDummy__comptype& repl) const;
-
-ListOfDummy__comptype replace(int index, int len, const ListOfDummy__comptype_template& repl) const;
-
-void set_size(int new_size);
-inline boolean is_bound() const {return val_ptr != NULL; }
-inline boolean is_present() const { return is_bound(); }
-boolean is_value() const;
-int size_of() const;
-int n_elem() const { return size_of(); }
-int lengthof() const;
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-};
-
-class ListOfDummy__comptype_template : public Record_Of_Template {
-union {
-struct {
-int n_elements;
-COMPONENT_template **value_elements;
-} single_value;
-struct {
-unsigned int n_values;
-ListOfDummy__comptype_template *list_value;
-} value_list;
-};
-void copy_value(const ListOfDummy__comptype& other_value);
-void copy_template(const ListOfDummy__comptype_template& other_value);
-static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
-
-public:
-ListOfDummy__comptype_template();
-ListOfDummy__comptype_template(template_sel other_value);
-ListOfDummy__comptype_template(null_type other_value);
-ListOfDummy__comptype_template(const ListOfDummy__comptype& other_value);
-ListOfDummy__comptype_template(const OPTIONAL<ListOfDummy__comptype>& other_value);
-ListOfDummy__comptype_template(const ListOfDummy__comptype_template& other_value);
-~ListOfDummy__comptype_template();
-
-void clean_up();
-ListOfDummy__comptype_template& operator=(template_sel other_value);
-ListOfDummy__comptype_template& operator=(null_type other_value);
-ListOfDummy__comptype_template& operator=(const ListOfDummy__comptype& other_value);
-ListOfDummy__comptype_template& operator=(const OPTIONAL<ListOfDummy__comptype>& other_value);
-ListOfDummy__comptype_template& operator=(const ListOfDummy__comptype_template& other_value);
-
-COMPONENT_template& operator[](int index_value);
-COMPONENT_template& operator[](const INTEGER& index_value);
-const COMPONENT_template& operator[](int index_value) const;
-const COMPONENT_template& operator[](const INTEGER& index_value) const;
-
-void set_size(int new_size);
-int n_elem() const;
-int size_of(boolean is_size) const;
-inline int size_of() const { return size_of(TRUE); }
-inline int lengthof() const { return size_of(FALSE); }
-boolean match(const ListOfDummy__comptype& other_value, boolean legacy = FALSE) const;
-inline boolean is_bound() const
- {return template_selection != UNINITIALIZED_TEMPLATE; }
-boolean is_value() const;
-ListOfDummy__comptype valueof() const;
-ListOfDummy__comptype substr(int index, int returncount) const;
-
-ListOfDummy__comptype replace(int index, int len, const ListOfDummy__comptype_template& repl) const;
-
-ListOfDummy__comptype replace(int index, int len, const ListOfDummy__comptype& repl) const;
-
-void set_type(template_sel template_type, unsigned int list_length);
-ListOfDummy__comptype_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const ListOfDummy__comptype& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean get_istemplate_kind(const char* type) const;
-};
-
-class ListOfDummy__CT : public Base_Type {
-struct recordof_setof_struct {
-int ref_count;
-int n_elements;
-COMPONENT **value_elements;
-} *val_ptr;
-
-static const COMPONENT UNBOUND_ELEM;
-private:
-friend boolean operator==(null_type null_value, const ListOfDummy__CT& other_value);
-
-public:
- typedef COMPONENT of_type;
-ListOfDummy__CT();
-ListOfDummy__CT(null_type other_value);
-ListOfDummy__CT(const ListOfDummy__CT& other_value);
-~ListOfDummy__CT();
-
-void clean_up();
-ListOfDummy__CT& operator=(null_type other_value);
-ListOfDummy__CT& operator=(const ListOfDummy__CT& other_value);
-
-boolean operator==(null_type other_value) const;
-boolean operator==(const ListOfDummy__CT& other_value) const;
-inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const ListOfDummy__CT& other_value) const { return !(*this == other_value); }
-
-COMPONENT& operator[](int index_value);
-COMPONENT& operator[](const INTEGER& index_value);
-const COMPONENT& operator[](int index_value) const;
-const COMPONENT& operator[](const INTEGER& index_value) const;
-
-ListOfDummy__CT operator<<=(int rotate_count) const;
-ListOfDummy__CT operator<<=(const INTEGER& rotate_count) const;
-ListOfDummy__CT operator>>=(int rotate_count) const;
-ListOfDummy__CT operator>>=(const INTEGER& rotate_count) const;
-
-ListOfDummy__CT operator+(const ListOfDummy__CT& other_value) const;
-
-ListOfDummy__CT substr(int index, int returncount) const;
-
-ListOfDummy__CT replace(int index, int len, const ListOfDummy__CT& repl) const;
-
-ListOfDummy__CT replace(int index, int len, const ListOfDummy__CT_template& repl) const;
-
-void set_size(int new_size);
-inline boolean is_bound() const {return val_ptr != NULL; }
-inline boolean is_present() const { return is_bound(); }
-boolean is_value() const;
-int size_of() const;
-int n_elem() const { return size_of(); }
-int lengthof() const;
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-};
-
-class ListOfDummy__CT_template : public Record_Of_Template {
-union {
-struct {
-int n_elements;
-COMPONENT_template **value_elements;
-} single_value;
-struct {
-unsigned int n_values;
-ListOfDummy__CT_template *list_value;
-} value_list;
-};
-void copy_value(const ListOfDummy__CT& other_value);
-void copy_template(const ListOfDummy__CT_template& other_value);
-static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
-
-public:
-ListOfDummy__CT_template();
-ListOfDummy__CT_template(template_sel other_value);
-ListOfDummy__CT_template(null_type other_value);
-ListOfDummy__CT_template(const ListOfDummy__CT& other_value);
-ListOfDummy__CT_template(const OPTIONAL<ListOfDummy__CT>& other_value);
-ListOfDummy__CT_template(const ListOfDummy__CT_template& other_value);
-~ListOfDummy__CT_template();
-
-void clean_up();
-ListOfDummy__CT_template& operator=(template_sel other_value);
-ListOfDummy__CT_template& operator=(null_type other_value);
-ListOfDummy__CT_template& operator=(const ListOfDummy__CT& other_value);
-ListOfDummy__CT_template& operator=(const OPTIONAL<ListOfDummy__CT>& other_value);
-ListOfDummy__CT_template& operator=(const ListOfDummy__CT_template& other_value);
-
-COMPONENT_template& operator[](int index_value);
-COMPONENT_template& operator[](const INTEGER& index_value);
-const COMPONENT_template& operator[](int index_value) const;
-const COMPONENT_template& operator[](const INTEGER& index_value) const;
-
-void set_size(int new_size);
-int n_elem() const;
-int size_of(boolean is_size) const;
-inline int size_of() const { return size_of(TRUE); }
-inline int lengthof() const { return size_of(FALSE); }
-boolean match(const ListOfDummy__CT& other_value, boolean legacy = FALSE) const;
-inline boolean is_bound() const
- {return template_selection != UNINITIALIZED_TEMPLATE; }
-boolean is_value() const;
-ListOfDummy__CT valueof() const;
-ListOfDummy__CT substr(int index, int returncount) const;
-
-ListOfDummy__CT replace(int index, int len, const ListOfDummy__CT_template& repl) const;
-
-ListOfDummy__CT replace(int index, int len, const ListOfDummy__CT& repl) const;
-
-void set_type(template_sel template_type, unsigned int list_length);
-ListOfDummy__CT_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const ListOfDummy__CT& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean get_istemplate_kind(const char* type) const;
-};
-
-class ProtocolList : public Base_Type {
-struct recordof_setof_struct {
-int ref_count;
-int n_elements;
-Protocols **value_elements;
-} *val_ptr;
-
-static const Protocols UNBOUND_ELEM;
-private:
-friend boolean operator==(null_type null_value, const ProtocolList& other_value);
-
-public:
- typedef Protocols of_type;
-ProtocolList();
-ProtocolList(null_type other_value);
-ProtocolList(const ProtocolList& other_value);
-~ProtocolList();
-
-void clean_up();
-ProtocolList& operator=(null_type other_value);
-ProtocolList& operator=(const ProtocolList& other_value);
-
-boolean operator==(null_type other_value) const;
-boolean operator==(const ProtocolList& other_value) const;
-inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const ProtocolList& other_value) const { return !(*this == other_value); }
-
-Protocols& operator[](int index_value);
-Protocols& operator[](const INTEGER& index_value);
-const Protocols& operator[](int index_value) const;
-const Protocols& operator[](const INTEGER& index_value) const;
-
-ProtocolList operator<<=(int rotate_count) const;
-ProtocolList operator<<=(const INTEGER& rotate_count) const;
-ProtocolList operator>>=(int rotate_count) const;
-ProtocolList operator>>=(const INTEGER& rotate_count) const;
-
-ProtocolList operator+(const ProtocolList& other_value) const;
-
-ProtocolList substr(int index, int returncount) const;
-
-ProtocolList replace(int index, int len, const ProtocolList& repl) const;
-
-ProtocolList replace(int index, int len, const ProtocolList_template& repl) const;
-
-void set_size(int new_size);
-inline boolean is_bound() const {return val_ptr != NULL; }
-inline boolean is_present() const { return is_bound(); }
-boolean is_value() const;
-int size_of() const;
-int n_elem() const { return size_of(); }
-int lengthof() const;
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class ProtocolList_template : public Record_Of_Template {
-union {
-struct {
-int n_elements;
-Protocols_template **value_elements;
-} single_value;
-struct {
-unsigned int n_values;
-ProtocolList_template *list_value;
-} value_list;
-};
-void copy_value(const ProtocolList& other_value);
-void copy_template(const ProtocolList_template& other_value);
-static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
-
-public:
-ProtocolList_template();
-ProtocolList_template(template_sel other_value);
-ProtocolList_template(null_type other_value);
-ProtocolList_template(const ProtocolList& other_value);
-ProtocolList_template(const OPTIONAL<ProtocolList>& other_value);
-ProtocolList_template(const ProtocolList_template& other_value);
-~ProtocolList_template();
-
-void clean_up();
-ProtocolList_template& operator=(template_sel other_value);
-ProtocolList_template& operator=(null_type other_value);
-ProtocolList_template& operator=(const ProtocolList& other_value);
-ProtocolList_template& operator=(const OPTIONAL<ProtocolList>& other_value);
-ProtocolList_template& operator=(const ProtocolList_template& other_value);
-
-Protocols_template& operator[](int index_value);
-Protocols_template& operator[](const INTEGER& index_value);
-const Protocols_template& operator[](int index_value) const;
-const Protocols_template& operator[](const INTEGER& index_value) const;
-
-void set_size(int new_size);
-int n_elem() const;
-int size_of(boolean is_size) const;
-inline int size_of() const { return size_of(TRUE); }
-inline int lengthof() const { return size_of(FALSE); }
-boolean match(const ProtocolList& other_value, boolean legacy = FALSE) const;
-inline boolean is_bound() const
- {return template_selection != UNINITIALIZED_TEMPLATE; }
-boolean is_value() const;
-ProtocolList valueof() const;
-ProtocolList substr(int index, int returncount) const;
-
-ProtocolList replace(int index, int len, const ProtocolList_template& repl) const;
-
-ProtocolList replace(int index, int len, const ProtocolList& repl) const;
-
-void set_type(template_sel template_type, unsigned int list_length);
-ProtocolList_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const ProtocolList& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean get_istemplate_kind(const char* type) const;
-};
-
-
-/* Function prototypes */
-
-extern void BIT1n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT1n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT2n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT2n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT3n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT3n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT4n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT4n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT5n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT5n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT6n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT6n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT7n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT7n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT8n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT8n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT9n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT9n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT12n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT12n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT14n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT14n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT15n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT15n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT16n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT16n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT56n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT56n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT14__24n_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT14__24n_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT1np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT1np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT2np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT2np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT3np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT3np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT4np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT4np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT5np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT5np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT6np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT6np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT7np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT7np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT15np_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT15np_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT1_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT1_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT3_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT3_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT4_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT4_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT5_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT5_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT6_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT6_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT7_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT7_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT8_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT8_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT9_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT9_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT10_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT10_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT11_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT11_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT12_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT12_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT13_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT13_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT14_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT14_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT15_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT15_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT16_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT16_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT24_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT24_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT28_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT28_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT29_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT29_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT30_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT30_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT31_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT31_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT32_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT32_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT56_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT56_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT0n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT0n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT2n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT2n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT4n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT4n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT6n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT6n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT9n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT9n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT10n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT10n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT11n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT11n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT12n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT12n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT13n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT13n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT14n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT14n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT15n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT15n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT16n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT16n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT17n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT17n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT18n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT18n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT19n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT19n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT20n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT20n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT28n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT28n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT32n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT32n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT34n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT34n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT46n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT46n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT50n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT50n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT69n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT69n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT100n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT100n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT128n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT128n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT500n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT500n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCTNn_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCTNn_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__3n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__3n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__4n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__4n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__6n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__6n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__12n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__12n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__15n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__15n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__16n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__16n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__18n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__18n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__20n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__20n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__24n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__24n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__32n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__32n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__34n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__34n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__46n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__46n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__50n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__50n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__112n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__112n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__127n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__127n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__128n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__128n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__172n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__172n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__5n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__5n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__7n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__7n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__14n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__14n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__17n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__17n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT4__8n_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT4__8n_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void CHAR4_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER CHAR4_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX4n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX4n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX6n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX6n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX8n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX8n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX15n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX15n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX16n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX16n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX24n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX24n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX0__3n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX0__3n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX0__18n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX0__18n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX1__20n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX1__20n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX1__34n_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX1__34n_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT3nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT3nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT4nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT4nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT5nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT5nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT8nb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT8nb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT2nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT2nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT1nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT1nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT3nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT3nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT5nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT5nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT9nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT9nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT13nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT13nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT15nbp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT15nbp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT6__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT6__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT16__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT16__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void BIT32__BO__LAST_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER BIT32__BO__LAST_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Dummy_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Dummy_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT0_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT0_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT2_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT2_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT4_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT4_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT5_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT5_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT6_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT6_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT7_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT7_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT9_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT9_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT10_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT10_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT11_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT11_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT12_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT12_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT13_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT13_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT14_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT14_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT15_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT15_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT16_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT16_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT17_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT17_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT18_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT18_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT19_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT19_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT20_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT20_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT22_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT22_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT32_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT32_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT34_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT34_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT46_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT46_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__260_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__260_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__12_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__12_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__32_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__32_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1__50_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1__50_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3__8_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3__8_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCTN_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCTN_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX1_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX1_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX0__16_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX0__16_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX5__16_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX5__16_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void HEX1__32_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER HEX1__32_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void LIN1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER LIN1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void LIN2_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER LIN2_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void LIN2__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER LIN2__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void LIN3__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER LIN3__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void LIN4__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER LIN4__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT1b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT1b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT2b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT2b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT3b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT3b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT4b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT4b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT5b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT5b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT6b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT6b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT7b_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT7b_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT11b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT11b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT12b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT12b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT13b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT13b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT14b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT14b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT18b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT18b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT20b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT20b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void INT31b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER INT31b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Integers_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Integers_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Integers_encoder(const Integers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Integers_decoder(OCTETSTRING& input_stream, Integers& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern boolean operator==(null_type null_value, const Integer__array& other_value);
-inline boolean operator!=(null_type null_value, const Integer__array& other_value) { return !(null_value == other_value); }
-extern void Integer__array_encoder(const Integer__array& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Integer__array_decoder(OCTETSTRING& input_stream, Integer__array& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Protocols_encoder(const Protocols& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Protocols_decoder(OCTETSTRING& input_stream, Protocols& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT1List_encoder(const OCT1List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT1List_decoder(OCTETSTRING& input_stream, OCT1List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT2List_encoder(const OCT2List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT2List_decoder(OCTETSTRING& input_stream, OCT2List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT3List_encoder(const OCT3List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT3List_decoder(OCTETSTRING& input_stream, OCT3List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT4List_encoder(const OCT4List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT4List_decoder(OCTETSTRING& input_stream, OCT4List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT5List_encoder(const OCT5List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT5List_decoder(OCTETSTRING& input_stream, OCT5List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT6List_encoder(const OCT6List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT6List_decoder(OCTETSTRING& input_stream, OCT6List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT7List_encoder(const OCT7List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT7List_decoder(OCTETSTRING& input_stream, OCT7List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern boolean operator==(null_type null_value, const ListOfDummy__comptype& other_value);
-inline boolean operator!=(null_type null_value, const ListOfDummy__comptype& other_value) { return !(null_value == other_value); }
-extern boolean operator==(null_type null_value, const ListOfDummy__CT& other_value);
-inline boolean operator!=(null_type null_value, const ListOfDummy__CT& other_value) { return !(null_value == other_value); }
-extern boolean operator==(null_type null_value, const ProtocolList& other_value);
-inline boolean operator!=(null_type null_value, const ProtocolList& other_value) { return !(null_value == other_value); }
-extern void ProtocolList_encoder(const ProtocolList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER ProtocolList_decoder(OCTETSTRING& input_stream, ProtocolList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-
-/* Global variable declarations */
-
-extern const TTCN_RAWdescriptor_t BIT1n_raw_;
-extern const XERdescriptor_t BIT1n_xer_;
-extern const TTCN_Typedescriptor_t BIT1n_descr_;
-extern UNIVERSAL_CHARSTRING BIT1n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT2n_raw_;
-extern const XERdescriptor_t BIT2n_xer_;
-extern const TTCN_Typedescriptor_t BIT2n_descr_;
-extern UNIVERSAL_CHARSTRING BIT2n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT3n_raw_;
-extern const XERdescriptor_t BIT3n_xer_;
-extern const TTCN_Typedescriptor_t BIT3n_descr_;
-extern UNIVERSAL_CHARSTRING BIT3n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT4n_raw_;
-extern const XERdescriptor_t BIT4n_xer_;
-extern const TTCN_Typedescriptor_t BIT4n_descr_;
-extern UNIVERSAL_CHARSTRING BIT4n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT5n_raw_;
-extern const XERdescriptor_t BIT5n_xer_;
-extern const TTCN_Typedescriptor_t BIT5n_descr_;
-extern UNIVERSAL_CHARSTRING BIT5n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT6n_raw_;
-extern const XERdescriptor_t BIT6n_xer_;
-extern const TTCN_Typedescriptor_t BIT6n_descr_;
-extern UNIVERSAL_CHARSTRING BIT6n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT7n_raw_;
-extern const XERdescriptor_t BIT7n_xer_;
-extern const TTCN_Typedescriptor_t BIT7n_descr_;
-extern UNIVERSAL_CHARSTRING BIT7n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT8n_raw_;
-extern const XERdescriptor_t BIT8n_xer_;
-extern const TTCN_Typedescriptor_t BIT8n_descr_;
-extern UNIVERSAL_CHARSTRING BIT8n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT9n_raw_;
-extern const XERdescriptor_t BIT9n_xer_;
-extern const TTCN_Typedescriptor_t BIT9n_descr_;
-extern UNIVERSAL_CHARSTRING BIT9n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT12n_raw_;
-extern const XERdescriptor_t BIT12n_xer_;
-extern const TTCN_Typedescriptor_t BIT12n_descr_;
-extern UNIVERSAL_CHARSTRING BIT12n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT14n_raw_;
-extern const XERdescriptor_t BIT14n_xer_;
-extern const TTCN_Typedescriptor_t BIT14n_descr_;
-extern UNIVERSAL_CHARSTRING BIT14n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT15n_raw_;
-extern const XERdescriptor_t BIT15n_xer_;
-extern const TTCN_Typedescriptor_t BIT15n_descr_;
-extern UNIVERSAL_CHARSTRING BIT15n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT16n_raw_;
-extern const XERdescriptor_t BIT16n_xer_;
-extern const TTCN_Typedescriptor_t BIT16n_descr_;
-extern UNIVERSAL_CHARSTRING BIT16n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT56n_raw_;
-extern const XERdescriptor_t BIT56n_xer_;
-extern const TTCN_Typedescriptor_t BIT56n_descr_;
-extern UNIVERSAL_CHARSTRING BIT56n_default_coding;
-extern const XERdescriptor_t BIT14__24n_xer_;
-extern const TTCN_Typedescriptor_t BIT14__24n_descr_;
-extern UNIVERSAL_CHARSTRING BIT14__24n_default_coding;
-extern const TTCN_RAWdescriptor_t BIT1np_raw_;
-extern const XERdescriptor_t BIT1np_xer_;
-extern const TTCN_Typedescriptor_t BIT1np_descr_;
-extern UNIVERSAL_CHARSTRING BIT1np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT2np_raw_;
-extern const XERdescriptor_t BIT2np_xer_;
-extern const TTCN_Typedescriptor_t BIT2np_descr_;
-extern UNIVERSAL_CHARSTRING BIT2np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT3np_raw_;
-extern const XERdescriptor_t BIT3np_xer_;
-extern const TTCN_Typedescriptor_t BIT3np_descr_;
-extern UNIVERSAL_CHARSTRING BIT3np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT4np_raw_;
-extern const XERdescriptor_t BIT4np_xer_;
-extern const TTCN_Typedescriptor_t BIT4np_descr_;
-extern UNIVERSAL_CHARSTRING BIT4np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT5np_raw_;
-extern const XERdescriptor_t BIT5np_xer_;
-extern const TTCN_Typedescriptor_t BIT5np_descr_;
-extern UNIVERSAL_CHARSTRING BIT5np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT6np_raw_;
-extern const XERdescriptor_t BIT6np_xer_;
-extern const TTCN_Typedescriptor_t BIT6np_descr_;
-extern UNIVERSAL_CHARSTRING BIT6np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT7np_raw_;
-extern const XERdescriptor_t BIT7np_xer_;
-extern const TTCN_Typedescriptor_t BIT7np_descr_;
-extern UNIVERSAL_CHARSTRING BIT7np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT15np_raw_;
-extern const XERdescriptor_t BIT15np_xer_;
-extern const TTCN_Typedescriptor_t BIT15np_descr_;
-extern UNIVERSAL_CHARSTRING BIT15np_default_coding;
-extern const TTCN_RAWdescriptor_t BIT1_raw_;
-extern const XERdescriptor_t BIT1_xer_;
-extern const TTCN_OERdescriptor_t BIT1_oer_;
-extern const TTCN_Typedescriptor_t BIT1_descr_;
-extern UNIVERSAL_CHARSTRING BIT1_default_coding;
-extern const TTCN_RAWdescriptor_t BIT2_raw_;
-extern const XERdescriptor_t BIT2_xer_;
-extern const TTCN_OERdescriptor_t BIT2_oer_;
-extern const TTCN_Typedescriptor_t BIT2_descr_;
-extern UNIVERSAL_CHARSTRING BIT2_default_coding;
-extern const TTCN_RAWdescriptor_t BIT3_raw_;
-extern const XERdescriptor_t BIT3_xer_;
-extern const TTCN_OERdescriptor_t BIT3_oer_;
-extern const TTCN_Typedescriptor_t BIT3_descr_;
-extern UNIVERSAL_CHARSTRING BIT3_default_coding;
-extern const TTCN_RAWdescriptor_t BIT4_raw_;
-extern const XERdescriptor_t BIT4_xer_;
-extern const TTCN_OERdescriptor_t BIT4_oer_;
-extern const TTCN_Typedescriptor_t BIT4_descr_;
-extern UNIVERSAL_CHARSTRING BIT4_default_coding;
-extern const TTCN_RAWdescriptor_t BIT5_raw_;
-extern const XERdescriptor_t BIT5_xer_;
-extern const TTCN_OERdescriptor_t BIT5_oer_;
-extern const TTCN_Typedescriptor_t BIT5_descr_;
-extern UNIVERSAL_CHARSTRING BIT5_default_coding;
-extern const TTCN_RAWdescriptor_t BIT6_raw_;
-extern const XERdescriptor_t BIT6_xer_;
-extern const TTCN_OERdescriptor_t BIT6_oer_;
-extern const TTCN_Typedescriptor_t BIT6_descr_;
-extern UNIVERSAL_CHARSTRING BIT6_default_coding;
-extern const TTCN_RAWdescriptor_t BIT7_raw_;
-extern const XERdescriptor_t BIT7_xer_;
-extern const TTCN_OERdescriptor_t BIT7_oer_;
-extern const TTCN_Typedescriptor_t BIT7_descr_;
-extern UNIVERSAL_CHARSTRING BIT7_default_coding;
-extern const TTCN_RAWdescriptor_t BIT8_raw_;
-extern const XERdescriptor_t BIT8_xer_;
-extern const TTCN_OERdescriptor_t BIT8_oer_;
-extern const TTCN_Typedescriptor_t BIT8_descr_;
-extern UNIVERSAL_CHARSTRING BIT8_default_coding;
-extern const TTCN_RAWdescriptor_t BIT9_raw_;
-extern const XERdescriptor_t BIT9_xer_;
-extern const TTCN_Typedescriptor_t BIT9_descr_;
-extern UNIVERSAL_CHARSTRING BIT9_default_coding;
-extern const TTCN_RAWdescriptor_t BIT10_raw_;
-extern const XERdescriptor_t BIT10_xer_;
-extern const TTCN_OERdescriptor_t BIT10_oer_;
-extern const TTCN_Typedescriptor_t BIT10_descr_;
-extern UNIVERSAL_CHARSTRING BIT10_default_coding;
-extern const TTCN_RAWdescriptor_t BIT11_raw_;
-extern const XERdescriptor_t BIT11_xer_;
-extern const TTCN_Typedescriptor_t BIT11_descr_;
-extern UNIVERSAL_CHARSTRING BIT11_default_coding;
-extern const TTCN_RAWdescriptor_t BIT12_raw_;
-extern const XERdescriptor_t BIT12_xer_;
-extern const TTCN_Typedescriptor_t BIT12_descr_;
-extern UNIVERSAL_CHARSTRING BIT12_default_coding;
-extern const TTCN_RAWdescriptor_t BIT13_raw_;
-extern const XERdescriptor_t BIT13_xer_;
-extern const TTCN_Typedescriptor_t BIT13_descr_;
-extern UNIVERSAL_CHARSTRING BIT13_default_coding;
-extern const TTCN_RAWdescriptor_t BIT14_raw_;
-extern const XERdescriptor_t BIT14_xer_;
-extern const TTCN_Typedescriptor_t BIT14_descr_;
-extern UNIVERSAL_CHARSTRING BIT14_default_coding;
-extern const TTCN_RAWdescriptor_t BIT15_raw_;
-extern const XERdescriptor_t BIT15_xer_;
-extern const TTCN_Typedescriptor_t BIT15_descr_;
-extern UNIVERSAL_CHARSTRING BIT15_default_coding;
-extern const TTCN_RAWdescriptor_t BIT16_raw_;
-extern const XERdescriptor_t BIT16_xer_;
-extern const TTCN_Typedescriptor_t BIT16_descr_;
-extern UNIVERSAL_CHARSTRING BIT16_default_coding;
-extern const TTCN_RAWdescriptor_t BIT24_raw_;
-extern const XERdescriptor_t BIT24_xer_;
-extern const TTCN_Typedescriptor_t BIT24_descr_;
-extern UNIVERSAL_CHARSTRING BIT24_default_coding;
-extern const TTCN_RAWdescriptor_t BIT28_raw_;
-extern const XERdescriptor_t BIT28_xer_;
-extern const TTCN_Typedescriptor_t BIT28_descr_;
-extern UNIVERSAL_CHARSTRING BIT28_default_coding;
-extern const TTCN_RAWdescriptor_t BIT29_raw_;
-extern const XERdescriptor_t BIT29_xer_;
-extern const TTCN_Typedescriptor_t BIT29_descr_;
-extern UNIVERSAL_CHARSTRING BIT29_default_coding;
-extern const TTCN_RAWdescriptor_t BIT30_raw_;
-extern const XERdescriptor_t BIT30_xer_;
-extern const TTCN_Typedescriptor_t BIT30_descr_;
-extern UNIVERSAL_CHARSTRING BIT30_default_coding;
-extern const TTCN_RAWdescriptor_t BIT31_raw_;
-extern const XERdescriptor_t BIT31_xer_;
-extern const TTCN_Typedescriptor_t BIT31_descr_;
-extern UNIVERSAL_CHARSTRING BIT31_default_coding;
-extern const TTCN_RAWdescriptor_t BIT32_raw_;
-extern const XERdescriptor_t BIT32_xer_;
-extern const TTCN_Typedescriptor_t BIT32_descr_;
-extern UNIVERSAL_CHARSTRING BIT32_default_coding;
-extern const TTCN_RAWdescriptor_t BIT56_raw_;
-extern const XERdescriptor_t BIT56_xer_;
-extern const TTCN_Typedescriptor_t BIT56_descr_;
-extern UNIVERSAL_CHARSTRING BIT56_default_coding;
-extern const TTCN_RAWdescriptor_t OCT0n_raw_;
-extern const XERdescriptor_t OCT0n_xer_;
-extern const TTCN_OERdescriptor_t OCT0n_oer_;
-extern const TTCN_Typedescriptor_t OCT0n_descr_;
-extern UNIVERSAL_CHARSTRING OCT0n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT1n_raw_;
-extern const XERdescriptor_t OCT1n_xer_;
-extern const TTCN_OERdescriptor_t OCT1n_oer_;
-extern const TTCN_Typedescriptor_t OCT1n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT2n_raw_;
-extern const XERdescriptor_t OCT2n_xer_;
-extern const TTCN_OERdescriptor_t OCT2n_oer_;
-extern const TTCN_Typedescriptor_t OCT2n_descr_;
-extern UNIVERSAL_CHARSTRING OCT2n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT3n_raw_;
-extern const XERdescriptor_t OCT3n_xer_;
-extern const TTCN_OERdescriptor_t OCT3n_oer_;
-extern const TTCN_Typedescriptor_t OCT3n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT4n_raw_;
-extern const XERdescriptor_t OCT4n_xer_;
-extern const TTCN_OERdescriptor_t OCT4n_oer_;
-extern const TTCN_Typedescriptor_t OCT4n_descr_;
-extern UNIVERSAL_CHARSTRING OCT4n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT5n_raw_;
-extern const XERdescriptor_t OCT5n_xer_;
-extern const TTCN_OERdescriptor_t OCT5n_oer_;
-extern const TTCN_Typedescriptor_t OCT5n_descr_;
-extern UNIVERSAL_CHARSTRING OCT5n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT6n_raw_;
-extern const XERdescriptor_t OCT6n_xer_;
-extern const TTCN_OERdescriptor_t OCT6n_oer_;
-extern const TTCN_Typedescriptor_t OCT6n_descr_;
-extern UNIVERSAL_CHARSTRING OCT6n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT7n_raw_;
-extern const XERdescriptor_t OCT7n_xer_;
-extern const TTCN_OERdescriptor_t OCT7n_oer_;
-extern const TTCN_Typedescriptor_t OCT7n_descr_;
-extern UNIVERSAL_CHARSTRING OCT7n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT8n_raw_;
-extern const XERdescriptor_t OCT8n_xer_;
-extern const TTCN_OERdescriptor_t OCT8n_oer_;
-extern const TTCN_Typedescriptor_t OCT8n_descr_;
-extern UNIVERSAL_CHARSTRING OCT8n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT9n_raw_;
-extern const XERdescriptor_t OCT9n_xer_;
-extern const TTCN_OERdescriptor_t OCT9n_oer_;
-extern const TTCN_Typedescriptor_t OCT9n_descr_;
-extern UNIVERSAL_CHARSTRING OCT9n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT10n_raw_;
-extern const XERdescriptor_t OCT10n_xer_;
-extern const TTCN_OERdescriptor_t OCT10n_oer_;
-extern const TTCN_Typedescriptor_t OCT10n_descr_;
-extern UNIVERSAL_CHARSTRING OCT10n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT11n_raw_;
-extern const XERdescriptor_t OCT11n_xer_;
-extern const TTCN_OERdescriptor_t OCT11n_oer_;
-extern const TTCN_Typedescriptor_t OCT11n_descr_;
-extern UNIVERSAL_CHARSTRING OCT11n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT12n_raw_;
-extern const XERdescriptor_t OCT12n_xer_;
-extern const TTCN_OERdescriptor_t OCT12n_oer_;
-extern const TTCN_Typedescriptor_t OCT12n_descr_;
-extern UNIVERSAL_CHARSTRING OCT12n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT13n_raw_;
-extern const XERdescriptor_t OCT13n_xer_;
-extern const TTCN_OERdescriptor_t OCT13n_oer_;
-extern const TTCN_Typedescriptor_t OCT13n_descr_;
-extern UNIVERSAL_CHARSTRING OCT13n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT14n_raw_;
-extern const XERdescriptor_t OCT14n_xer_;
-extern const TTCN_OERdescriptor_t OCT14n_oer_;
-extern const TTCN_Typedescriptor_t OCT14n_descr_;
-extern UNIVERSAL_CHARSTRING OCT14n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT15n_raw_;
-extern const XERdescriptor_t OCT15n_xer_;
-extern const TTCN_OERdescriptor_t OCT15n_oer_;
-extern const TTCN_Typedescriptor_t OCT15n_descr_;
-extern UNIVERSAL_CHARSTRING OCT15n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT16n_raw_;
-extern const XERdescriptor_t OCT16n_xer_;
-extern const TTCN_OERdescriptor_t OCT16n_oer_;
-extern const TTCN_Typedescriptor_t OCT16n_descr_;
-extern UNIVERSAL_CHARSTRING OCT16n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT17n_raw_;
-extern const XERdescriptor_t OCT17n_xer_;
-extern const TTCN_OERdescriptor_t OCT17n_oer_;
-extern const TTCN_Typedescriptor_t OCT17n_descr_;
-extern UNIVERSAL_CHARSTRING OCT17n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT18n_raw_;
-extern const XERdescriptor_t OCT18n_xer_;
-extern const TTCN_OERdescriptor_t OCT18n_oer_;
-extern const TTCN_Typedescriptor_t OCT18n_descr_;
-extern UNIVERSAL_CHARSTRING OCT18n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT19n_raw_;
-extern const XERdescriptor_t OCT19n_xer_;
-extern const TTCN_OERdescriptor_t OCT19n_oer_;
-extern const TTCN_Typedescriptor_t OCT19n_descr_;
-extern UNIVERSAL_CHARSTRING OCT19n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT20n_raw_;
-extern const XERdescriptor_t OCT20n_xer_;
-extern const TTCN_OERdescriptor_t OCT20n_oer_;
-extern const TTCN_Typedescriptor_t OCT20n_descr_;
-extern UNIVERSAL_CHARSTRING OCT20n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT28n_raw_;
-extern const XERdescriptor_t OCT28n_xer_;
-extern const TTCN_OERdescriptor_t OCT28n_oer_;
-extern const TTCN_Typedescriptor_t OCT28n_descr_;
-extern UNIVERSAL_CHARSTRING OCT28n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT32n_raw_;
-extern const XERdescriptor_t OCT32n_xer_;
-extern const TTCN_OERdescriptor_t OCT32n_oer_;
-extern const TTCN_Typedescriptor_t OCT32n_descr_;
-extern UNIVERSAL_CHARSTRING OCT32n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT34n_raw_;
-extern const XERdescriptor_t OCT34n_xer_;
-extern const TTCN_OERdescriptor_t OCT34n_oer_;
-extern const TTCN_Typedescriptor_t OCT34n_descr_;
-extern UNIVERSAL_CHARSTRING OCT34n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT46n_raw_;
-extern const XERdescriptor_t OCT46n_xer_;
-extern const TTCN_OERdescriptor_t OCT46n_oer_;
-extern const TTCN_Typedescriptor_t OCT46n_descr_;
-extern UNIVERSAL_CHARSTRING OCT46n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT50n_raw_;
-extern const XERdescriptor_t OCT50n_xer_;
-extern const TTCN_OERdescriptor_t OCT50n_oer_;
-extern const TTCN_Typedescriptor_t OCT50n_descr_;
-extern UNIVERSAL_CHARSTRING OCT50n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT69n_raw_;
-extern const XERdescriptor_t OCT69n_xer_;
-extern const TTCN_OERdescriptor_t OCT69n_oer_;
-extern const TTCN_Typedescriptor_t OCT69n_descr_;
-extern UNIVERSAL_CHARSTRING OCT69n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT100n_raw_;
-extern const XERdescriptor_t OCT100n_xer_;
-extern const TTCN_OERdescriptor_t OCT100n_oer_;
-extern const TTCN_Typedescriptor_t OCT100n_descr_;
-extern UNIVERSAL_CHARSTRING OCT100n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT128n_raw_;
-extern const XERdescriptor_t OCT128n_xer_;
-extern const TTCN_OERdescriptor_t OCT128n_oer_;
-extern const TTCN_Typedescriptor_t OCT128n_descr_;
-extern UNIVERSAL_CHARSTRING OCT128n_default_coding;
-extern const TTCN_RAWdescriptor_t OCT500n_raw_;
-extern const XERdescriptor_t OCT500n_xer_;
-extern const TTCN_OERdescriptor_t OCT500n_oer_;
-extern const TTCN_Typedescriptor_t OCT500n_descr_;
-extern UNIVERSAL_CHARSTRING OCT500n_default_coding;
-extern const XERdescriptor_t OCTNn_xer_;
-extern const TTCN_OERdescriptor_t OCTNn_oer_;
-extern const TTCN_Typedescriptor_t OCTNn_descr_;
-extern UNIVERSAL_CHARSTRING OCTNn_default_coding;
-extern const XERdescriptor_t OCT1__3n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__3n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__3n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__3n_default_coding;
-extern const XERdescriptor_t OCT1__4n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__4n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__4n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__4n_default_coding;
-extern const XERdescriptor_t OCT1__5n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__5n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__5n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__5n_default_coding;
-extern const XERdescriptor_t OCT1__6n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__6n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__6n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__6n_default_coding;
-extern const XERdescriptor_t OCT1__7n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__7n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__7n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__7n_default_coding;
-extern const XERdescriptor_t OCT1__8n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__8n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__8n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__8n_default_coding;
-extern const XERdescriptor_t OCT1__12n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__12n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__12n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__12n_default_coding;
-extern const XERdescriptor_t OCT1__15n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__15n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__15n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__15n_default_coding;
-extern const XERdescriptor_t OCT1__16n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__16n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__16n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__16n_default_coding;
-extern const XERdescriptor_t OCT1__18n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__18n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__18n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__18n_default_coding;
-extern const XERdescriptor_t OCT1__20n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__20n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__20n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__20n_default_coding;
-extern const XERdescriptor_t OCT1__24n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__24n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__24n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__24n_default_coding;
-extern const XERdescriptor_t OCT1__32n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__32n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__32n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__32n_default_coding;
-extern const XERdescriptor_t OCT1__34n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__34n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__34n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__34n_default_coding;
-extern const XERdescriptor_t OCT1__46n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__46n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__46n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__46n_default_coding;
-extern const XERdescriptor_t OCT1__50n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__50n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__50n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__50n_default_coding;
-extern const XERdescriptor_t OCT1__112n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__112n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__112n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__112n_default_coding;
-extern const XERdescriptor_t OCT1__127n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__127n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__127n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__127n_default_coding;
-extern const XERdescriptor_t OCT1__128n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__128n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__128n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__128n_default_coding;
-extern const XERdescriptor_t OCT1__172n_xer_;
-extern const TTCN_OERdescriptor_t OCT1__172n_oer_;
-extern const TTCN_Typedescriptor_t OCT1__172n_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__172n_default_coding;
-extern const XERdescriptor_t OCT3__5n_xer_;
-extern const TTCN_OERdescriptor_t OCT3__5n_oer_;
-extern const TTCN_Typedescriptor_t OCT3__5n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__5n_default_coding;
-extern const XERdescriptor_t OCT3__7n_xer_;
-extern const TTCN_OERdescriptor_t OCT3__7n_oer_;
-extern const TTCN_Typedescriptor_t OCT3__7n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__7n_default_coding;
-extern const XERdescriptor_t OCT3__8n_xer_;
-extern const TTCN_OERdescriptor_t OCT3__8n_oer_;
-extern const TTCN_Typedescriptor_t OCT3__8n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__8n_default_coding;
-extern const XERdescriptor_t OCT3__14n_xer_;
-extern const TTCN_OERdescriptor_t OCT3__14n_oer_;
-extern const TTCN_Typedescriptor_t OCT3__14n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__14n_default_coding;
-extern const XERdescriptor_t OCT3__17n_xer_;
-extern const TTCN_OERdescriptor_t OCT3__17n_oer_;
-extern const TTCN_Typedescriptor_t OCT3__17n_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__17n_default_coding;
-extern const XERdescriptor_t OCT4__8n_xer_;
-extern const TTCN_OERdescriptor_t OCT4__8n_oer_;
-extern const TTCN_Typedescriptor_t OCT4__8n_descr_;
-extern UNIVERSAL_CHARSTRING OCT4__8n_default_coding;
-extern const TTCN_RAWdescriptor_t CHAR4_raw_;
-extern const XERdescriptor_t CHAR4_xer_;
-extern const TTCN_Typedescriptor_t CHAR4_descr_;
-extern UNIVERSAL_CHARSTRING CHAR4_default_coding;
-extern const TTCN_RAWdescriptor_t HEX4n_raw_;
-extern const XERdescriptor_t HEX4n_xer_;
-extern const TTCN_Typedescriptor_t HEX4n_descr_;
-extern UNIVERSAL_CHARSTRING HEX4n_default_coding;
-extern const TTCN_RAWdescriptor_t HEX6n_raw_;
-extern const XERdescriptor_t HEX6n_xer_;
-extern const TTCN_Typedescriptor_t HEX6n_descr_;
-extern UNIVERSAL_CHARSTRING HEX6n_default_coding;
-extern const TTCN_RAWdescriptor_t HEX8n_raw_;
-extern const XERdescriptor_t HEX8n_xer_;
-extern const TTCN_Typedescriptor_t HEX8n_descr_;
-extern UNIVERSAL_CHARSTRING HEX8n_default_coding;
-extern const TTCN_RAWdescriptor_t HEX15n_raw_;
-extern const XERdescriptor_t HEX15n_xer_;
-extern const TTCN_Typedescriptor_t HEX15n_descr_;
-extern UNIVERSAL_CHARSTRING HEX15n_default_coding;
-extern const TTCN_RAWdescriptor_t HEX16n_raw_;
-extern const XERdescriptor_t HEX16n_xer_;
-extern const TTCN_Typedescriptor_t HEX16n_descr_;
-extern UNIVERSAL_CHARSTRING HEX16n_default_coding;
-extern const TTCN_RAWdescriptor_t HEX24n_raw_;
-extern const XERdescriptor_t HEX24n_xer_;
-extern const TTCN_Typedescriptor_t HEX24n_descr_;
-extern UNIVERSAL_CHARSTRING HEX24n_default_coding;
-extern const XERdescriptor_t HEX0__3n_xer_;
-extern const TTCN_Typedescriptor_t HEX0__3n_descr_;
-extern UNIVERSAL_CHARSTRING HEX0__3n_default_coding;
-extern const XERdescriptor_t HEX0__18n_xer_;
-extern const TTCN_Typedescriptor_t HEX0__18n_descr_;
-extern UNIVERSAL_CHARSTRING HEX0__18n_default_coding;
-extern const XERdescriptor_t HEX1__20n_xer_;
-extern const TTCN_Typedescriptor_t HEX1__20n_descr_;
-extern UNIVERSAL_CHARSTRING HEX1__20n_default_coding;
-extern const XERdescriptor_t HEX1__34n_xer_;
-extern const TTCN_Typedescriptor_t HEX1__34n_descr_;
-extern UNIVERSAL_CHARSTRING HEX1__34n_default_coding;
-extern const XERdescriptor_t INT3nb_xer_;
-extern const TTCN_Typedescriptor_t INT3nb_descr_;
-extern UNIVERSAL_CHARSTRING INT3nb_default_coding;
-extern const XERdescriptor_t INT4nb_xer_;
-extern const TTCN_Typedescriptor_t INT4nb_descr_;
-extern UNIVERSAL_CHARSTRING INT4nb_default_coding;
-extern const XERdescriptor_t INT5nb_xer_;
-extern const TTCN_Typedescriptor_t INT5nb_descr_;
-extern UNIVERSAL_CHARSTRING INT5nb_default_coding;
-extern const XERdescriptor_t INT8nb_xer_;
-extern const TTCN_Typedescriptor_t INT8nb_descr_;
-extern UNIVERSAL_CHARSTRING INT8nb_default_coding;
-extern const XERdescriptor_t INT2nbp_xer_;
-extern const TTCN_Typedescriptor_t INT2nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT2nbp_default_coding;
-extern const XERdescriptor_t INT1nbp_xer_;
-extern const TTCN_Typedescriptor_t INT1nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT1nbp_default_coding;
-extern const XERdescriptor_t INT3nbp_xer_;
-extern const TTCN_Typedescriptor_t INT3nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT3nbp_default_coding;
-extern const XERdescriptor_t INT5nbp_xer_;
-extern const TTCN_Typedescriptor_t INT5nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT5nbp_default_coding;
-extern const XERdescriptor_t INT9nbp_xer_;
-extern const TTCN_Typedescriptor_t INT9nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT9nbp_default_coding;
-extern const XERdescriptor_t INT13nbp_xer_;
-extern const TTCN_Typedescriptor_t INT13nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT13nbp_default_coding;
-extern const XERdescriptor_t INT15nbp_xer_;
-extern const TTCN_Typedescriptor_t INT15nbp_descr_;
-extern UNIVERSAL_CHARSTRING INT15nbp_default_coding;
-extern const TTCN_RAWdescriptor_t BIT6__BO__LAST_raw_;
-extern const XERdescriptor_t BIT6__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t BIT6__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING BIT6__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t BIT16__BO__LAST_raw_;
-extern const XERdescriptor_t BIT16__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t BIT16__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING BIT16__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t BIT32__BO__LAST_raw_;
-extern const XERdescriptor_t BIT32__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t BIT32__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING BIT32__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t Dummy_raw_;
-extern const XERdescriptor_t Dummy_xer_;
-extern const TTCN_OERdescriptor_t Dummy_oer_;
-extern const TTCN_Typedescriptor_t Dummy_descr_;
-extern UNIVERSAL_CHARSTRING Dummy_default_coding;
-extern const TTCN_RAWdescriptor_t OCT0_raw_;
-extern const XERdescriptor_t OCT0_xer_;
-extern const TTCN_OERdescriptor_t OCT0_oer_;
-extern const TTCN_Typedescriptor_t OCT0_descr_;
-extern UNIVERSAL_CHARSTRING OCT0_default_coding;
-extern const TTCN_RAWdescriptor_t OCT1_raw_;
-extern const XERdescriptor_t OCT1_xer_;
-extern const TTCN_OERdescriptor_t OCT1_oer_;
-extern const TTCN_Typedescriptor_t OCT1_descr_;
-extern UNIVERSAL_CHARSTRING OCT1_default_coding;
-extern const TTCN_RAWdescriptor_t OCT2_raw_;
-extern const XERdescriptor_t OCT2_xer_;
-extern const TTCN_OERdescriptor_t OCT2_oer_;
-extern const TTCN_Typedescriptor_t OCT2_descr_;
-extern UNIVERSAL_CHARSTRING OCT2_default_coding;
-extern const TTCN_RAWdescriptor_t OCT3_raw_;
-extern const XERdescriptor_t OCT3_xer_;
-extern const TTCN_OERdescriptor_t OCT3_oer_;
-extern const TTCN_Typedescriptor_t OCT3_descr_;
-extern UNIVERSAL_CHARSTRING OCT3_default_coding;
-extern const TTCN_RAWdescriptor_t OCT4_raw_;
-extern const XERdescriptor_t OCT4_xer_;
-extern const TTCN_OERdescriptor_t OCT4_oer_;
-extern const TTCN_Typedescriptor_t OCT4_descr_;
-extern UNIVERSAL_CHARSTRING OCT4_default_coding;
-extern const TTCN_RAWdescriptor_t OCT5_raw_;
-extern const XERdescriptor_t OCT5_xer_;
-extern const TTCN_OERdescriptor_t OCT5_oer_;
-extern const TTCN_Typedescriptor_t OCT5_descr_;
-extern UNIVERSAL_CHARSTRING OCT5_default_coding;
-extern const TTCN_RAWdescriptor_t OCT6_raw_;
-extern const XERdescriptor_t OCT6_xer_;
-extern const TTCN_OERdescriptor_t OCT6_oer_;
-extern const TTCN_Typedescriptor_t OCT6_descr_;
-extern UNIVERSAL_CHARSTRING OCT6_default_coding;
-extern const TTCN_RAWdescriptor_t OCT7_raw_;
-extern const XERdescriptor_t OCT7_xer_;
-extern const TTCN_OERdescriptor_t OCT7_oer_;
-extern const TTCN_Typedescriptor_t OCT7_descr_;
-extern UNIVERSAL_CHARSTRING OCT7_default_coding;
-extern const TTCN_RAWdescriptor_t OCT8_raw_;
-extern const XERdescriptor_t OCT8_xer_;
-extern const TTCN_OERdescriptor_t OCT8_oer_;
-extern const TTCN_Typedescriptor_t OCT8_descr_;
-extern UNIVERSAL_CHARSTRING OCT8_default_coding;
-extern const TTCN_RAWdescriptor_t OCT9_raw_;
-extern const XERdescriptor_t OCT9_xer_;
-extern const TTCN_OERdescriptor_t OCT9_oer_;
-extern const TTCN_Typedescriptor_t OCT9_descr_;
-extern UNIVERSAL_CHARSTRING OCT9_default_coding;
-extern const TTCN_RAWdescriptor_t OCT10_raw_;
-extern const XERdescriptor_t OCT10_xer_;
-extern const TTCN_OERdescriptor_t OCT10_oer_;
-extern const TTCN_Typedescriptor_t OCT10_descr_;
-extern UNIVERSAL_CHARSTRING OCT10_default_coding;
-extern const TTCN_RAWdescriptor_t OCT11_raw_;
-extern const XERdescriptor_t OCT11_xer_;
-extern const TTCN_OERdescriptor_t OCT11_oer_;
-extern const TTCN_Typedescriptor_t OCT11_descr_;
-extern UNIVERSAL_CHARSTRING OCT11_default_coding;
-extern const TTCN_RAWdescriptor_t OCT12_raw_;
-extern const XERdescriptor_t OCT12_xer_;
-extern const TTCN_OERdescriptor_t OCT12_oer_;
-extern const TTCN_Typedescriptor_t OCT12_descr_;
-extern UNIVERSAL_CHARSTRING OCT12_default_coding;
-extern const TTCN_RAWdescriptor_t OCT13_raw_;
-extern const XERdescriptor_t OCT13_xer_;
-extern const TTCN_OERdescriptor_t OCT13_oer_;
-extern const TTCN_Typedescriptor_t OCT13_descr_;
-extern UNIVERSAL_CHARSTRING OCT13_default_coding;
-extern const TTCN_RAWdescriptor_t OCT14_raw_;
-extern const XERdescriptor_t OCT14_xer_;
-extern const TTCN_OERdescriptor_t OCT14_oer_;
-extern const TTCN_Typedescriptor_t OCT14_descr_;
-extern UNIVERSAL_CHARSTRING OCT14_default_coding;
-extern const TTCN_RAWdescriptor_t OCT15_raw_;
-extern const XERdescriptor_t OCT15_xer_;
-extern const TTCN_OERdescriptor_t OCT15_oer_;
-extern const TTCN_Typedescriptor_t OCT15_descr_;
-extern UNIVERSAL_CHARSTRING OCT15_default_coding;
-extern const TTCN_RAWdescriptor_t OCT16_raw_;
-extern const XERdescriptor_t OCT16_xer_;
-extern const TTCN_OERdescriptor_t OCT16_oer_;
-extern const TTCN_Typedescriptor_t OCT16_descr_;
-extern UNIVERSAL_CHARSTRING OCT16_default_coding;
-extern const TTCN_RAWdescriptor_t OCT17_raw_;
-extern const XERdescriptor_t OCT17_xer_;
-extern const TTCN_OERdescriptor_t OCT17_oer_;
-extern const TTCN_Typedescriptor_t OCT17_descr_;
-extern UNIVERSAL_CHARSTRING OCT17_default_coding;
-extern const TTCN_RAWdescriptor_t OCT18_raw_;
-extern const XERdescriptor_t OCT18_xer_;
-extern const TTCN_OERdescriptor_t OCT18_oer_;
-extern const TTCN_Typedescriptor_t OCT18_descr_;
-extern UNIVERSAL_CHARSTRING OCT18_default_coding;
-extern const TTCN_RAWdescriptor_t OCT19_raw_;
-extern const XERdescriptor_t OCT19_xer_;
-extern const TTCN_OERdescriptor_t OCT19_oer_;
-extern const TTCN_Typedescriptor_t OCT19_descr_;
-extern UNIVERSAL_CHARSTRING OCT19_default_coding;
-extern const TTCN_RAWdescriptor_t OCT20_raw_;
-extern const XERdescriptor_t OCT20_xer_;
-extern const TTCN_OERdescriptor_t OCT20_oer_;
-extern const TTCN_Typedescriptor_t OCT20_descr_;
-extern UNIVERSAL_CHARSTRING OCT20_default_coding;
-extern const TTCN_RAWdescriptor_t OCT22_raw_;
-extern const XERdescriptor_t OCT22_xer_;
-extern const TTCN_OERdescriptor_t OCT22_oer_;
-extern const TTCN_Typedescriptor_t OCT22_descr_;
-extern UNIVERSAL_CHARSTRING OCT22_default_coding;
-extern const TTCN_RAWdescriptor_t OCT32_raw_;
-extern const XERdescriptor_t OCT32_xer_;
-extern const TTCN_OERdescriptor_t OCT32_oer_;
-extern const TTCN_Typedescriptor_t OCT32_descr_;
-extern UNIVERSAL_CHARSTRING OCT32_default_coding;
-extern const TTCN_RAWdescriptor_t OCT34_raw_;
-extern const XERdescriptor_t OCT34_xer_;
-extern const TTCN_OERdescriptor_t OCT34_oer_;
-extern const TTCN_Typedescriptor_t OCT34_descr_;
-extern UNIVERSAL_CHARSTRING OCT34_default_coding;
-extern const TTCN_RAWdescriptor_t OCT46_raw_;
-extern const XERdescriptor_t OCT46_xer_;
-extern const TTCN_OERdescriptor_t OCT46_oer_;
-extern const TTCN_Typedescriptor_t OCT46_descr_;
-extern UNIVERSAL_CHARSTRING OCT46_default_coding;
-extern const XERdescriptor_t OCT1__260_xer_;
-extern const TTCN_OERdescriptor_t OCT1__260_oer_;
-extern const TTCN_Typedescriptor_t OCT1__260_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__260_default_coding;
-extern const XERdescriptor_t OCT1__8_xer_;
-extern const TTCN_OERdescriptor_t OCT1__8_oer_;
-extern const TTCN_Typedescriptor_t OCT1__8_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__8_default_coding;
-extern const XERdescriptor_t OCT1__12_xer_;
-extern const TTCN_OERdescriptor_t OCT1__12_oer_;
-extern const TTCN_Typedescriptor_t OCT1__12_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__12_default_coding;
-extern const XERdescriptor_t OCT1__32_xer_;
-extern const TTCN_OERdescriptor_t OCT1__32_oer_;
-extern const TTCN_Typedescriptor_t OCT1__32_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__32_default_coding;
-extern const XERdescriptor_t OCT1__50_xer_;
-extern const TTCN_OERdescriptor_t OCT1__50_oer_;
-extern const TTCN_Typedescriptor_t OCT1__50_descr_;
-extern UNIVERSAL_CHARSTRING OCT1__50_default_coding;
-extern const XERdescriptor_t OCT3__8_xer_;
-extern const TTCN_OERdescriptor_t OCT3__8_oer_;
-extern const TTCN_Typedescriptor_t OCT3__8_descr_;
-extern UNIVERSAL_CHARSTRING OCT3__8_default_coding;
-extern const XERdescriptor_t OCTN_xer_;
-extern const TTCN_OERdescriptor_t OCTN_oer_;
-extern const TTCN_Typedescriptor_t OCTN_descr_;
-extern UNIVERSAL_CHARSTRING OCTN_default_coding;
-extern const TTCN_RAWdescriptor_t HEX1_raw_;
-extern const XERdescriptor_t HEX1_xer_;
-extern const TTCN_Typedescriptor_t HEX1_descr_;
-extern UNIVERSAL_CHARSTRING HEX1_default_coding;
-extern const XERdescriptor_t HEX0__16_xer_;
-extern const TTCN_Typedescriptor_t HEX0__16_descr_;
-extern UNIVERSAL_CHARSTRING HEX0__16_default_coding;
-extern const XERdescriptor_t HEX5__16_xer_;
-extern const TTCN_Typedescriptor_t HEX5__16_descr_;
-extern UNIVERSAL_CHARSTRING HEX5__16_default_coding;
-extern const XERdescriptor_t HEX1__32_xer_;
-extern const TTCN_Typedescriptor_t HEX1__32_descr_;
-extern UNIVERSAL_CHARSTRING HEX1__32_default_coding;
-extern const TTCN_RAWdescriptor_t INT1_raw_;
-extern const XERdescriptor_t INT1_xer_;
-extern const TTCN_OERdescriptor_t INT1_oer_;
-extern const TTCN_Typedescriptor_t INT1_descr_;
-extern UNIVERSAL_CHARSTRING INT1_default_coding;
-extern const TTCN_RAWdescriptor_t LIN1_raw_;
-extern const XERdescriptor_t LIN1_xer_;
-extern const TTCN_Typedescriptor_t LIN1_descr_;
-extern UNIVERSAL_CHARSTRING LIN1_default_coding;
-extern const TTCN_RAWdescriptor_t LIN2_raw_;
-extern const XERdescriptor_t LIN2_xer_;
-extern const TTCN_Typedescriptor_t LIN2_descr_;
-extern UNIVERSAL_CHARSTRING LIN2_default_coding;
-extern const TTCN_RAWdescriptor_t LIN2__BO__LAST_raw_;
-extern const XERdescriptor_t LIN2__BO__LAST_xer_;
-extern const TTCN_OERdescriptor_t LIN2__BO__LAST_oer_;
-extern const TTCN_Typedescriptor_t LIN2__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING LIN2__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t LIN3__BO__LAST_raw_;
-extern const XERdescriptor_t LIN3__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t LIN3__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING LIN3__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t LIN4__BO__LAST_raw_;
-extern const XERdescriptor_t LIN4__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t LIN4__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING LIN4__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT1b_raw_;
-extern const XERdescriptor_t INT1b_xer_;
-extern const TTCN_Typedescriptor_t INT1b_descr_;
-extern UNIVERSAL_CHARSTRING INT1b_default_coding;
-extern const TTCN_RAWdescriptor_t INT2b_raw_;
-extern const XERdescriptor_t INT2b_xer_;
-extern const TTCN_Typedescriptor_t INT2b_descr_;
-extern UNIVERSAL_CHARSTRING INT2b_default_coding;
-extern const TTCN_RAWdescriptor_t INT3b_raw_;
-extern const XERdescriptor_t INT3b_xer_;
-extern const TTCN_Typedescriptor_t INT3b_descr_;
-extern UNIVERSAL_CHARSTRING INT3b_default_coding;
-extern const TTCN_RAWdescriptor_t INT4b_raw_;
-extern const XERdescriptor_t INT4b_xer_;
-extern const TTCN_Typedescriptor_t INT4b_descr_;
-extern UNIVERSAL_CHARSTRING INT4b_default_coding;
-extern const TTCN_RAWdescriptor_t INT5b_raw_;
-extern const XERdescriptor_t INT5b_xer_;
-extern const TTCN_Typedescriptor_t INT5b_descr_;
-extern UNIVERSAL_CHARSTRING INT5b_default_coding;
-extern const TTCN_RAWdescriptor_t INT6b_raw_;
-extern const XERdescriptor_t INT6b_xer_;
-extern const TTCN_OERdescriptor_t INT6b_oer_;
-extern const TTCN_Typedescriptor_t INT6b_descr_;
-extern UNIVERSAL_CHARSTRING INT6b_default_coding;
-extern const TTCN_RAWdescriptor_t INT7b_raw_;
-extern const XERdescriptor_t INT7b_xer_;
-extern const TTCN_Typedescriptor_t INT7b_descr_;
-extern UNIVERSAL_CHARSTRING INT7b_default_coding;
-extern const TTCN_RAWdescriptor_t INT11b__BO__LAST_raw_;
-extern const XERdescriptor_t INT11b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT11b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT11b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT12b__BO__LAST_raw_;
-extern const XERdescriptor_t INT12b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT12b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT12b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT13b__BO__LAST_raw_;
-extern const XERdescriptor_t INT13b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT13b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT13b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT14b__BO__LAST_raw_;
-extern const XERdescriptor_t INT14b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT14b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT14b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT18b__BO__LAST_raw_;
-extern const XERdescriptor_t INT18b__BO__LAST_xer_;
-extern const TTCN_OERdescriptor_t INT18b__BO__LAST_oer_;
-extern const TTCN_Typedescriptor_t INT18b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT18b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT20b__BO__LAST_raw_;
-extern const XERdescriptor_t INT20b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT20b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT20b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t INT31b__BO__LAST_raw_;
-extern const XERdescriptor_t INT31b__BO__LAST_xer_;
-extern const TTCN_Typedescriptor_t INT31b__BO__LAST_descr_;
-extern UNIVERSAL_CHARSTRING INT31b__BO__LAST_default_coding;
-extern const TTCN_RAWdescriptor_t Integers_raw_;
-extern const TTCN_Typedescriptor_t Integers_descr_;
-extern const XERdescriptor_t Integers_0_xer_;
-extern const TTCN_Typedescriptor_t Integers_0_descr_;
-extern UNIVERSAL_CHARSTRING Integers_0_default_coding;
-extern UNIVERSAL_CHARSTRING Integers_default_coding;
-extern const TTCN_RAWdescriptor_t Integer__array_raw_;
-extern const TTCN_Typedescriptor_t Integer__array_descr_;
-extern UNIVERSAL_CHARSTRING Integer__array_0_default_coding;
-extern UNIVERSAL_CHARSTRING Integer__array_default_coding;
-extern const TTCN_Typedescriptor_t& Dummy__comptype_descr_;
-extern const TTCN_Typedescriptor_t& Dummy__CT_descr_;
-extern const TTCN_RAWdescriptor_t Protocols_raw_;
-extern const TTCN_Typedescriptor_t Protocols_descr_;
-extern UNIVERSAL_CHARSTRING Protocols_default_coding;
-extern const TTCN_RAWdescriptor_t OCT1List_raw_;
-extern const TTCN_Typedescriptor_t OCT1List_descr_;
-extern const XERdescriptor_t OCT1List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT1List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT1List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT1List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT1List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT2List_raw_;
-extern const TTCN_Typedescriptor_t OCT2List_descr_;
-extern const XERdescriptor_t OCT2List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT2List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT2List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT2List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT2List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT3List_raw_;
-extern const TTCN_Typedescriptor_t OCT3List_descr_;
-extern const XERdescriptor_t OCT3List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT3List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT3List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT3List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT3List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT4List_raw_;
-extern const TTCN_Typedescriptor_t OCT4List_descr_;
-extern const XERdescriptor_t OCT4List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT4List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT4List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT4List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT4List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT5List_raw_;
-extern const TTCN_Typedescriptor_t OCT5List_descr_;
-extern const XERdescriptor_t OCT5List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT5List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT5List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT5List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT5List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT6List_raw_;
-extern const TTCN_Typedescriptor_t OCT6List_descr_;
-extern const XERdescriptor_t OCT6List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT6List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT6List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT6List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT6List_default_coding;
-extern const TTCN_RAWdescriptor_t OCT7List_raw_;
-extern const TTCN_Typedescriptor_t OCT7List_descr_;
-extern const XERdescriptor_t OCT7List_0_xer_;
-extern const TTCN_OERdescriptor_t OCT7List_0_oer_;
-extern const TTCN_Typedescriptor_t OCT7List_0_descr_;
-extern UNIVERSAL_CHARSTRING OCT7List_0_default_coding;
-extern UNIVERSAL_CHARSTRING OCT7List_default_coding;
-extern const TTCN_Typedescriptor_t ListOfDummy__comptype_descr_;
-extern const TTCN_Typedescriptor_t ListOfDummy__CT_descr_;
-extern const TTCN_RAWdescriptor_t ProtocolList_raw_;
-extern const TTCN_Typedescriptor_t ProtocolList_descr_;
-extern UNIVERSAL_CHARSTRING ProtocolList_0_default_coding;
-extern UNIVERSAL_CHARSTRING ProtocolList_default_coding;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-#endif
diff --git a/titan/General_Types.ttcn b/titan/General_Types.ttcn
new file mode 100644
index 0000000..924f28b
--- /dev/null
+++ b/titan/General_Types.ttcn
@@ -0,0 +1,329 @@
+/******************************************************************************
+ * Copyright (c) 2000-2017 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Balasko, Jeno
+ * Baranyi, Botond
+ *
+ ******************************************************************************/
+//
+// File: General_Types.ttcn
+// Rev: <RnXnn>
+// Prodnr: CNL 113 368
+// Updated: 2012-11-06
+// Contact: http://ttcn.ericsson.se
+// Reference:
+
+
+module General_Types
+{
+
+group SimpleNativeTypes {
+
+ //****************************************************
+ // Bitstrings
+ //****************************************************
+
+ //bitstring with fixed length
+ type bitstring BIT1n length(1) with { variant "" };
+ type bitstring BIT2n length(2) with { variant "" };
+ type bitstring BIT3n length(3) with { variant "" };
+ type bitstring BIT4n length(4) with { variant "" };
+ type bitstring BIT5n length(5) with { variant "" };
+ type bitstring BIT6n length(6) with { variant "" };
+ type bitstring BIT7n length(7) with { variant "" };
+ type bitstring BIT8n length(8) with { variant "" };
+ type bitstring BIT9n length(9) with { variant "" };
+ type bitstring BIT12n length(12) with { variant "" };
+ type bitstring BIT14n length(14) with { variant "" };
+ type bitstring BIT15n length(15) with { variant "" };
+ type bitstring BIT16n length(16) with { variant "" };
+ type bitstring BIT56n length(56) with { variant "" };
+
+ //bitstring with length interval
+ type bitstring BIT14_24n length(14..24) with { variant "" };
+
+ //bitstring to be padded with fixed length
+ type bitstring BIT1np length(1) with { variant "" };
+ type bitstring BIT2np length(2) with { variant "" };
+ type bitstring BIT3np length(3) with { variant "" };
+ type bitstring BIT4np length(4) with { variant "" };
+ type bitstring BIT5np length(5) with { variant "" };
+ type bitstring BIT6np length(6) with { variant "" };
+ type bitstring BIT7np length(7) with { variant "" };
+ type bitstring BIT15np length(15) with { variant "" };
+
+ //bitstring with fixed length
+ type bitstring BIT1 length(1) with { variant "FIELDLENGTH(1)" };
+ type bitstring BIT2 length(2) with { variant "FIELDLENGTH(2)" };
+ type bitstring BIT3 length(3) with { variant "FIELDLENGTH(3)" };
+ type bitstring BIT4 length(4) with { variant "FIELDLENGTH(4)" };
+ type bitstring BIT5 length(5) with { variant "FIELDLENGTH(5)" };
+ type bitstring BIT6 length(6) with { variant "FIELDLENGTH(6)" };
+ type bitstring BIT7 length(7) with { variant "FIELDLENGTH(7)" };
+ type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" };
+ type bitstring BIT9 length(9) with { variant "FIELDLENGTH(9)" };
+ type bitstring BIT10 length(10) with { variant "FIELDLENGTH(10)" };
+ type bitstring BIT11 length(11) with { variant "FIELDLENGTH(11)" };
+ type bitstring BIT12 length(12) with { variant "FIELDLENGTH(12)" };
+ type bitstring BIT13 length(13) with { variant "FIELDLENGTH(13)" };
+ type bitstring BIT14 length(14) with { variant "FIELDLENGTH(14)" };
+ type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" };
+ type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" };
+ type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" };
+ type bitstring BIT28 length(28) with { variant "FIELDLENGTH(28)" };
+ type bitstring BIT29 length(29) with { variant "FIELDLENGTH(29)" };
+ type bitstring BIT30 length(30) with { variant "FIELDLENGTH(30)" };
+ type bitstring BIT31 length(31) with { variant "FIELDLENGTH(31)" };
+ type bitstring BIT32 length(32) with { variant "FIELDLENGTH(32)" };
+ type bitstring BIT56 length(56) with { variant "FIELDLENGTH(56)" };
+
+ //****************************************************
+ // Octetstrings
+ //****************************************************
+
+ //octetstring with fixed length
+ type octetstring OCT0n length(0) with { variant "" };
+ type octetstring OCT1n length(1) with { variant "" };
+ type octetstring OCT2n length(2) with { variant "" };
+ type octetstring OCT3n length(3) with { variant "" };
+ type octetstring OCT4n length(4) with { variant "" };
+ type octetstring OCT5n length(5) with { variant "" };
+ type octetstring OCT6n length(6) with { variant "" };
+ type octetstring OCT7n length(7) with { variant "" };
+ type octetstring OCT8n length(8) with { variant "" };
+ type octetstring OCT9n length(9) with { variant "" };
+ type octetstring OCT10n length(10) with { variant "" };
+ type octetstring OCT11n length(11) with { variant "" };
+ type octetstring OCT12n length(12) with { variant "" };
+ type octetstring OCT13n length(13) with { variant "" };
+ type octetstring OCT14n length(14) with { variant "" };
+ type octetstring OCT15n length(15) with { variant "" };
+ type octetstring OCT16n length(16) with { variant "" };
+ type octetstring OCT17n length(17) with { variant "" };
+ type octetstring OCT18n length(18) with { variant "" };
+ type octetstring OCT19n length(19) with { variant "" };
+ type octetstring OCT20n length(20) with { variant "" };
+ type octetstring OCT28n length(28) with { variant "" };
+ type octetstring OCT32n length(32) with { variant "" };
+ type octetstring OCT34n length(34) with { variant "" };
+ type octetstring OCT46n length(46) with { variant "" };
+ type octetstring OCT50n length(50) with { variant "" };
+ type octetstring OCT69n length(69) with { variant "" };
+ type octetstring OCT100n length(100) with { variant "" };
+ type octetstring OCT128n length(128) with { variant "" };
+ type octetstring OCT500n length(500) with { variant "" };
+ type octetstring OCTNn with { variant "" };
+
+ //octetstring with length interval
+ type octetstring OCT1_3n length(1..3) with { variant "" };
+ type octetstring OCT1_4n length(1..4) with { variant "" };
+ type octetstring OCT1_5n length(1..5) with { variant "" };
+ type octetstring OCT1_6n length(1..6) with { variant "" };
+ type octetstring OCT1_7n length(1..7) with { variant "" };
+ type octetstring OCT1_8n length(1..8) with { variant "" };
+ type octetstring OCT1_12n length(1..12) with { variant "" };
+ type octetstring OCT1_15n length(1..15) with { variant "" };
+ type octetstring OCT1_16n length(1..16) with { variant "" };
+ type octetstring OCT1_18n length(1..18) with { variant "" };
+ type octetstring OCT1_20n length(1..20) with { variant "" };
+ type octetstring OCT1_24n length(1..24) with { variant "" };
+ type octetstring OCT1_32n length(1..32) with { variant "" };
+ type octetstring OCT1_34n length(1..34) with { variant "" };
+ type octetstring OCT1_46n length(1..46) with { variant "" };
+ type octetstring OCT1_50n length(1..50) with { variant "" };
+ type octetstring OCT1_112n length(1..112) with { variant "" };
+ type octetstring OCT1_127n length(1..127) with { variant "" };
+ type octetstring OCT1_128n length(1..128) with { variant "" };
+ type octetstring OCT1_172n length(1..172) with { variant "" };
+ type octetstring OCT3_5n length(3..5) with { variant "" };
+ type octetstring OCT3_7n length(3..7) with { variant "" };
+ type octetstring OCT3_8n length(3..8) with { variant "" };
+ type octetstring OCT3_14n length(3..14) with { variant "" };
+ type octetstring OCT3_17n length(3..17) with { variant "" };
+ type octetstring OCT4_8n length(4..8) with { variant "" };
+
+
+ //****************************************************
+ // Charstrings
+ //****************************************************
+
+ //charstring with fixed length
+ type charstring CHAR4 length (4);
+
+ //****************************************************
+ // Hexstrings
+ //****************************************************
+
+ //hexstring with fixed length
+ type hexstring HEX4n length(4) with { variant "" };
+ type hexstring HEX6n length(6) with { variant "" };
+ type hexstring HEX8n length(8) with { variant "" };
+ type hexstring HEX15n length(15) with { variant "" };
+ type hexstring HEX16n length(16) with { variant "" };
+ type hexstring HEX24n length(24) with { variant "" };
+
+ //hexstring with length interval
+ type hexstring HEX0_3n length(0..3) with { variant "" };
+ type hexstring HEX0_18n length(0..18) with { variant "" };
+ type hexstring HEX1_20n length(1..20) with { variant "" };
+ type hexstring HEX1_34n length(1..34) with { variant "" };
+
+ //****************************************************
+ // Integers
+ //****************************************************
+
+ //integer with fixed bit number
+ type integer INT3nb (0..7) with { variant "" };
+ type integer INT4nb (0..15) with { variant "" };
+ type integer INT5nb (0..31) with { variant "" };
+ type integer INT8nb (0..255) with { variant "" };
+
+ //integer with fixed bit number and with padding
+ type integer INT2nbp (0..3) with { variant "" };
+ type integer INT1nbp (0..1) with { variant "" };
+ type integer INT3nbp (0..7) with { variant "" };
+ type integer INT5nbp (0..31) with { variant "" };
+ type integer INT9nbp (0..511) with { variant "" };
+ type integer INT13nbp (0..8191) with { variant "" };
+ type integer INT15nbp (0..32767) with { variant "" };
+
+} // end group NativeTypes
+
+//****************************************************
+//****************************************************
+// RAW Encoded Types
+//****************************************************
+//****************************************************
+
+group SimpleRAWEncodedTypes {
+
+ //****************************************************
+ // Bitstrings
+ //****************************************************
+
+ //bitstring with fixed length
+ type bitstring BIT6_BO_LAST length (6) with {variant "BYTEORDER(last)"};
+ type bitstring BIT16_BO_LAST length (16) with {variant "BYTEORDER(last)"};
+ type bitstring BIT32_BO_LAST length (32) with {variant "BYTEORDER(last)"};
+
+ //****************************************************
+ // Octetstrings
+ //****************************************************
+ //octetstring with fixed length
+ type octetstring Dummy length(0) with { variant "FIELDLENGTH(0)" };
+ type octetstring OCT0 length(0) with { variant "FIELDLENGTH(0)" };
+ type octetstring OCT1 length(1) with { variant "FIELDLENGTH(1)" };
+ type octetstring OCT2 length(2) with { variant "FIELDLENGTH(2)" };
+ type octetstring OCT3 length(3) with { variant "FIELDLENGTH(3)" };
+ type octetstring OCT4 length(4) with { variant "FIELDLENGTH(4)" };
+ type octetstring OCT5 length(5) with { variant "FIELDLENGTH(5)" };
+ type octetstring OCT6 length(6) with { variant "FIELDLENGTH(6)" };
+ type octetstring OCT7 length(7) with { variant "FIELDLENGTH(7)" };
+ type octetstring OCT8 length(8) with { variant "FIELDLENGTH(8)" };
+ type octetstring OCT9 length(9) with { variant "FIELDLENGTH(9)" };
+ type octetstring OCT10 length(10) with { variant "FIELDLENGTH(10)" };
+ type octetstring OCT11 length(11) with { variant "FIELDLENGTH(11)" };
+ type octetstring OCT12 length(12) with { variant "FIELDLENGTH(12)" };
+ type octetstring OCT13 length(13) with { variant "FIELDLENGTH(13)" };
+ type octetstring OCT14 length(14) with { variant "FIELDLENGTH(14)" };
+ type octetstring OCT15 length(15) with { variant "FIELDLENGTH(15)" };
+ type octetstring OCT16 length(16) with { variant "FIELDLENGTH(16)" };
+ type octetstring OCT17 length(17) with { variant "FIELDLENGTH(17)" };
+ type octetstring OCT18 length(18) with { variant "FIELDLENGTH(18)" };
+ type octetstring OCT19 length(19) with { variant "FIELDLENGTH(19)" };
+ type octetstring OCT20 length(20) with { variant "FIELDLENGTH(20)" };
+ type octetstring OCT22 length(22) with { variant "FIELDLENGTH(22)" };
+ type octetstring OCT32 length(32) with { variant "FIELDLENGTH(32)" };
+ type octetstring OCT34 length(34) with { variant "FIELDLENGTH(34)" };
+ type octetstring OCT46 length(46) with { variant "FIELDLENGTH(46)" };
+
+ //octetstring with length interval
+ type octetstring OCT1_260 length(1..260) with { variant "" };
+ type octetstring OCT1_8 length(1..8) with { variant "" };
+ type octetstring OCT1_12 length(1..12) with { variant "" };
+ type octetstring OCT1_32 length(1..32) with { variant "" };
+ type octetstring OCT1_50 length(1..50) with { variant "" };
+ type octetstring OCT3_8 length(3..8) with { variant "" };
+
+ type octetstring OCTN with { variant "" };
+
+ //****************************************************
+ // Hexstrings
+ //****************************************************
+
+ //hexstring with fixed length
+ type hexstring HEX1 length(1) with {variant "FIELDLENGTH(1)"};
+
+ //hexstring with length interval
+ type hexstring HEX0_16 length(0..16) with { variant "" };
+ type hexstring HEX5_16 length(5..16) with { variant "" };
+ type hexstring HEX1_32 length(1..32) with { variant "" };
+
+
+ //****************************************************
+ // Integers
+ //****************************************************
+
+ //integer with fixed octet number
+ type integer INT1 (0..255) with { variant "FIELDLENGTH(8)" };
+ type integer LIN1 (0..255) with { variant "FIELDLENGTH(8)" };
+ type integer LIN2 (0..65535) with { variant "FIELDLENGTH(16)" };
+ type integer LIN2_BO_LAST (0..65535) with { variant "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" };
+ type integer LIN3_BO_LAST (0..16777215) with { variant "FIELDLENGTH(24), COMP(nosign), BYTEORDER(last)" };
+ type integer LIN4_BO_LAST (0..4294967295) with { variant "FIELDLENGTH(32), COMP(nosign), BYTEORDER(last)" };
+
+ //integer with fixed bit number
+ type integer INT1b (0..1) with { variant "FIELDLENGTH(1)" };
+ type integer INT2b (0..3) with { variant "FIELDLENGTH(2)" };
+ type integer INT3b (0..7) with { variant "FIELDLENGTH(3)" };
+ type integer INT4b (0..15) with { variant "FIELDLENGTH(4)" };
+ type integer INT5b (0..31) with { variant "FIELDLENGTH(5)" };
+ type integer INT6b (0..63) with { variant "FIELDLENGTH(6)" };
+ type integer INT7b (0..127) with { variant "FIELDLENGTH(7)" };
+ type integer INT11b_BO_LAST ( 0 .. 2047 ) with { variant "FIELDLENGTH(11), COMP(nosign), BYTEORDER(last)" };
+ type integer INT12b_BO_LAST ( 0 .. 4095 ) with { variant "FIELDLENGTH(12), COMP(nosign), BYTEORDER(last)" };
+ type integer INT13b_BO_LAST ( 0 .. 8191 ) with { variant "FIELDLENGTH(13), COMP(nosign), BYTEORDER(last)" };
+ type integer INT14b_BO_LAST ( 0 .. 16383 ) with { variant "FIELDLENGTH(14), COMP(nosign), BYTEORDER(last)" };
+ type integer INT18b_BO_LAST ( 0 .. 262143 ) with { variant "FIELDLENGTH(18), COMP(nosign), BYTEORDER(last)" };
+ type integer INT20b_BO_LAST ( 0 .. 1048575 ) with { variant "FIELDLENGTH(20), COMP(nosign), BYTEORDER(last)" };
+ type integer INT31b_BO_LAST ( 0 .. 2147483647 ) with { variant "FIELDLENGTH(31), COMP(nosign), BYTEORDER(last)" };
+
+ //****************************************************
+ // Structures
+ //****************************************************
+
+ //integer record
+ type record of integer Integers with { variant "" };
+ type record of Integers Integer_array with { variant "" };
+
+} // end group SimpleRAWEncodedTypes
+
+group ComponentTypes {
+ type component Dummy_comptype {}
+ type component Dummy_CT {}
+} // end group ComponentTypes
+
+group CompositeTypes {
+ type enumerated Protocols
+ { mtp3, sccp, isup, bicc, qaal2, gcp, bssap, bssmap, ranap, dtap }
+
+ type record of OCT1 OCT1List with { variant "" };
+ type record of OCT2 OCT2List with { variant "" };
+ type record of OCT3 OCT3List with { variant "" };
+ type record of OCT4 OCT4List with { variant "" };
+ type record of OCT5 OCT5List with { variant "" };
+ type record of OCT6 OCT6List with { variant "" };
+ type record of OCT7 OCT7List with { variant "" };
+
+ type record of Dummy_comptype ListOfDummy_comptype;
+ type record of Dummy_CT ListOfDummy_CT;
+ type record of Protocols ProtocolList with { variant "" };
+} // end group CompositeTypes
+
+} with { encode "RAW" } /* End of module General_Types */
+
diff --git a/titan/MNCC_Types.cc b/titan/MNCC_Types.cc
deleted file mode 100644
index 5433df5..0000000
--- a/titan/MNCC_Types.cc
+++ /dev/null
@@ -1,34155 +0,0 @@
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "MNCC_Types.hh"
-
-namespace MNCC__Types {
-
-/* Prototypes of static functions */
-
-static void pre_init_module();
-static void post_init_module();
-
-/* Literal string constants */
-
-static const OCTETSTRING os_0(0, NULL);
-static const CHARSTRING cs_0(0, NULL);
-static const unsigned char module_checksum[] = { 0x60, 0x7c, 0x6c, 0x42, 0xf2, 0x2c, 0x6e, 0x33, 0x86, 0x38, 0xfe, 0x94, 0x73, 0xe3, 0x52, 0x85 };
-
-/* Global variable definitions */
-
-const TTCN_RAWdescriptor_t int__raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t int__xer_ = { {"int>\n", "int>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t int__descr_ = { "@MNCC_Types.int", &INTEGER_ber_, &int__raw_, &INTEGER_text_, &int__xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING int__default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__ra_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__ra
-const TTCN_Typedescriptor_t GSM48__bcap__ra_descr_ = { "@MNCC_Types.GSM48_bcap_ra", NULL, &GSM48__bcap__ra_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__ra_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__sig__access_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__sig__access
-const TTCN_Typedescriptor_t GSM48__bcap__sig__access_descr_ = { "@MNCC_Types.GSM48_bcap_sig_access", NULL, &GSM48__bcap__sig__access_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__sig__access_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__user__rate_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__user__rate
-const TTCN_Typedescriptor_t GSM48__bcap__user__rate_descr_ = { "@MNCC_Types.GSM48_bcap_user_rate", NULL, &GSM48__bcap__user__rate_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__user__rate_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__parity_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__parity
-const TTCN_Typedescriptor_t GSM48__bcap__parity_descr_ = { "@MNCC_Types.GSM48_bcap_parity", NULL, &GSM48__bcap__parity_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__parity_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__interm__rate_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__interm__rate
-const TTCN_Typedescriptor_t GSM48__bcap__interm__rate_descr_ = { "@MNCC_Types.GSM48_bcap_interm_rate", NULL, &GSM48__bcap__interm__rate_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__interm__rate_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__transp_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__transp
-const TTCN_Typedescriptor_t GSM48__bcap__transp_descr_ = { "@MNCC_Types.GSM48_bcap_transp", NULL, &GSM48__bcap__transp_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__transp_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__bcap__modem__type_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__bcap__modem__type
-const TTCN_Typedescriptor_t GSM48__bcap__modem__type_descr_ = { "@MNCC_Types.GSM48_bcap_modem_type", NULL, &GSM48__bcap__modem__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__bcap__modem__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__MsgType_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgType
-const TTCN_Typedescriptor_t MNCC__MsgType_descr_ = { "@MNCC_Types.MNCC_MsgType", NULL, &MNCC__MsgType_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__MsgType_default_coding("RAW");
-static INTEGER const_GSM__MAX__FACILITY;
-const INTEGER& GSM__MAX__FACILITY = const_GSM__MAX__FACILITY;
-static INTEGER const_GSM__MAX__SSVERSION;
-const INTEGER& GSM__MAX__SSVERSION = const_GSM__MAX__SSVERSION;
-static INTEGER const_GSM__MAX__USERUSER;
-const INTEGER& GSM__MAX__USERUSER = const_GSM__MAX__USERUSER;
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_rate__adaptation_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_rate__adaptation
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_rate__adaptation_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.rate_adaptation", NULL, &MNCC__bearer__cap__data_rate__adaptation_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_rate__adaptation_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_sig__access_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_sig__access
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_sig__access_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.sig_access", NULL, &MNCC__bearer__cap__data_sig__access_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_sig__access_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_async_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap__data_async_xer_ = { {"async>\n", "async>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap__data_async_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_async_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.async", &INTEGER_ber_, &MNCC__bearer__cap__data_async_raw_, &INTEGER_text_, &MNCC__bearer__cap__data_async_xer_, &INTEGER_json_, &MNCC__bearer__cap__data_async_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_async_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_xer_ = { {"nr_stop_bits>\n", "nr_stop_bits>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_nr__stop__bits_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.nr_stop_bits", &INTEGER_ber_, &MNCC__bearer__cap__data_nr__stop__bits_raw_, &INTEGER_text_, &MNCC__bearer__cap__data_nr__stop__bits_xer_, &INTEGER_json_, &MNCC__bearer__cap__data_nr__stop__bits_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_nr__stop__bits_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_nr__data__bits_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap__data_nr__data__bits_xer_ = { {"nr_data_bits>\n", "nr_data_bits>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap__data_nr__data__bits_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_nr__data__bits_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.nr_data_bits", &INTEGER_ber_, &MNCC__bearer__cap__data_nr__data__bits_raw_, &INTEGER_text_, &MNCC__bearer__cap__data_nr__data__bits_xer_, &INTEGER_json_, &MNCC__bearer__cap__data_nr__data__bits_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_nr__data__bits_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_user__rate_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_user__rate
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_user__rate_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.user_rate", NULL, &MNCC__bearer__cap__data_user__rate_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_user__rate_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_parity_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_parity
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_parity_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.parity", NULL, &MNCC__bearer__cap__data_parity_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_parity_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_interm__rate_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_interm__rate
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_interm__rate_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.interm_rate", NULL, &MNCC__bearer__cap__data_interm__rate_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_interm__rate_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_transp_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_transp
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_transp_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.transp", NULL, &MNCC__bearer__cap__data_transp_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_transp_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_modem__type_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data_modem__type
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_modem__type_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data.modem_type", NULL, &MNCC__bearer__cap__data_modem__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_modem__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap__data
-const TTCN_Typedescriptor_t MNCC__bearer__cap__data_descr_ = { "@MNCC_Types.MNCC_bearer_cap_data", NULL, &MNCC__bearer__cap__data_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__speech__vers_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__speech__vers
-const TTCN_Typedescriptor_t MNCC__speech__vers_descr_ = { "@MNCC_Types.MNCC_speech_vers", NULL, &MNCC__speech__vers_raw_, NULL, NULL, NULL, NULL, &MNCC__speech__vers_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t MNCC__speech__vers_0_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__speech__vers_0_xer_ = { {"int>\n", "int>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__speech__vers_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__speech__vers_0_descr_ = { "@MNCC_Types.MNCC_speech_vers.<oftype>", &INTEGER_ber_, &MNCC__speech__vers_0_raw_, &INTEGER_text_, &MNCC__speech__vers_0_xer_, &INTEGER_json_, &MNCC__speech__vers_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__speech__vers_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING MNCC__speech__vers_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_transfer_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap_transfer_xer_ = { {"transfer>\n", "transfer>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap_transfer_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap_transfer_descr_ = { "@MNCC_Types.MNCC_bearer_cap.transfer", &INTEGER_ber_, &MNCC__bearer__cap_transfer_raw_, &INTEGER_text_, &MNCC__bearer__cap_transfer_xer_, &INTEGER_json_, &MNCC__bearer__cap_transfer_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_transfer_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_mode_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap_mode_xer_ = { {"mode>\n", "mode>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap_mode_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap_mode_descr_ = { "@MNCC_Types.MNCC_bearer_cap.mode", &INTEGER_ber_, &MNCC__bearer__cap_mode_raw_, &INTEGER_text_, &MNCC__bearer__cap_mode_xer_, &INTEGER_json_, &MNCC__bearer__cap_mode_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_mode_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_coding_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap_coding_xer_ = { {"coding>\n", "coding>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap_coding_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap_coding_descr_ = { "@MNCC_Types.MNCC_bearer_cap.coding", &INTEGER_ber_, &MNCC__bearer__cap_coding_raw_, &INTEGER_text_, &MNCC__bearer__cap_coding_xer_, &INTEGER_json_, &MNCC__bearer__cap_coding_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_coding_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_radio_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap_radio_xer_ = { {"radio>\n", "radio>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap_radio_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap_radio_descr_ = { "@MNCC_Types.MNCC_bearer_cap.radio", &INTEGER_ber_, &MNCC__bearer__cap_radio_raw_, &INTEGER_text_, &MNCC__bearer__cap_radio_xer_, &INTEGER_json_, &MNCC__bearer__cap_radio_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_radio_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_speech__ctm_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__bearer__cap_speech__ctm_xer_ = { {"speech_ctm>\n", "speech_ctm>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__bearer__cap_speech__ctm_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__bearer__cap_speech__ctm_descr_ = { "@MNCC_Types.MNCC_bearer_cap.speech_ctm", &INTEGER_ber_, &MNCC__bearer__cap_speech__ctm_raw_, &INTEGER_text_, &MNCC__bearer__cap_speech__ctm_xer_, &INTEGER_json_, &MNCC__bearer__cap_speech__ctm_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_speech__ctm_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_speech__ver_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap_speech__ver
-const TTCN_Typedescriptor_t MNCC__bearer__cap_speech__ver_descr_ = { "@MNCC_Types.MNCC_bearer_cap.speech_ver", NULL, &MNCC__bearer__cap_speech__ver_raw_, NULL, NULL, NULL, NULL, &MNCC__speech__vers_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_speech__ver_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap
-const TTCN_Typedescriptor_t MNCC__bearer__cap_descr_ = { "@MNCC_Types.MNCC_bearer_cap", NULL, &MNCC__bearer__cap_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t MNCC__bearer__cap_data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bearer__cap_data
-const TTCN_Typedescriptor_t MNCC__bearer__cap_data_descr_ = { "@MNCC_Types.MNCC_bearer_cap.data", NULL, &MNCC__bearer__cap_data_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_data_default_coding("RAW");
-UNIVERSAL_CHARSTRING MNCC__bearer__cap_default_coding("RAW");
-static MNCC__bearer__cap_template template_ts__MNCC__bcap__voice;
-const MNCC__bearer__cap_template& ts__MNCC__bcap__voice = template_ts__MNCC__bcap__voice;
-const TTCN_RAWdescriptor_t GSM48__type__of__number_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__type__of__number
-const TTCN_Typedescriptor_t GSM48__type__of__number_descr_ = { "@MNCC_Types.GSM48_type_of_number", NULL, &GSM48__type__of__number_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__type__of__number_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_number__type_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__number_number__type
-const TTCN_Typedescriptor_t MNCC__number_number__type_descr_ = { "@MNCC_Types.MNCC_number.number_type", NULL, &MNCC__number_number__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_number__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__num__plan__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__num__plan__ind
-const TTCN_Typedescriptor_t GSM48__num__plan__ind_descr_ = { "@MNCC_Types.GSM48_num_plan_ind", NULL, &GSM48__num__plan__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__num__plan__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_plan_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__number_plan
-const TTCN_Typedescriptor_t MNCC__number_plan_descr_ = { "@MNCC_Types.MNCC_number.plan", NULL, &MNCC__number_plan_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_plan_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__present__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__present__ind
-const TTCN_Typedescriptor_t GSM48__present__ind_descr_ = { "@MNCC_Types.GSM48_present_ind", NULL, &GSM48__present__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__present__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_presence_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__number_presence
-const TTCN_Typedescriptor_t MNCC__number_presence_descr_ = { "@MNCC_Types.MNCC_number.presence", NULL, &MNCC__number_presence_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_presence_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__screening__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__screening__ind
-const TTCN_Typedescriptor_t GSM48__screening__ind_descr_ = { "@MNCC_Types.GSM48_screening_ind", NULL, &GSM48__screening__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__screening__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_screen_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__number_screen
-const TTCN_Typedescriptor_t MNCC__number_screen_descr_ = { "@MNCC_Types.MNCC_number.screen", NULL, &MNCC__number_screen_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_screen_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_number_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__number_number_xer_ = { {"number>\n", "number>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__number_number_descr_ = { "@MNCC_Types.MNCC_number.number", NULL, &MNCC__number_number_raw_, &CHARSTRING_text_, &MNCC__number_number_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_number_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__number_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__number
-const TTCN_Typedescriptor_t MNCC__number_descr_ = { "@MNCC_Types.MNCC_number", NULL, &MNCC__number_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__number_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__cause__coding_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__cause__coding
-const TTCN_Typedescriptor_t GSM48__cause__coding_descr_ = { "@MNCC_Types.GSM48_cause_coding", NULL, &GSM48__cause__coding_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__cause__coding_default_coding("RAW");
-const TTCN_RAWdescriptor_t GSM48__cause__loc_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for GSM48__cause__loc
-const TTCN_Typedescriptor_t GSM48__cause__loc_descr_ = { "@MNCC_Types.GSM48_cause_loc", NULL, &GSM48__cause__loc_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING GSM48__cause__loc_default_coding("RAW");
-static GSM48__type__of__number const_ts__MNCC__number_ton_defval;
-const GSM48__type__of__number& ts__MNCC__number_ton_defval = const_ts__MNCC__number_ton_defval;
-static GSM48__num__plan__ind const_ts__MNCC__number_npi_defval;
-const GSM48__num__plan__ind& ts__MNCC__number_npi_defval = const_ts__MNCC__number_npi_defval;
-static GSM48__present__ind const_ts__MNCC__number_pres_defval;
-const GSM48__present__ind& ts__MNCC__number_pres_defval = const_ts__MNCC__number_pres_defval;
-static GSM48__screening__ind const_ts__MNCC__number_screen_defval;
-const GSM48__screening__ind& ts__MNCC__number_screen_defval = const_ts__MNCC__number_screen_defval;
-static GSM48__type__of__number_template template_tr__MNCC__number_ton_defval;
-const GSM48__type__of__number_template& tr__MNCC__number_ton_defval = template_tr__MNCC__number_ton_defval;
-static GSM48__num__plan__ind_template template_tr__MNCC__number_npi_defval;
-const GSM48__num__plan__ind_template& tr__MNCC__number_npi_defval = template_tr__MNCC__number_npi_defval;
-static GSM48__present__ind_template template_tr__MNCC__number_pres_defval;
-const GSM48__present__ind_template& tr__MNCC__number_pres_defval = template_tr__MNCC__number_pres_defval;
-static GSM48__screening__ind_template template_tr__MNCC__number_screen_defval;
-const GSM48__screening__ind_template& tr__MNCC__number_screen_defval = template_tr__MNCC__number_screen_defval;
-const TTCN_RAWdescriptor_t MNCC__cause_location_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__cause_location
-const TTCN_Typedescriptor_t MNCC__cause_location_descr_ = { "@MNCC_Types.MNCC_cause.location", NULL, &MNCC__cause_location_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_location_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_coding_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__cause_coding
-const TTCN_Typedescriptor_t MNCC__cause_coding_descr_ = { "@MNCC_Types.MNCC_cause.coding", NULL, &MNCC__cause_coding_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_coding_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_rec_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cause_rec_xer_ = { {"rec>\n", "rec>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__cause_rec_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__cause_rec_descr_ = { "@MNCC_Types.MNCC_cause.rec", &INTEGER_ber_, &MNCC__cause_rec_raw_, &INTEGER_text_, &MNCC__cause_rec_xer_, &INTEGER_json_, &MNCC__cause_rec_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_rec_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_rec__val_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cause_rec__val_xer_ = { {"rec_val>\n", "rec_val>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__cause_rec__val_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__cause_rec__val_descr_ = { "@MNCC_Types.MNCC_cause.rec_val", &INTEGER_ber_, &MNCC__cause_rec__val_raw_, &INTEGER_text_, &MNCC__cause_rec__val_xer_, &INTEGER_json_, &MNCC__cause_rec__val_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_rec__val_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_val_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cause_val_xer_ = { {"val>\n", "val>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__cause_val_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__cause_val_descr_ = { "@MNCC_Types.MNCC_cause.val", &INTEGER_ber_, &MNCC__cause_val_raw_, &INTEGER_text_, &MNCC__cause_val_xer_, &INTEGER_json_, &MNCC__cause_val_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_val_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_diag_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cause_diag_xer_ = { {"diag>\n", "diag>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int MNCC__cause_diag_oer_ext_arr_[0] = {};
-const int MNCC__cause_diag_oer_p_[0] = {};
-const TTCN_OERdescriptor_t MNCC__cause_diag_oer_ = { -1, TRUE, -1, FALSE, 0, 0, MNCC__cause_diag_oer_ext_arr_, 0, MNCC__cause_diag_oer_p_};
-const TTCN_Typedescriptor_t MNCC__cause_diag_descr_ = { "@MNCC_Types.MNCC_cause.diag", &OCTETSTRING_ber_, &MNCC__cause_diag_raw_, &OCTETSTRING_text_, &MNCC__cause_diag_xer_, &OCTETSTRING_json_, &MNCC__cause_diag_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_diag_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cause_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__cause
-const TTCN_Typedescriptor_t MNCC__cause_descr_ = { "@MNCC_Types.MNCC_cause", NULL, &MNCC__cause_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cause_default_coding("RAW");
-static GSM48__cause__loc const_ts__MNCC__cause_loc_defval;
-const GSM48__cause__loc& ts__MNCC__cause_loc_defval = const_ts__MNCC__cause_loc_defval;
-static GSM48__cause__coding const_ts__MNCC__cause_coding_defval;
-const GSM48__cause__coding& ts__MNCC__cause_coding_defval = const_ts__MNCC__cause_coding_defval;
-static OCTETSTRING const_ts__MNCC__cause_diag_defval;
-const OCTETSTRING& ts__MNCC__cause_diag_defval = const_ts__MNCC__cause_diag_defval;
-const TTCN_RAWdescriptor_t MNCC__useruser_proto_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__useruser_proto_xer_ = { {"proto>\n", "proto>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__useruser_proto_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__useruser_proto_descr_ = { "@MNCC_Types.MNCC_useruser.proto", &INTEGER_ber_, &MNCC__useruser_proto_raw_, &INTEGER_text_, &MNCC__useruser_proto_xer_, &INTEGER_json_, &MNCC__useruser_proto_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__useruser_proto_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__useruser_info_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__useruser_info_xer_ = { {"info>\n", "info>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__useruser_info_descr_ = { "@MNCC_Types.MNCC_useruser.info", NULL, &MNCC__useruser_info_raw_, &CHARSTRING_text_, &MNCC__useruser_info_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__useruser_info_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__useruser_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__useruser
-const TTCN_Typedescriptor_t MNCC__useruser_descr_ = { "@MNCC_Types.MNCC_useruser", NULL, &MNCC__useruser_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__useruser_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__progress_coding_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__progress_coding_xer_ = { {"coding>\n", "coding>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__progress_coding_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__progress_coding_descr_ = { "@MNCC_Types.MNCC_progress.coding", &INTEGER_ber_, &MNCC__progress_coding_raw_, &INTEGER_text_, &MNCC__progress_coding_xer_, &INTEGER_json_, &MNCC__progress_coding_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__progress_coding_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__progress_location_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__progress_location_xer_ = { {"location>\n", "location>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__progress_location_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__progress_location_descr_ = { "@MNCC_Types.MNCC_progress.location", &INTEGER_ber_, &MNCC__progress_location_raw_, &INTEGER_text_, &MNCC__progress_location_xer_, &INTEGER_json_, &MNCC__progress_location_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__progress_location_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__progress_descr_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__progress_descr_xer_ = { {"descr>\n", "descr>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__progress_descr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__progress_descr_descr_ = { "@MNCC_Types.MNCC_progress.descr", &INTEGER_ber_, &MNCC__progress_descr_raw_, &INTEGER_text_, &MNCC__progress_descr_xer_, &INTEGER_json_, &MNCC__progress_descr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__progress_descr_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__progress_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__progress
-const TTCN_Typedescriptor_t MNCC__progress_descr_ = { "@MNCC_Types.MNCC_progress", NULL, &MNCC__progress_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__progress_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cccap_dtmf_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cccap_dtmf_xer_ = { {"dtmf>\n", "dtmf>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__cccap_dtmf_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__cccap_dtmf_descr_ = { "@MNCC_Types.MNCC_cccap.dtmf", &INTEGER_ber_, &MNCC__cccap_dtmf_raw_, &INTEGER_text_, &MNCC__cccap_dtmf_xer_, &INTEGER_json_, &MNCC__cccap_dtmf_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cccap_dtmf_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cccap_pcp_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__cccap_pcp_xer_ = { {"pcp>\n", "pcp>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__cccap_pcp_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__cccap_pcp_descr_ = { "@MNCC_Types.MNCC_cccap.pcp", &INTEGER_ber_, &MNCC__cccap_pcp_raw_, &INTEGER_text_, &MNCC__cccap_pcp_xer_, &INTEGER_json_, &MNCC__cccap_pcp_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cccap_pcp_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__cccap_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__cccap
-const TTCN_Typedescriptor_t MNCC__cccap_descr_ = { "@MNCC_Types.MNCC_cccap", NULL, &MNCC__cccap_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__cccap_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__notify_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__notify_xer_ = { {"MNCC_notify>\n", "MNCC_notify>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__notify_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__notify_descr_ = { "@MNCC_Types.MNCC_notify", &INTEGER_ber_, &MNCC__notify_raw_, &INTEGER_text_, &MNCC__notify_xer_, &INTEGER_json_, &MNCC__notify_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__notify_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__keypad_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__keypad_xer_ = { {"MNCC_keypad>\n", "MNCC_keypad>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__keypad_descr_ = { "@MNCC_Types.MNCC_keypad", NULL, &MNCC__keypad_raw_, &CHARSTRING_text_, &MNCC__keypad_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__keypad_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__bcap_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__bcap
-const TTCN_Typedescriptor_t MNCC__bcap_descr_ = { "@MNCC_Types.MNCC_bcap", NULL, &MNCC__bcap_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__bcap_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_callref_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_callref_xer_ = { {"callref>\n", "callref>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_callref_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_callref_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.callref", &INTEGER_ber_, &MNCC__PDU__Signal_callref_raw_, &INTEGER_text_, &MNCC__PDU__Signal_callref_xer_, &INTEGER_json_, &MNCC__PDU__Signal_callref_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_callref_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_clir__sup_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_clir__sup_xer_ = { {"clir_sup>\n", "clir_sup>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_clir__sup_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_clir__sup_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.clir_sup", &INTEGER_ber_, &MNCC__PDU__Signal_clir__sup_raw_, &INTEGER_text_, &MNCC__PDU__Signal_clir__sup_xer_, &INTEGER_json_, &MNCC__PDU__Signal_clir__sup_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_clir__sup_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_clir__inv_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_clir__inv_xer_ = { {"clir_inv>\n", "clir_inv>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_clir__inv_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_clir__inv_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.clir_inv", &INTEGER_ber_, &MNCC__PDU__Signal_clir__inv_raw_, &INTEGER_text_, &MNCC__PDU__Signal_clir__inv_xer_, &INTEGER_json_, &MNCC__PDU__Signal_clir__inv_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_clir__inv_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_more_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_more_xer_ = { {"more>\n", "more>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_more_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_more_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.more", &INTEGER_ber_, &MNCC__PDU__Signal_more_raw_, &INTEGER_text_, &MNCC__PDU__Signal_more_xer_, &INTEGER_json_, &MNCC__PDU__Signal_more_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_more_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_notify_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_notify_xer_ = { {"notify>\n", "notify>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_notify_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_notify_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.notify", &INTEGER_ber_, &MNCC__PDU__Signal_notify_raw_, &INTEGER_text_, &MNCC__PDU__Signal_notify_xer_, &INTEGER_json_, &MNCC__PDU__Signal_notify_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_notify_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_imsi_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_imsi_xer_ = { {"imsi>\n", "imsi>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_imsi_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.imsi", NULL, &MNCC__PDU__Signal_imsi_raw_, &CHARSTRING_text_, &MNCC__PDU__Signal_imsi_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_imsi_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_lchan__type_raw_ = {8,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_lchan__type_xer_ = { {"lchan_type>\n", "lchan_type>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_lchan__type_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_lchan__type_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.lchan_type", &INTEGER_ber_, &MNCC__PDU__Signal_lchan__type_raw_, &INTEGER_text_, &MNCC__PDU__Signal_lchan__type_xer_, &INTEGER_json_, &MNCC__PDU__Signal_lchan__type_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_lchan__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_lchan__mode_raw_ = {8,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_lchan__mode_xer_ = { {"lchan_mode>\n", "lchan_mode>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_lchan__mode_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_lchan__mode_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.lchan_mode", &INTEGER_ber_, &MNCC__PDU__Signal_lchan__mode_raw_, &INTEGER_text_, &MNCC__PDU__Signal_lchan__mode_xer_, &INTEGER_json_, &MNCC__PDU__Signal_lchan__mode_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_lchan__mode_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_descr_ = { "@MNCC_Types.MNCC_PDU_Signal", NULL, &MNCC__PDU__Signal_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_bearer__cap_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_bearer__cap
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_bearer__cap_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.bearer_cap", NULL, &MNCC__PDU__Signal_bearer__cap_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_bearer__cap_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_called_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_called
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_called_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.called", NULL, &MNCC__PDU__Signal_called_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_called_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_calling_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_calling
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_calling_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.calling", NULL, &MNCC__PDU__Signal_calling_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_calling_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_redirecting_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_redirecting
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_redirecting_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.redirecting", NULL, &MNCC__PDU__Signal_redirecting_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_redirecting_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_connected_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_connected
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_connected_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.connected", NULL, &MNCC__PDU__Signal_connected_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_connected_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_cause_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_cause
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_cause_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.cause", NULL, &MNCC__PDU__Signal_cause_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_cause_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_progress_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_progress
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_progress_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.progress", NULL, &MNCC__PDU__Signal_progress_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_progress_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_useruser_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_useruser
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_useruser_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.useruser", NULL, &MNCC__PDU__Signal_useruser_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_useruser_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_facility_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_facility_xer_ = { {"facility>\n", "facility>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED |XER_OPTIONAL, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_facility_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.facility", NULL, &MNCC__PDU__Signal_facility_raw_, &CHARSTRING_text_, &MNCC__PDU__Signal_facility_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_facility_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_cccap_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Signal_cccap
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_cccap_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.cccap", NULL, &MNCC__PDU__Signal_cccap_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_cccap_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_ssversion_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_ssversion_xer_ = { {"ssversion>\n", "ssversion>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED |XER_OPTIONAL, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_ssversion_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.ssversion", NULL, &MNCC__PDU__Signal_ssversion_raw_, &CHARSTRING_text_, &MNCC__PDU__Signal_ssversion_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_ssversion_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_signal_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_signal_xer_ = { {"signal>\n", "signal>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED |XER_OPTIONAL, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_signal_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_signal_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.signal", &INTEGER_ber_, &MNCC__PDU__Signal_signal_raw_, &INTEGER_text_, &MNCC__PDU__Signal_signal_xer_, &INTEGER_json_, &MNCC__PDU__Signal_signal_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_signal_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_keypad_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_keypad_xer_ = { {"keypad>\n", "keypad>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED |XER_OPTIONAL, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_keypad_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.keypad", NULL, &MNCC__PDU__Signal_keypad_raw_, &CHARSTRING_text_, &MNCC__PDU__Signal_keypad_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_keypad_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Signal_emergency_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Signal_emergency_xer_ = { {"emergency>\n", "emergency>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED |XER_OPTIONAL, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Signal_emergency_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Signal_emergency_descr_ = { "@MNCC_Types.MNCC_PDU_Signal.emergency", &INTEGER_ber_, &MNCC__PDU__Signal_emergency_raw_, &INTEGER_text_, &MNCC__PDU__Signal_emergency_xer_, &INTEGER_json_, &MNCC__PDU__Signal_emergency_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_emergency_default_coding("RAW");
-UNIVERSAL_CHARSTRING MNCC__PDU__Signal_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Data_callref_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Data_callref_xer_ = { {"callref>\n", "callref>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Data_callref_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Data_callref_descr_ = { "@MNCC_Types.MNCC_PDU_Data.callref", &INTEGER_ber_, &MNCC__PDU__Data_callref_raw_, &INTEGER_text_, &MNCC__PDU__Data_callref_xer_, &INTEGER_json_, &MNCC__PDU__Data_callref_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Data_callref_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Data_data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Data_data_xer_ = { {"data>\n", "data>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int MNCC__PDU__Data_data_oer_ext_arr_[0] = {};
-const int MNCC__PDU__Data_data_oer_p_[0] = {};
-const TTCN_OERdescriptor_t MNCC__PDU__Data_data_oer_ = { -1, TRUE, -1, FALSE, 0, 0, MNCC__PDU__Data_data_oer_ext_arr_, 0, MNCC__PDU__Data_data_oer_p_};
-const TTCN_Typedescriptor_t MNCC__PDU__Data_data_descr_ = { "@MNCC_Types.MNCC_PDU_Data.data", &OCTETSTRING_ber_, &MNCC__PDU__Data_data_raw_, &OCTETSTRING_text_, &MNCC__PDU__Data_data_xer_, &OCTETSTRING_json_, &MNCC__PDU__Data_data_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Data_data_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Data
-const TTCN_Typedescriptor_t MNCC__PDU__Data_descr_ = { "@MNCC_Types.MNCC_PDU_Data", NULL, &MNCC__PDU__Data_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Data_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_callref_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Rtp_callref_xer_ = { {"callref>\n", "callref>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Rtp_callref_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_callref_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp.callref", &INTEGER_ber_, &MNCC__PDU__Rtp_callref_raw_, &INTEGER_text_, &MNCC__PDU__Rtp_callref_xer_, &INTEGER_json_, &MNCC__PDU__Rtp_callref_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_callref_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_ip_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Rtp_ip_xer_ = { {"ip>\n", "ip>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Rtp_ip_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_ip_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp.ip", &INTEGER_ber_, &MNCC__PDU__Rtp_ip_raw_, &INTEGER_text_, &MNCC__PDU__Rtp_ip_xer_, &INTEGER_json_, &MNCC__PDU__Rtp_ip_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_ip_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_rtp__port_raw_ = {16,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Rtp_rtp__port_xer_ = { {"rtp_port>\n", "rtp_port>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Rtp_rtp__port_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_rtp__port_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp.rtp_port", &INTEGER_ber_, &MNCC__PDU__Rtp_rtp__port_raw_, &INTEGER_text_, &MNCC__PDU__Rtp_rtp__port_xer_, &INTEGER_json_, &MNCC__PDU__Rtp_rtp__port_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_rtp__port_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_payload__type_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Rtp_payload__type_xer_ = { {"payload_type>\n", "payload_type>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Rtp_payload__type_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_payload__type_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp.payload_type", &INTEGER_ber_, &MNCC__PDU__Rtp_payload__type_raw_, &INTEGER_text_, &MNCC__PDU__Rtp_payload__type_xer_, &INTEGER_json_, &MNCC__PDU__Rtp_payload__type_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_payload__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_payload__msg__type_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Rtp_payload__msg__type_xer_ = { {"payload_msg_type>\n", "payload_msg_type>\n"}, {18, 18}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Rtp_payload__msg__type_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_payload__msg__type_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp.payload_msg_type", &INTEGER_ber_, &MNCC__PDU__Rtp_payload__msg__type_raw_, &INTEGER_text_, &MNCC__PDU__Rtp_payload__msg__type_xer_, &INTEGER_json_, &MNCC__PDU__Rtp_payload__msg__type_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_payload__msg__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Rtp
-const TTCN_Typedescriptor_t MNCC__PDU__Rtp_descr_ = { "@MNCC_Types.MNCC_PDU_Rtp", NULL, &MNCC__PDU__Rtp_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_version_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_version_xer_ = { {"version>\n", "version>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_version_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_version_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.version", &INTEGER_ber_, &MNCC__PDU__Hello_version_raw_, &INTEGER_text_, &MNCC__PDU__Hello_version_xer_, &INTEGER_json_, &MNCC__PDU__Hello_version_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_version_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_mncc__size_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_mncc__size_xer_ = { {"mncc_size>\n", "mncc_size>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_mncc__size_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_mncc__size_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.mncc_size", &INTEGER_ber_, &MNCC__PDU__Hello_mncc__size_raw_, &INTEGER_text_, &MNCC__PDU__Hello_mncc__size_xer_, &INTEGER_json_, &MNCC__PDU__Hello_mncc__size_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_mncc__size_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_data__frame__size_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_data__frame__size_xer_ = { {"data_frame_size>\n", "data_frame_size>\n"}, {17, 17}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_data__frame__size_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_data__frame__size_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.data_frame_size", &INTEGER_ber_, &MNCC__PDU__Hello_data__frame__size_raw_, &INTEGER_text_, &MNCC__PDU__Hello_data__frame__size_xer_, &INTEGER_json_, &MNCC__PDU__Hello_data__frame__size_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_data__frame__size_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_called__offset_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_called__offset_xer_ = { {"called_offset>\n", "called_offset>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_called__offset_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_called__offset_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.called_offset", &INTEGER_ber_, &MNCC__PDU__Hello_called__offset_raw_, &INTEGER_text_, &MNCC__PDU__Hello_called__offset_xer_, &INTEGER_json_, &MNCC__PDU__Hello_called__offset_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_called__offset_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_signal__offset_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_signal__offset_xer_ = { {"signal_offset>\n", "signal_offset>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_signal__offset_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_signal__offset_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.signal_offset", &INTEGER_ber_, &MNCC__PDU__Hello_signal__offset_raw_, &INTEGER_text_, &MNCC__PDU__Hello_signal__offset_xer_, &INTEGER_json_, &MNCC__PDU__Hello_signal__offset_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_signal__offset_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_emergency__offset_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_emergency__offset_xer_ = { {"emergency_offset>\n", "emergency_offset>\n"}, {18, 18}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_emergency__offset_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_emergency__offset_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.emergency_offset", &INTEGER_ber_, &MNCC__PDU__Hello_emergency__offset_raw_, &INTEGER_text_, &MNCC__PDU__Hello_emergency__offset_xer_, &INTEGER_json_, &MNCC__PDU__Hello_emergency__offset_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_emergency__offset_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_lchan__type__offset_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t MNCC__PDU__Hello_lchan__type__offset_xer_ = { {"lchan_type_offset>\n", "lchan_type_offset>\n"}, {19, 19}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t MNCC__PDU__Hello_lchan__type__offset_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_lchan__type__offset_descr_ = { "@MNCC_Types.MNCC_PDU_Hello.lchan_type_offset", &INTEGER_ber_, &MNCC__PDU__Hello_lchan__type__offset_raw_, &INTEGER_text_, &MNCC__PDU__Hello_lchan__type__offset_xer_, &INTEGER_json_, &MNCC__PDU__Hello_lchan__type__offset_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_lchan__type__offset_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU__Hello_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU__Hello
-const TTCN_Typedescriptor_t MNCC__PDU__Hello_descr_ = { "@MNCC_Types.MNCC_PDU_Hello", NULL, &MNCC__PDU__Hello_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU__Hello_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__MsgUnion_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgUnion
-const TTCN_Typedescriptor_t MNCC__MsgUnion_descr_ = { "@MNCC_Types.MNCC_MsgUnion", NULL, &MNCC__MsgUnion_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t MNCC__MsgUnion_signal_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgUnion_signal
-const TTCN_Typedescriptor_t MNCC__MsgUnion_signal_descr_ = { "@MNCC_Types.MNCC_MsgUnion.signal", NULL, &MNCC__MsgUnion_signal_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__MsgUnion_signal_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__MsgUnion_data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgUnion_data
-const TTCN_Typedescriptor_t MNCC__MsgUnion_data_descr_ = { "@MNCC_Types.MNCC_MsgUnion.data", NULL, &MNCC__MsgUnion_data_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__MsgUnion_data_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__MsgUnion_rtp_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgUnion_rtp
-const TTCN_Typedescriptor_t MNCC__MsgUnion_rtp_descr_ = { "@MNCC_Types.MNCC_MsgUnion.rtp", NULL, &MNCC__MsgUnion_rtp_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__MsgUnion_rtp_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__MsgUnion_hello_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__MsgUnion_hello
-const TTCN_Typedescriptor_t MNCC__MsgUnion_hello_descr_ = { "@MNCC_Types.MNCC_MsgUnion.hello", NULL, &MNCC__MsgUnion_hello_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__MsgUnion_hello_default_coding("RAW");
-UNIVERSAL_CHARSTRING MNCC__MsgUnion_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU_msg__type_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU_msg__type
-const TTCN_Typedescriptor_t MNCC__PDU_msg__type_descr_ = { "@MNCC_Types.MNCC_PDU.msg_type", NULL, &MNCC__PDU_msg__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU_msg__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU_u_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU_u
-const TTCN_Typedescriptor_t MNCC__PDU_u_descr_ = { "@MNCC_Types.MNCC_PDU.u", NULL, &MNCC__PDU_u_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU_u_default_coding("RAW");
-const TTCN_RAWdescriptor_t MNCC__PDU_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for MNCC__PDU
-const TTCN_Typedescriptor_t MNCC__PDU_descr_ = { "@MNCC_Types.MNCC_PDU", NULL, &MNCC__PDU_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING MNCC__PDU_default_coding("RAW");
-static INTEGER const_ts__MNCC__HELLO_version_defval;
-const INTEGER& ts__MNCC__HELLO_version_defval = const_ts__MNCC__HELLO_version_defval;
-static CHARSTRING const_ts__MNCC__SETUP__req_imsi_defval;
-const CHARSTRING& ts__MNCC__SETUP__req_imsi_defval = const_ts__MNCC__SETUP__req_imsi_defval;
-static INTEGER_template template_tr__MNCC__SETUP__req_call__id_defval;
-const INTEGER_template& tr__MNCC__SETUP__req_call__id_defval = template_tr__MNCC__SETUP__req_call__id_defval;
-static CHARSTRING_template template_tr__MNCC__SETUP__req_called_defval;
-const CHARSTRING_template& tr__MNCC__SETUP__req_called_defval = template_tr__MNCC__SETUP__req_called_defval;
-static CHARSTRING_template template_tr__MNCC__SETUP__req_calling_defval;
-const CHARSTRING_template& tr__MNCC__SETUP__req_calling_defval = template_tr__MNCC__SETUP__req_calling_defval;
-static CHARSTRING_template template_tr__MNCC__SETUP__req_imsi_defval;
-const CHARSTRING_template& tr__MNCC__SETUP__req_imsi_defval = template_tr__MNCC__SETUP__req_imsi_defval;
-static CHARSTRING const_ts__MNCC__SETUP__rsp_imsi_defval;
-const CHARSTRING& ts__MNCC__SETUP__rsp_imsi_defval = const_ts__MNCC__SETUP__rsp_imsi_defval;
-static MNCC__number_template template_ts__MNCC__SETUP__rsp_connected_defval;
-const MNCC__number_template& ts__MNCC__SETUP__rsp_connected_defval = template_ts__MNCC__SETUP__rsp_connected_defval;
-static CHARSTRING_template template_tr__MNCC__SETUP__rsp_imsi_defval;
-const CHARSTRING_template& tr__MNCC__SETUP__rsp_imsi_defval = template_tr__MNCC__SETUP__rsp_imsi_defval;
-static MNCC__number_template template_tr__MNCC__SETUP__rsp_connected_defval;
-const MNCC__number_template& tr__MNCC__SETUP__rsp_connected_defval = template_tr__MNCC__SETUP__rsp_connected_defval;
-static INTEGER_template template_tr__MNCC__SETUP__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__SETUP__ind_call__id_defval = template_tr__MNCC__SETUP__ind_call__id_defval;
-static MNCC__number_template template_tr__MNCC__SETUP__ind_called_defval;
-const MNCC__number_template& tr__MNCC__SETUP__ind_called_defval = template_tr__MNCC__SETUP__ind_called_defval;
-static MNCC__number_template template_tr__MNCC__SETUP__ind_calling_defval;
-const MNCC__number_template& tr__MNCC__SETUP__ind_calling_defval = template_tr__MNCC__SETUP__ind_calling_defval;
-static CHARSTRING_template template_tr__MNCC__SETUP__ind_imsi_defval;
-const CHARSTRING_template& tr__MNCC__SETUP__ind_imsi_defval = template_tr__MNCC__SETUP__ind_imsi_defval;
-static MNCC__number_template template_ts__MNCC__SETUP__ind_calling_defval;
-const MNCC__number_template& ts__MNCC__SETUP__ind_calling_defval = template_ts__MNCC__SETUP__ind_calling_defval;
-static CHARSTRING_template template_ts__MNCC__SETUP__ind_imsi_defval;
-const CHARSTRING_template& ts__MNCC__SETUP__ind_imsi_defval = template_ts__MNCC__SETUP__ind_imsi_defval;
-static MNCC__bearer__cap_template template_ts__MNCC__SETUP__ind_bcap_defval;
-const MNCC__bearer__cap_template& ts__MNCC__SETUP__ind_bcap_defval = template_ts__MNCC__SETUP__ind_bcap_defval;
-static MNCC__number_template template_ts__MNCC__SETUP__CNF_connected_defval;
-const MNCC__number_template& ts__MNCC__SETUP__CNF_connected_defval = template_ts__MNCC__SETUP__CNF_connected_defval;
-static MNCC__number_template template_tr__MNCC__SETUP__cnf_connected_defval;
-const MNCC__number_template& tr__MNCC__SETUP__cnf_connected_defval = template_tr__MNCC__SETUP__cnf_connected_defval;
-static INTEGER_template template_tr__MNCC__SETUP__COMPL__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__SETUP__COMPL__ind_call__id_defval = template_tr__MNCC__SETUP__COMPL__ind_call__id_defval;
-static MNCC__cause_template template_tr__MNCC__REJ__req_cause_defval;
-const MNCC__cause_template& tr__MNCC__REJ__req_cause_defval = template_tr__MNCC__REJ__req_cause_defval;
-static MNCC__cause_template template_ts__MNCC__REJ__ind_cause_defval;
-const MNCC__cause_template& ts__MNCC__REJ__ind_cause_defval = template_ts__MNCC__REJ__ind_cause_defval;
-static MNCC__bearer__cap_template template_tr__MNCC__CALL__CONF__ind_bcap_defval;
-const MNCC__bearer__cap_template& tr__MNCC__CALL__CONF__ind_bcap_defval = template_tr__MNCC__CALL__CONF__ind_bcap_defval;
-static MNCC__cause_template template_tr__MNCC__CALL__CONF__ind_cause_defval;
-const MNCC__cause_template& tr__MNCC__CALL__CONF__ind_cause_defval = template_tr__MNCC__CALL__CONF__ind_cause_defval;
-static MNCC__cccap_template template_tr__MNCC__CALL__CONF__ind_cccap_defval;
-const MNCC__cccap_template& tr__MNCC__CALL__CONF__ind_cccap_defval = template_tr__MNCC__CALL__CONF__ind_cccap_defval;
-static MNCC__bearer__cap_template template_ts__MNCC__CALL__CONF__ind_bcap_defval;
-const MNCC__bearer__cap_template& ts__MNCC__CALL__CONF__ind_bcap_defval = template_ts__MNCC__CALL__CONF__ind_bcap_defval;
-static MNCC__cause_template template_ts__MNCC__CALL__CONF__ind_cause_defval;
-const MNCC__cause_template& ts__MNCC__CALL__CONF__ind_cause_defval = template_ts__MNCC__CALL__CONF__ind_cause_defval;
-static MNCC__cccap_template template_ts__MNCC__CALL__CONF__ind_cccap_defval;
-const MNCC__cccap_template& ts__MNCC__CALL__CONF__ind_cccap_defval = template_ts__MNCC__CALL__CONF__ind_cccap_defval;
-static MNCC__bearer__cap_template template_ts__MNCC__CALL__PROC__req_bcap_defval;
-const MNCC__bearer__cap_template& ts__MNCC__CALL__PROC__req_bcap_defval = template_ts__MNCC__CALL__PROC__req_bcap_defval;
-static MNCC__progress_template template_ts__MNCC__CALL__PROC__req_prog_defval;
-const MNCC__progress_template& ts__MNCC__CALL__PROC__req_prog_defval = template_ts__MNCC__CALL__PROC__req_prog_defval;
-static CHARSTRING_template template_ts__MNCC__CALL__PROC__req_fac_defval;
-const CHARSTRING_template& ts__MNCC__CALL__PROC__req_fac_defval = template_ts__MNCC__CALL__PROC__req_fac_defval;
-static MNCC__cccap_template template_ts__MNCC__CALL__PROC__req_cccap_defval;
-const MNCC__cccap_template& ts__MNCC__CALL__PROC__req_cccap_defval = template_ts__MNCC__CALL__PROC__req_cccap_defval;
-static MNCC__bearer__cap_template template_tr__MNCC__CALL__PROC__req_bcap_defval;
-const MNCC__bearer__cap_template& tr__MNCC__CALL__PROC__req_bcap_defval = template_tr__MNCC__CALL__PROC__req_bcap_defval;
-static MNCC__progress_template template_tr__MNCC__CALL__PROC__req_prog_defval;
-const MNCC__progress_template& tr__MNCC__CALL__PROC__req_prog_defval = template_tr__MNCC__CALL__PROC__req_prog_defval;
-static CHARSTRING_template template_tr__MNCC__CALL__PROC__req_fac_defval;
-const CHARSTRING_template& tr__MNCC__CALL__PROC__req_fac_defval = template_tr__MNCC__CALL__PROC__req_fac_defval;
-static MNCC__cccap_template template_tr__MNCC__CALL__PROC__req_cccap_defval;
-const MNCC__cccap_template& tr__MNCC__CALL__PROC__req_cccap_defval = template_tr__MNCC__CALL__PROC__req_cccap_defval;
-static MNCC__useruser_template template_ts__MNCC__PROGRESS__req_uu_defval;
-const MNCC__useruser_template& ts__MNCC__PROGRESS__req_uu_defval = template_ts__MNCC__PROGRESS__req_uu_defval;
-static MNCC__progress_template template_ts__MNCC__ALERT__req_prog_defval;
-const MNCC__progress_template& ts__MNCC__ALERT__req_prog_defval = template_ts__MNCC__ALERT__req_prog_defval;
-static CHARSTRING_template template_ts__MNCC__ALERT__req_fac_defval;
-const CHARSTRING_template& ts__MNCC__ALERT__req_fac_defval = template_ts__MNCC__ALERT__req_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__ALERT__req_uu_defval;
-const MNCC__useruser_template& ts__MNCC__ALERT__req_uu_defval = template_ts__MNCC__ALERT__req_uu_defval;
-static MNCC__progress_template template_tr__MNCC__ALERT__req_prog_defval;
-const MNCC__progress_template& tr__MNCC__ALERT__req_prog_defval = template_tr__MNCC__ALERT__req_prog_defval;
-static CHARSTRING_template template_tr__MNCC__ALERT__req_fac_defval;
-const CHARSTRING_template& tr__MNCC__ALERT__req_fac_defval = template_tr__MNCC__ALERT__req_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__ALERT__req_uu_defval;
-const MNCC__useruser_template& tr__MNCC__ALERT__req_uu_defval = template_tr__MNCC__ALERT__req_uu_defval;
-static MNCC__progress_template template_tr__MNCC__ALERT__ind_prog_defval;
-const MNCC__progress_template& tr__MNCC__ALERT__ind_prog_defval = template_tr__MNCC__ALERT__ind_prog_defval;
-static CHARSTRING_template template_tr__MNCC__ALERT__ind_fac_defval;
-const CHARSTRING_template& tr__MNCC__ALERT__ind_fac_defval = template_tr__MNCC__ALERT__ind_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__ALERT__ind_uu_defval;
-const MNCC__useruser_template& tr__MNCC__ALERT__ind_uu_defval = template_tr__MNCC__ALERT__ind_uu_defval;
-static MNCC__progress_template template_ts__MNCC__ALERT__ind_prog_defval;
-const MNCC__progress_template& ts__MNCC__ALERT__ind_prog_defval = template_ts__MNCC__ALERT__ind_prog_defval;
-static CHARSTRING_template template_ts__MNCC__ALERT__ind_fac_defval;
-const CHARSTRING_template& ts__MNCC__ALERT__ind_fac_defval = template_ts__MNCC__ALERT__ind_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__ALERT__ind_uu_defval;
-const MNCC__useruser_template& ts__MNCC__ALERT__ind_uu_defval = template_ts__MNCC__ALERT__ind_uu_defval;
-static INTEGER_template template_tr__MNCC__DISC__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__DISC__ind_call__id_defval = template_tr__MNCC__DISC__ind_call__id_defval;
-static MNCC__cause_template template_tr__MNCC__DISC__ind_cause_defval;
-const MNCC__cause_template& tr__MNCC__DISC__ind_cause_defval = template_tr__MNCC__DISC__ind_cause_defval;
-static MNCC__progress_template template_tr__MNCC__DISC__ind_prog_defval;
-const MNCC__progress_template& tr__MNCC__DISC__ind_prog_defval = template_tr__MNCC__DISC__ind_prog_defval;
-static CHARSTRING_template template_tr__MNCC__DISC__ind_fac_defval;
-const CHARSTRING_template& tr__MNCC__DISC__ind_fac_defval = template_tr__MNCC__DISC__ind_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__DISC__ind_uu_defval;
-const MNCC__useruser_template& tr__MNCC__DISC__ind_uu_defval = template_tr__MNCC__DISC__ind_uu_defval;
-static MNCC__progress_template template_ts__MNCC__DISC__ind_prog_defval;
-const MNCC__progress_template& ts__MNCC__DISC__ind_prog_defval = template_ts__MNCC__DISC__ind_prog_defval;
-static CHARSTRING_template template_ts__MNCC__DISC__ind_fac_defval;
-const CHARSTRING_template& ts__MNCC__DISC__ind_fac_defval = template_ts__MNCC__DISC__ind_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__DISC__ind_uu_defval;
-const MNCC__useruser_template& ts__MNCC__DISC__ind_uu_defval = template_ts__MNCC__DISC__ind_uu_defval;
-static MNCC__progress_template template_ts__MNCC__DISC__req_prog_defval;
-const MNCC__progress_template& ts__MNCC__DISC__req_prog_defval = template_ts__MNCC__DISC__req_prog_defval;
-static CHARSTRING_template template_ts__MNCC__DISC__req_fac_defval;
-const CHARSTRING_template& ts__MNCC__DISC__req_fac_defval = template_ts__MNCC__DISC__req_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__DISC__req_uu_defval;
-const MNCC__useruser_template& ts__MNCC__DISC__req_uu_defval = template_ts__MNCC__DISC__req_uu_defval;
-static MNCC__cause_template template_tr__MNCC__DISC__req_cause_defval;
-const MNCC__cause_template& tr__MNCC__DISC__req_cause_defval = template_tr__MNCC__DISC__req_cause_defval;
-static MNCC__progress_template template_tr__MNCC__DISC__req_prog_defval;
-const MNCC__progress_template& tr__MNCC__DISC__req_prog_defval = template_tr__MNCC__DISC__req_prog_defval;
-static CHARSTRING_template template_tr__MNCC__DISC__req_fac_defval;
-const CHARSTRING_template& tr__MNCC__DISC__req_fac_defval = template_tr__MNCC__DISC__req_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__DISC__req_uu_defval;
-const MNCC__useruser_template& tr__MNCC__DISC__req_uu_defval = template_tr__MNCC__DISC__req_uu_defval;
-static INTEGER_template template_tr__MNCC__REL__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__REL__ind_call__id_defval = template_tr__MNCC__REL__ind_call__id_defval;
-static MNCC__cause_template template_tr__MNCC__REL__ind_cause_defval;
-const MNCC__cause_template& tr__MNCC__REL__ind_cause_defval = template_tr__MNCC__REL__ind_cause_defval;
-static CHARSTRING_template template_tr__MNCC__REL__ind_fac_defval;
-const CHARSTRING_template& tr__MNCC__REL__ind_fac_defval = template_tr__MNCC__REL__ind_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__REL__ind_uu_defval;
-const MNCC__useruser_template& tr__MNCC__REL__ind_uu_defval = template_tr__MNCC__REL__ind_uu_defval;
-static CHARSTRING_template template_ts__MNCC__REL__ind_fac_defval;
-const CHARSTRING_template& ts__MNCC__REL__ind_fac_defval = template_ts__MNCC__REL__ind_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__REL__ind_uu_defval;
-const MNCC__useruser_template& ts__MNCC__REL__ind_uu_defval = template_ts__MNCC__REL__ind_uu_defval;
-static CHARSTRING_template template_ts__MNCC__REL__req_fac_defval;
-const CHARSTRING_template& ts__MNCC__REL__req_fac_defval = template_ts__MNCC__REL__req_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__REL__req_uu_defval;
-const MNCC__useruser_template& ts__MNCC__REL__req_uu_defval = template_ts__MNCC__REL__req_uu_defval;
-static MNCC__cause_template template_tr__MNCC__REL__req_cause_defval;
-const MNCC__cause_template& tr__MNCC__REL__req_cause_defval = template_tr__MNCC__REL__req_cause_defval;
-static CHARSTRING_template template_tr__MNCC__REL__req_fac_defval;
-const CHARSTRING_template& tr__MNCC__REL__req_fac_defval = template_tr__MNCC__REL__req_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__REL__req_uu_defval;
-const MNCC__useruser_template& tr__MNCC__REL__req_uu_defval = template_tr__MNCC__REL__req_uu_defval;
-static INTEGER_template template_tr__MNCC__REL__cnf_call__id_defval;
-const INTEGER_template& tr__MNCC__REL__cnf_call__id_defval = template_tr__MNCC__REL__cnf_call__id_defval;
-static MNCC__cause_template template_tr__MNCC__REL__cnf_cause_defval;
-const MNCC__cause_template& tr__MNCC__REL__cnf_cause_defval = template_tr__MNCC__REL__cnf_cause_defval;
-static CHARSTRING_template template_tr__MNCC__REL__cnf_fac_defval;
-const CHARSTRING_template& tr__MNCC__REL__cnf_fac_defval = template_tr__MNCC__REL__cnf_fac_defval;
-static MNCC__useruser_template template_tr__MNCC__REL__cnf_uu_defval;
-const MNCC__useruser_template& tr__MNCC__REL__cnf_uu_defval = template_tr__MNCC__REL__cnf_uu_defval;
-static CHARSTRING_template template_ts__MNCC__REL__cnf_fac_defval;
-const CHARSTRING_template& ts__MNCC__REL__cnf_fac_defval = template_ts__MNCC__REL__cnf_fac_defval;
-static MNCC__useruser_template template_ts__MNCC__REL__cnf_uu_defval;
-const MNCC__useruser_template& ts__MNCC__REL__cnf_uu_defval = template_ts__MNCC__REL__cnf_uu_defval;
-static INTEGER_template template_tr__MNCC__FACILITY__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__FACILITY__ind_call__id_defval = template_tr__MNCC__FACILITY__ind_call__id_defval;
-static CHARSTRING_template template_tr__MNCC__FACILITY__ind_fac_defval;
-const CHARSTRING_template& tr__MNCC__FACILITY__ind_fac_defval = template_tr__MNCC__FACILITY__ind_fac_defval;
-static INTEGER_template template_tr__MNCC__START__DTMF__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__START__DTMF__ind_call__id_defval = template_tr__MNCC__START__DTMF__ind_call__id_defval;
-static CHARSTRING_template template_tr__MNCC__START__DTMF__ind_keypad_defval;
-const CHARSTRING_template& tr__MNCC__START__DTMF__ind_keypad_defval = template_tr__MNCC__START__DTMF__ind_keypad_defval;
-static INTEGER_template template_tr__MNCC__STOP__DTMF__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__STOP__DTMF__ind_call__id_defval = template_tr__MNCC__STOP__DTMF__ind_call__id_defval;
-static INTEGER_template template_tr__MNCC__MODIFY__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__MODIFY__ind_call__id_defval = template_tr__MNCC__MODIFY__ind_call__id_defval;
-static MNCC__bearer__cap_template template_tr__MNCC__MODIFY__ind_bcap_defval;
-const MNCC__bearer__cap_template& tr__MNCC__MODIFY__ind_bcap_defval = template_tr__MNCC__MODIFY__ind_bcap_defval;
-static INTEGER_template template_tr__MNCC__MODIFY__cnf_call__id_defval;
-const INTEGER_template& tr__MNCC__MODIFY__cnf_call__id_defval = template_tr__MNCC__MODIFY__cnf_call__id_defval;
-static MNCC__bearer__cap_template template_tr__MNCC__MODIFY__cnf_bcap_defval;
-const MNCC__bearer__cap_template& tr__MNCC__MODIFY__cnf_bcap_defval = template_tr__MNCC__MODIFY__cnf_bcap_defval;
-static INTEGER_template template_tr__MNCC__USERINFO__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__USERINFO__ind_call__id_defval = template_tr__MNCC__USERINFO__ind_call__id_defval;
-static MNCC__useruser_template template_tr__MNCC__USERINFO__ind_uu_defval;
-const MNCC__useruser_template& tr__MNCC__USERINFO__ind_uu_defval = template_tr__MNCC__USERINFO__ind_uu_defval;
-static INTEGER_template template_tr__MNCC__HOLD__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__HOLD__ind_call__id_defval = template_tr__MNCC__HOLD__ind_call__id_defval;
-static INTEGER_template template_tr__MNCC__RETRIEVE__ind_call__id_defval;
-const INTEGER_template& tr__MNCC__RETRIEVE__ind_call__id_defval = template_tr__MNCC__RETRIEVE__ind_call__id_defval;
-static INTEGER_template template_tr__MNCC__RTP__CREATE_call__id_defval;
-const INTEGER_template& tr__MNCC__RTP__CREATE_call__id_defval = template_tr__MNCC__RTP__CREATE_call__id_defval;
-static INTEGER_template template_tr__MNCC__RTP__CONNECT_ip_defval;
-const INTEGER_template& tr__MNCC__RTP__CONNECT_ip_defval = template_tr__MNCC__RTP__CONNECT_ip_defval;
-static INTEGER_template template_tr__MNCC__RTP__CONNECT_rtp__port_defval;
-const INTEGER_template& tr__MNCC__RTP__CONNECT_rtp__port_defval = template_tr__MNCC__RTP__CONNECT_rtp__port_defval;
-static INTEGER_template template_tr__MNCC__RTP__CONNECT_pt_defval;
-const INTEGER_template& tr__MNCC__RTP__CONNECT_pt_defval = template_tr__MNCC__RTP__CONNECT_pt_defval;
-TTCN_Module module_object("MNCC_Types", __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_5,
- current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-GSM48__bcap__ra::GSM48__bcap__ra()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__ra::GSM48__bcap__ra(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_ra with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__ra::GSM48__bcap__ra(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__ra::GSM48__bcap__ra(const GSM48__bcap__ra& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__ra& GSM48__bcap__ra::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_ra.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__ra& GSM48__bcap__ra::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__ra& GSM48__bcap__ra::operator=(const GSM48__bcap__ra& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__ra::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 @MNCC_Types.GSM48_bcap_ra.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__ra::operator==(const GSM48__bcap__ra& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__ra::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 @MNCC_Types.GSM48_bcap_ra.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__ra::operator<(const GSM48__bcap__ra& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__ra::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 @MNCC_Types.GSM48_bcap_ra.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__ra::operator>(const GSM48__bcap__ra& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__ra::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__RA__NONE: return "GSM48_BCAP_RA_NONE";
-case GSM48__BCAP__RA__V110__X30: return "GSM48_BCAP_RA_V110_X30";
-case GSM48__BCAP__RA__X31: return "GSM48_BCAP_RA_X31";
-case GSM48__BCAP__RA__OTHER: return "GSM48_BCAP_RA_OTHER";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__ra::enum_type GSM48__bcap__ra::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_RA_NONE")) return GSM48__BCAP__RA__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_RA_V110_X30")) return GSM48__BCAP__RA__V110__X30;
-else if (!strcmp(str_par, "GSM48_BCAP_RA_X31")) return GSM48__BCAP__RA__X31;
-else if (!strcmp(str_par, "GSM48_BCAP_RA_OTHER")) return GSM48__BCAP__RA__OTHER;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__ra::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__ra::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 @MNCC_Types.GSM48_bcap_ra.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__ra::enum2int(const GSM48__bcap__ra& 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 @MNCC_Types.GSM48_bcap_ra.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__ra::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_ra.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__ra::operator GSM48__bcap__ra::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-return enum_value;
-}
-
-void GSM48__bcap__ra::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 GSM48__bcap__ra::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", "@MNCC_Types.GSM48_bcap_ra");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_ra.");
- }
-}
-
-void GSM48__bcap__ra::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__ra::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 @MNCC_Types.GSM48_bcap_ra.", enum_value);
-}
-
-void GSM48__bcap__ra::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__ra::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__ra::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__ra::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__bcap__ra_template::copy_template(const GSM48__bcap__ra_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__ra_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-}
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template()
-{
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__ra::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_ra with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__ra::enum_type)other_value;
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(GSM48__bcap__ra::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(const GSM48__bcap__ra& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__ra::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(const OPTIONAL<GSM48__bcap__ra>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__ra::enum_type)(const GSM48__bcap__ra&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_ra from an unbound optional field.");
-}
-}
-
-GSM48__bcap__ra_template::GSM48__bcap__ra_template(const GSM48__bcap__ra_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__ra_template::~GSM48__bcap__ra_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__ra_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__ra_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__ra::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__ra_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(int other_value)
-{
-if (!GSM48__bcap__ra::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_ra.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__ra::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(GSM48__bcap__ra::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(const GSM48__bcap__ra& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__ra::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_ra to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(const OPTIONAL<GSM48__bcap__ra>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__ra::enum_type)(const GSM48__bcap__ra&)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 @MNCC_Types.GSM48_bcap_ra.");
-}
-return *this;
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::operator=(const GSM48__bcap__ra_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__ra_template::match(GSM48__bcap__ra::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__ra_template::match(const GSM48__bcap__ra& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__ra::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_ra with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__ra::enum_type GSM48__bcap__ra_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 @MNCC_Types.GSM48_bcap_ra.");
-return single_value;
-}
-
-void GSM48__bcap__ra_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__ra_template[list_length];
-}
-
-GSM48__bcap__ra_template& GSM48__bcap__ra_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_ra.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__ra_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__ra::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__ra_template::log_match(const GSM48__bcap__ra& 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 GSM48__bcap__ra_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 @MNCC_Types.GSM48_bcap_ra.");
-}
-}
-
-void GSM48__bcap__ra_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__ra::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__ra::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_ra.", 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 GSM48__bcap__ra_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 @MNCC_Types.GSM48_bcap_ra.");
-}
-}
-
-boolean GSM48__bcap__ra_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__ra_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__ra_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__ra_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__ra::enum_type enum_val = GSM48__bcap__ra::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__ra::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_ra.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_ra");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__ra_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 : "@MNCC_Types.GSM48_bcap_ra");
-}
-
-GSM48__bcap__sig__access::GSM48__bcap__sig__access()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__sig__access::GSM48__bcap__sig__access(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_sig_access with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__sig__access::GSM48__bcap__sig__access(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__sig__access::GSM48__bcap__sig__access(const GSM48__bcap__sig__access& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__sig__access& GSM48__bcap__sig__access::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_sig_access.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__sig__access& GSM48__bcap__sig__access::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__sig__access& GSM48__bcap__sig__access::operator=(const GSM48__bcap__sig__access& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__sig__access::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 @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__sig__access::operator==(const GSM48__bcap__sig__access& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__sig__access::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 @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__sig__access::operator<(const GSM48__bcap__sig__access& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__sig__access::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 @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__sig__access::operator>(const GSM48__bcap__sig__access& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__sig__access::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__SA__NONE: return "GSM48_BCAP_SA_NONE";
-case GSM48__BCAP__SA__I440__I450: return "GSM48_BCAP_SA_I440_I450";
-case GSM48__BCAP__SA__X21: return "GSM48_BCAP_SA_X21";
-case GSM48__BCAP__SA__X28__DP__IN: return "GSM48_BCAP_SA_X28_DP_IN";
-case GSM48__BCAP__SA__X28__DP__UN: return "GSM48_BCAP_SA_X28_DP_UN";
-case GSM48__BCAP__SA__X28__NDP: return "GSM48_BCAP_SA_X28_NDP";
-case GSM48__BCAP__SA__X32: return "GSM48_BCAP_SA_X32";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__sig__access::enum_type GSM48__bcap__sig__access::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_SA_NONE")) return GSM48__BCAP__SA__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_I440_I450")) return GSM48__BCAP__SA__I440__I450;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_X21")) return GSM48__BCAP__SA__X21;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_X28_DP_IN")) return GSM48__BCAP__SA__X28__DP__IN;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_X28_DP_UN")) return GSM48__BCAP__SA__X28__DP__UN;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_X28_NDP")) return GSM48__BCAP__SA__X28__NDP;
-else if (!strcmp(str_par, "GSM48_BCAP_SA_X32")) return GSM48__BCAP__SA__X32;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__sig__access::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 6:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__sig__access::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 @MNCC_Types.GSM48_bcap_sig_access.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__sig__access::enum2int(const GSM48__bcap__sig__access& 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 @MNCC_Types.GSM48_bcap_sig_access.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__sig__access::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_sig_access.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__sig__access::operator GSM48__bcap__sig__access::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-return enum_value;
-}
-
-void GSM48__bcap__sig__access::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 GSM48__bcap__sig__access::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", "@MNCC_Types.GSM48_bcap_sig_access");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_sig_access.");
- }
-}
-
-void GSM48__bcap__sig__access::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__sig__access::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 @MNCC_Types.GSM48_bcap_sig_access.", enum_value);
-}
-
-void GSM48__bcap__sig__access::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__sig__access::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__sig__access::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__sig__access::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__bcap__sig__access_template::copy_template(const GSM48__bcap__sig__access_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__sig__access_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-}
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template()
-{
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__sig__access::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__sig__access::enum_type)other_value;
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(GSM48__bcap__sig__access::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(const GSM48__bcap__sig__access& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__sig__access::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(const OPTIONAL<GSM48__bcap__sig__access>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__sig__access::enum_type)(const GSM48__bcap__sig__access&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access from an unbound optional field.");
-}
-}
-
-GSM48__bcap__sig__access_template::GSM48__bcap__sig__access_template(const GSM48__bcap__sig__access_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__sig__access_template::~GSM48__bcap__sig__access_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__sig__access_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__sig__access_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__sig__access::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__sig__access_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(int other_value)
-{
-if (!GSM48__bcap__sig__access::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__sig__access::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(GSM48__bcap__sig__access::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(const GSM48__bcap__sig__access& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__sig__access::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_sig_access to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(const OPTIONAL<GSM48__bcap__sig__access>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__sig__access::enum_type)(const GSM48__bcap__sig__access&)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 @MNCC_Types.GSM48_bcap_sig_access.");
-}
-return *this;
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::operator=(const GSM48__bcap__sig__access_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__sig__access_template::match(GSM48__bcap__sig__access::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__sig__access_template::match(const GSM48__bcap__sig__access& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__sig__access::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__sig__access::enum_type GSM48__bcap__sig__access_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 @MNCC_Types.GSM48_bcap_sig_access.");
-return single_value;
-}
-
-void GSM48__bcap__sig__access_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__sig__access_template[list_length];
-}
-
-GSM48__bcap__sig__access_template& GSM48__bcap__sig__access_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__sig__access_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__sig__access::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__sig__access_template::log_match(const GSM48__bcap__sig__access& 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 GSM48__bcap__sig__access_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 @MNCC_Types.GSM48_bcap_sig_access.");
-}
-}
-
-void GSM48__bcap__sig__access_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__sig__access::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__sig__access::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_sig_access.", 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 GSM48__bcap__sig__access_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 @MNCC_Types.GSM48_bcap_sig_access.");
-}
-}
-
-boolean GSM48__bcap__sig__access_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__sig__access_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__sig__access_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__sig__access_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__sig__access::enum_type enum_val = GSM48__bcap__sig__access::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__sig__access::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_sig_access.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_sig_access");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__sig__access_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 : "@MNCC_Types.GSM48_bcap_sig_access");
-}
-
-GSM48__bcap__user__rate::GSM48__bcap__user__rate()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__user__rate::GSM48__bcap__user__rate(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_user_rate with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__user__rate::GSM48__bcap__user__rate(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__user__rate::GSM48__bcap__user__rate(const GSM48__bcap__user__rate& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__user__rate& GSM48__bcap__user__rate::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_user_rate.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__user__rate& GSM48__bcap__user__rate::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__user__rate& GSM48__bcap__user__rate::operator=(const GSM48__bcap__user__rate& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__user__rate::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 @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__user__rate::operator==(const GSM48__bcap__user__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__user__rate::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 @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__user__rate::operator<(const GSM48__bcap__user__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__user__rate::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 @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__user__rate::operator>(const GSM48__bcap__user__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__user__rate::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__UR__NONE: return "GSM48_BCAP_UR_NONE";
-case GSM48__BCAP__UR__300: return "GSM48_BCAP_UR_300";
-case GSM48__BCAP__UR__1200: return "GSM48_BCAP_UR_1200";
-case GSM48__BCAP__UR__2400: return "GSM48_BCAP_UR_2400";
-case GSM48__BCAP__UR__4800: return "GSM48_BCAP_UR_4800";
-case GSM48__BCAP__UR__9600: return "GSM48_BCAP_UR_9600";
-case GSM48__BCAP__UR__12000: return "GSM48_BCAP_UR_12000";
-case GSM48__BCAP__UR__1200__75: return "GSM48_BCAP_UR_1200_75";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__user__rate::enum_type GSM48__bcap__user__rate::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_UR_NONE")) return GSM48__BCAP__UR__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_300")) return GSM48__BCAP__UR__300;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_1200")) return GSM48__BCAP__UR__1200;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_2400")) return GSM48__BCAP__UR__2400;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_4800")) return GSM48__BCAP__UR__4800;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_9600")) return GSM48__BCAP__UR__9600;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_12000")) return GSM48__BCAP__UR__12000;
-else if (!strcmp(str_par, "GSM48_BCAP_UR_1200_75")) return GSM48__BCAP__UR__1200__75;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__user__rate::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 6:
-case 7:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__user__rate::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 @MNCC_Types.GSM48_bcap_user_rate.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__user__rate::enum2int(const GSM48__bcap__user__rate& 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 @MNCC_Types.GSM48_bcap_user_rate.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__user__rate::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_user_rate.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__user__rate::operator GSM48__bcap__user__rate::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-return enum_value;
-}
-
-void GSM48__bcap__user__rate::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 GSM48__bcap__user__rate::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", "@MNCC_Types.GSM48_bcap_user_rate");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_user_rate.");
- }
-}
-
-void GSM48__bcap__user__rate::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__user__rate::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 @MNCC_Types.GSM48_bcap_user_rate.", enum_value);
-}
-
-void GSM48__bcap__user__rate::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__user__rate::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__user__rate::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__user__rate::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void GSM48__bcap__user__rate_template::copy_template(const GSM48__bcap__user__rate_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__user__rate_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-}
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template()
-{
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__user__rate::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__user__rate::enum_type)other_value;
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(GSM48__bcap__user__rate::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(const GSM48__bcap__user__rate& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__user__rate::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(const OPTIONAL<GSM48__bcap__user__rate>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__user__rate::enum_type)(const GSM48__bcap__user__rate&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate from an unbound optional field.");
-}
-}
-
-GSM48__bcap__user__rate_template::GSM48__bcap__user__rate_template(const GSM48__bcap__user__rate_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__user__rate_template::~GSM48__bcap__user__rate_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__user__rate_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__user__rate_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__user__rate::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__user__rate_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(int other_value)
-{
-if (!GSM48__bcap__user__rate::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__user__rate::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(GSM48__bcap__user__rate::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(const GSM48__bcap__user__rate& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__user__rate::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_user_rate to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(const OPTIONAL<GSM48__bcap__user__rate>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__user__rate::enum_type)(const GSM48__bcap__user__rate&)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 @MNCC_Types.GSM48_bcap_user_rate.");
-}
-return *this;
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::operator=(const GSM48__bcap__user__rate_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__user__rate_template::match(GSM48__bcap__user__rate::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__user__rate_template::match(const GSM48__bcap__user__rate& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__user__rate::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__user__rate::enum_type GSM48__bcap__user__rate_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 @MNCC_Types.GSM48_bcap_user_rate.");
-return single_value;
-}
-
-void GSM48__bcap__user__rate_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__user__rate_template[list_length];
-}
-
-GSM48__bcap__user__rate_template& GSM48__bcap__user__rate_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__user__rate_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__user__rate::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__user__rate_template::log_match(const GSM48__bcap__user__rate& 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 GSM48__bcap__user__rate_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 @MNCC_Types.GSM48_bcap_user_rate.");
-}
-}
-
-void GSM48__bcap__user__rate_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__user__rate::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__user__rate::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_user_rate.", 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 GSM48__bcap__user__rate_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 @MNCC_Types.GSM48_bcap_user_rate.");
-}
-}
-
-boolean GSM48__bcap__user__rate_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__user__rate_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__user__rate_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__user__rate_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__user__rate::enum_type enum_val = GSM48__bcap__user__rate::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__user__rate::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_user_rate.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_user_rate");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__user__rate_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 : "@MNCC_Types.GSM48_bcap_user_rate");
-}
-
-GSM48__bcap__parity::GSM48__bcap__parity()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__parity::GSM48__bcap__parity(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_parity with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__parity::GSM48__bcap__parity(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__parity::GSM48__bcap__parity(const GSM48__bcap__parity& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__parity& GSM48__bcap__parity::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_parity.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__parity& GSM48__bcap__parity::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__parity& GSM48__bcap__parity::operator=(const GSM48__bcap__parity& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__parity::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 @MNCC_Types.GSM48_bcap_parity.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__parity::operator==(const GSM48__bcap__parity& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__parity::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 @MNCC_Types.GSM48_bcap_parity.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__parity::operator<(const GSM48__bcap__parity& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__parity::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 @MNCC_Types.GSM48_bcap_parity.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__parity::operator>(const GSM48__bcap__parity& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__parity::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__PAR__ODD: return "GSM48_BCAP_PAR_ODD";
-case GSM48__BCAP__PAR__EVEN: return "GSM48_BCAP_PAR_EVEN";
-case GSM48__BCAP__PAR__NONE: return "GSM48_BCAP_PAR_NONE";
-case GSM48__BCAP__PAR__ZERO: return "GSM48_BCAP_PAR_ZERO";
-case GSM48__BCAP__PAR__ONE: return "GSM48_BCAP_PAR_ONE";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__parity::enum_type GSM48__bcap__parity::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_PAR_ODD")) return GSM48__BCAP__PAR__ODD;
-else if (!strcmp(str_par, "GSM48_BCAP_PAR_EVEN")) return GSM48__BCAP__PAR__EVEN;
-else if (!strcmp(str_par, "GSM48_BCAP_PAR_NONE")) return GSM48__BCAP__PAR__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_PAR_ZERO")) return GSM48__BCAP__PAR__ZERO;
-else if (!strcmp(str_par, "GSM48_BCAP_PAR_ONE")) return GSM48__BCAP__PAR__ONE;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__parity::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 2:
-case 3:
-case 4:
-case 5:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__parity::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 @MNCC_Types.GSM48_bcap_parity.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__parity::enum2int(const GSM48__bcap__parity& 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 @MNCC_Types.GSM48_bcap_parity.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__parity::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_parity.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__parity::operator GSM48__bcap__parity::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-return enum_value;
-}
-
-void GSM48__bcap__parity::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 GSM48__bcap__parity::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", "@MNCC_Types.GSM48_bcap_parity");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_parity.");
- }
-}
-
-void GSM48__bcap__parity::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__parity::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 @MNCC_Types.GSM48_bcap_parity.", enum_value);
-}
-
-void GSM48__bcap__parity::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__parity::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__parity::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__parity::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__bcap__parity_template::copy_template(const GSM48__bcap__parity_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__parity_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-}
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template()
-{
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__parity::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_parity with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__parity::enum_type)other_value;
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(GSM48__bcap__parity::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(const GSM48__bcap__parity& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__parity::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(const OPTIONAL<GSM48__bcap__parity>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__parity::enum_type)(const GSM48__bcap__parity&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_parity from an unbound optional field.");
-}
-}
-
-GSM48__bcap__parity_template::GSM48__bcap__parity_template(const GSM48__bcap__parity_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__parity_template::~GSM48__bcap__parity_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__parity_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__parity_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__parity::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__parity_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(int other_value)
-{
-if (!GSM48__bcap__parity::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_parity.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__parity::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(GSM48__bcap__parity::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(const GSM48__bcap__parity& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__parity::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_parity to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(const OPTIONAL<GSM48__bcap__parity>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__parity::enum_type)(const GSM48__bcap__parity&)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 @MNCC_Types.GSM48_bcap_parity.");
-}
-return *this;
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::operator=(const GSM48__bcap__parity_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__parity_template::match(GSM48__bcap__parity::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__parity_template::match(const GSM48__bcap__parity& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__parity::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_parity with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__parity::enum_type GSM48__bcap__parity_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 @MNCC_Types.GSM48_bcap_parity.");
-return single_value;
-}
-
-void GSM48__bcap__parity_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__parity_template[list_length];
-}
-
-GSM48__bcap__parity_template& GSM48__bcap__parity_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_parity.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__parity_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__parity::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__parity_template::log_match(const GSM48__bcap__parity& 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 GSM48__bcap__parity_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 @MNCC_Types.GSM48_bcap_parity.");
-}
-}
-
-void GSM48__bcap__parity_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__parity::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__parity::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_parity.", 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 GSM48__bcap__parity_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 @MNCC_Types.GSM48_bcap_parity.");
-}
-}
-
-boolean GSM48__bcap__parity_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__parity_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__parity_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__parity_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__parity::enum_type enum_val = GSM48__bcap__parity::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__parity::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_parity.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_parity");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__parity_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 : "@MNCC_Types.GSM48_bcap_parity");
-}
-
-GSM48__bcap__interm__rate::GSM48__bcap__interm__rate()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__interm__rate::GSM48__bcap__interm__rate(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_interm_rate with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__interm__rate::GSM48__bcap__interm__rate(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__interm__rate::GSM48__bcap__interm__rate(const GSM48__bcap__interm__rate& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__interm__rate& GSM48__bcap__interm__rate::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__interm__rate& GSM48__bcap__interm__rate::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__interm__rate& GSM48__bcap__interm__rate::operator=(const GSM48__bcap__interm__rate& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__interm__rate::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 @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__interm__rate::operator==(const GSM48__bcap__interm__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__interm__rate::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 @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__interm__rate::operator<(const GSM48__bcap__interm__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__interm__rate::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 @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__interm__rate::operator>(const GSM48__bcap__interm__rate& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__interm__rate::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__IR__NONE: return "GSM48_BCAP_IR_NONE";
-case GSM48__BCAP__IR__8k: return "GSM48_BCAP_IR_8k";
-case GSM48__BCAP__IR__16k: return "GSM48_BCAP_IR_16k";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__interm__rate::enum_type GSM48__bcap__interm__rate::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_IR_NONE")) return GSM48__BCAP__IR__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_IR_8k")) return GSM48__BCAP__IR__8k;
-else if (!strcmp(str_par, "GSM48_BCAP_IR_16k")) return GSM48__BCAP__IR__16k;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__interm__rate::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__interm__rate::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 @MNCC_Types.GSM48_bcap_interm_rate.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__interm__rate::enum2int(const GSM48__bcap__interm__rate& 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 @MNCC_Types.GSM48_bcap_interm_rate.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__interm__rate::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__interm__rate::operator GSM48__bcap__interm__rate::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-return enum_value;
-}
-
-void GSM48__bcap__interm__rate::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 GSM48__bcap__interm__rate::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", "@MNCC_Types.GSM48_bcap_interm_rate");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_interm_rate.");
- }
-}
-
-void GSM48__bcap__interm__rate::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__interm__rate::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 @MNCC_Types.GSM48_bcap_interm_rate.", enum_value);
-}
-
-void GSM48__bcap__interm__rate::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__interm__rate::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__interm__rate::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 2, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__interm__rate::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 2);
-}
-
-void GSM48__bcap__interm__rate_template::copy_template(const GSM48__bcap__interm__rate_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__interm__rate_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-}
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template()
-{
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__interm__rate::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__interm__rate::enum_type)other_value;
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(GSM48__bcap__interm__rate::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(const GSM48__bcap__interm__rate& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__interm__rate::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(const OPTIONAL<GSM48__bcap__interm__rate>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__interm__rate::enum_type)(const GSM48__bcap__interm__rate&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate from an unbound optional field.");
-}
-}
-
-GSM48__bcap__interm__rate_template::GSM48__bcap__interm__rate_template(const GSM48__bcap__interm__rate_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__interm__rate_template::~GSM48__bcap__interm__rate_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__interm__rate_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__interm__rate_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__interm__rate::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__interm__rate_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(int other_value)
-{
-if (!GSM48__bcap__interm__rate::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__interm__rate::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(GSM48__bcap__interm__rate::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(const GSM48__bcap__interm__rate& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__interm__rate::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_interm_rate to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(const OPTIONAL<GSM48__bcap__interm__rate>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__interm__rate::enum_type)(const GSM48__bcap__interm__rate&)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 @MNCC_Types.GSM48_bcap_interm_rate.");
-}
-return *this;
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::operator=(const GSM48__bcap__interm__rate_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__interm__rate_template::match(GSM48__bcap__interm__rate::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__interm__rate_template::match(const GSM48__bcap__interm__rate& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__interm__rate::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__interm__rate::enum_type GSM48__bcap__interm__rate_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 @MNCC_Types.GSM48_bcap_interm_rate.");
-return single_value;
-}
-
-void GSM48__bcap__interm__rate_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__interm__rate_template[list_length];
-}
-
-GSM48__bcap__interm__rate_template& GSM48__bcap__interm__rate_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__interm__rate_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__interm__rate::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__interm__rate_template::log_match(const GSM48__bcap__interm__rate& 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 GSM48__bcap__interm__rate_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 @MNCC_Types.GSM48_bcap_interm_rate.");
-}
-}
-
-void GSM48__bcap__interm__rate_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__interm__rate::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__interm__rate::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_interm_rate.", 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 GSM48__bcap__interm__rate_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 @MNCC_Types.GSM48_bcap_interm_rate.");
-}
-}
-
-boolean GSM48__bcap__interm__rate_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__interm__rate_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__interm__rate_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__interm__rate_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__interm__rate::enum_type enum_val = GSM48__bcap__interm__rate::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__interm__rate::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_interm_rate.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_interm_rate");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__interm__rate_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 : "@MNCC_Types.GSM48_bcap_interm_rate");
-}
-
-GSM48__bcap__transp::GSM48__bcap__transp()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__transp::GSM48__bcap__transp(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_transp with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__transp::GSM48__bcap__transp(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__transp::GSM48__bcap__transp(const GSM48__bcap__transp& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__transp& GSM48__bcap__transp::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_transp.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__transp& GSM48__bcap__transp::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__transp& GSM48__bcap__transp::operator=(const GSM48__bcap__transp& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__transp::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 @MNCC_Types.GSM48_bcap_transp.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__transp::operator==(const GSM48__bcap__transp& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__transp::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 @MNCC_Types.GSM48_bcap_transp.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__transp::operator<(const GSM48__bcap__transp& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__transp::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 @MNCC_Types.GSM48_bcap_transp.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__transp::operator>(const GSM48__bcap__transp& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__transp::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__TR__TRANSP: return "GSM48_BCAP_TR_TRANSP";
-case GSM48__BCAP__TR__RLP: return "GSM48_BCAP_TR_RLP";
-case GSM48__BCAP__TR__TR__PREF: return "GSM48_BCAP_TR_TR_PREF";
-case GSM48__BCAP__TR__RLP__PREF: return "GSM48_BCAP_TR_RLP_PREF";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__transp::enum_type GSM48__bcap__transp::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_TR_TRANSP")) return GSM48__BCAP__TR__TRANSP;
-else if (!strcmp(str_par, "GSM48_BCAP_TR_RLP")) return GSM48__BCAP__TR__RLP;
-else if (!strcmp(str_par, "GSM48_BCAP_TR_TR_PREF")) return GSM48__BCAP__TR__TR__PREF;
-else if (!strcmp(str_par, "GSM48_BCAP_TR_RLP_PREF")) return GSM48__BCAP__TR__RLP__PREF;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__transp::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__transp::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 @MNCC_Types.GSM48_bcap_transp.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__transp::enum2int(const GSM48__bcap__transp& 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 @MNCC_Types.GSM48_bcap_transp.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__transp::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_transp.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__transp::operator GSM48__bcap__transp::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-return enum_value;
-}
-
-void GSM48__bcap__transp::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 GSM48__bcap__transp::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", "@MNCC_Types.GSM48_bcap_transp");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_transp.");
- }
-}
-
-void GSM48__bcap__transp::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__transp::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 @MNCC_Types.GSM48_bcap_transp.", enum_value);
-}
-
-void GSM48__bcap__transp::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__transp::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__transp::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__transp::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__bcap__transp_template::copy_template(const GSM48__bcap__transp_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__transp_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-}
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template()
-{
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__transp::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_transp with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__transp::enum_type)other_value;
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(GSM48__bcap__transp::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(const GSM48__bcap__transp& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__transp::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(const OPTIONAL<GSM48__bcap__transp>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__transp::enum_type)(const GSM48__bcap__transp&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_transp from an unbound optional field.");
-}
-}
-
-GSM48__bcap__transp_template::GSM48__bcap__transp_template(const GSM48__bcap__transp_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__transp_template::~GSM48__bcap__transp_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__transp_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__transp_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__transp::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__transp_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(int other_value)
-{
-if (!GSM48__bcap__transp::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_transp.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__transp::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(GSM48__bcap__transp::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(const GSM48__bcap__transp& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__transp::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_transp to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(const OPTIONAL<GSM48__bcap__transp>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__transp::enum_type)(const GSM48__bcap__transp&)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 @MNCC_Types.GSM48_bcap_transp.");
-}
-return *this;
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::operator=(const GSM48__bcap__transp_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__transp_template::match(GSM48__bcap__transp::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__transp_template::match(const GSM48__bcap__transp& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__transp::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_transp with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__transp::enum_type GSM48__bcap__transp_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 @MNCC_Types.GSM48_bcap_transp.");
-return single_value;
-}
-
-void GSM48__bcap__transp_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__transp_template[list_length];
-}
-
-GSM48__bcap__transp_template& GSM48__bcap__transp_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_transp.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__transp_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__transp::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__transp_template::log_match(const GSM48__bcap__transp& 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 GSM48__bcap__transp_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 @MNCC_Types.GSM48_bcap_transp.");
-}
-}
-
-void GSM48__bcap__transp_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__transp::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__transp::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_transp.", 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 GSM48__bcap__transp_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 @MNCC_Types.GSM48_bcap_transp.");
-}
-}
-
-boolean GSM48__bcap__transp_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__transp_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__transp_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__transp_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__transp::enum_type enum_val = GSM48__bcap__transp::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__transp::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_transp.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_transp");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__transp_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 : "@MNCC_Types.GSM48_bcap_transp");
-}
-
-GSM48__bcap__modem__type::GSM48__bcap__modem__type()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__bcap__modem__type::GSM48__bcap__modem__type(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_bcap_modem_type with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__bcap__modem__type::GSM48__bcap__modem__type(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__bcap__modem__type::GSM48__bcap__modem__type(const GSM48__bcap__modem__type& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__bcap__modem__type& GSM48__bcap__modem__type::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_modem_type.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__modem__type& GSM48__bcap__modem__type::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__bcap__modem__type& GSM48__bcap__modem__type::operator=(const GSM48__bcap__modem__type& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__bcap__modem__type::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 @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value == other_value;
-}
-
-boolean GSM48__bcap__modem__type::operator==(const GSM48__bcap__modem__type& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__bcap__modem__type::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 @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value < other_value;
-}
-
-boolean GSM48__bcap__modem__type::operator<(const GSM48__bcap__modem__type& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__bcap__modem__type::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 @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value > other_value;
-}
-
-boolean GSM48__bcap__modem__type::operator>(const GSM48__bcap__modem__type& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__bcap__modem__type::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__BCAP__MT__NONE: return "GSM48_BCAP_MT_NONE";
-case GSM48__BCAP__MT__V21: return "GSM48_BCAP_MT_V21";
-case GSM48__BCAP__MT__V22: return "GSM48_BCAP_MT_V22";
-case GSM48__BCAP__MT__V22bis: return "GSM48_BCAP_MT_V22bis";
-case GSM48__BCAP__MT__V23: return "GSM48_BCAP_MT_V23";
-case GSM48__BCAP__MT__V26ter: return "GSM48_BCAP_MT_V26ter";
-case GSM48__BCAP__MT__V32: return "GSM48_BCAP_MT_V32";
-case GSM48__BCAP__MT__UNDEF: return "GSM48_BCAP_MT_UNDEF";
-case GSM48__BCAP__MT__AUTO__1: return "GSM48_BCAP_MT_AUTO_1";
-default: return "<unknown>";
-}
-}
-
-GSM48__bcap__modem__type::enum_type GSM48__bcap__modem__type::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_BCAP_MT_NONE")) return GSM48__BCAP__MT__NONE;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V21")) return GSM48__BCAP__MT__V21;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V22")) return GSM48__BCAP__MT__V22;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V22bis")) return GSM48__BCAP__MT__V22bis;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V23")) return GSM48__BCAP__MT__V23;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V26ter")) return GSM48__BCAP__MT__V26ter;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_V32")) return GSM48__BCAP__MT__V32;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_UNDEF")) return GSM48__BCAP__MT__UNDEF;
-else if (!strcmp(str_par, "GSM48_BCAP_MT_AUTO_1")) return GSM48__BCAP__MT__AUTO__1;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__bcap__modem__type::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 6:
-case 7:
-case 8:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__bcap__modem__type::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 @MNCC_Types.GSM48_bcap_modem_type.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__bcap__modem__type::enum2int(const GSM48__bcap__modem__type& 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 @MNCC_Types.GSM48_bcap_modem_type.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__bcap__modem__type::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_bcap_modem_type.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__bcap__modem__type::operator GSM48__bcap__modem__type::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-return enum_value;
-}
-
-void GSM48__bcap__modem__type::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 GSM48__bcap__modem__type::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", "@MNCC_Types.GSM48_bcap_modem_type");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_modem_type.");
- }
-}
-
-void GSM48__bcap__modem__type::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__bcap__modem__type::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 @MNCC_Types.GSM48_bcap_modem_type.", enum_value);
-}
-
-void GSM48__bcap__modem__type::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__bcap__modem__type::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__bcap__modem__type::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__bcap__modem__type::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void GSM48__bcap__modem__type_template::copy_template(const GSM48__bcap__modem__type_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__bcap__modem__type_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-}
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template()
-{
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__bcap__modem__type::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type with unknown numeric value %d.", other_value);
-single_value = (GSM48__bcap__modem__type::enum_type)other_value;
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(GSM48__bcap__modem__type::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(const GSM48__bcap__modem__type& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__bcap__modem__type::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-single_value = other_value.enum_value;
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(const OPTIONAL<GSM48__bcap__modem__type>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__modem__type::enum_type)(const GSM48__bcap__modem__type&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type from an unbound optional field.");
-}
-}
-
-GSM48__bcap__modem__type_template::GSM48__bcap__modem__type_template(const GSM48__bcap__modem__type_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__bcap__modem__type_template::~GSM48__bcap__modem__type_template()
-{
-clean_up();
-}
-
-boolean GSM48__bcap__modem__type_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__bcap__modem__type_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__bcap__modem__type::UNBOUND_VALUE;
-}
-
-void GSM48__bcap__modem__type_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(int other_value)
-{
-if (!GSM48__bcap__modem__type::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__modem__type::enum_type)other_value;
-return *this;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(GSM48__bcap__modem__type::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(const GSM48__bcap__modem__type& other_value)
-{
-if (other_value.enum_value == GSM48__bcap__modem__type::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_bcap_modem_type to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(const OPTIONAL<GSM48__bcap__modem__type>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__bcap__modem__type::enum_type)(const GSM48__bcap__modem__type&)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 @MNCC_Types.GSM48_bcap_modem_type.");
-}
-return *this;
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::operator=(const GSM48__bcap__modem__type_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__bcap__modem__type_template::match(GSM48__bcap__modem__type::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-}
-return FALSE;
-}
-
-boolean GSM48__bcap__modem__type_template::match(const GSM48__bcap__modem__type& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__bcap__modem__type::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__bcap__modem__type::enum_type GSM48__bcap__modem__type_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 @MNCC_Types.GSM48_bcap_modem_type.");
-return single_value;
-}
-
-void GSM48__bcap__modem__type_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__bcap__modem__type_template[list_length];
-}
-
-GSM48__bcap__modem__type_template& GSM48__bcap__modem__type_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__bcap__modem__type_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__bcap__modem__type::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__bcap__modem__type_template::log_match(const GSM48__bcap__modem__type& 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 GSM48__bcap__modem__type_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 @MNCC_Types.GSM48_bcap_modem_type.");
-}
-}
-
-void GSM48__bcap__modem__type_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__bcap__modem__type::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__bcap__modem__type::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_bcap_modem_type.", 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 GSM48__bcap__modem__type_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 @MNCC_Types.GSM48_bcap_modem_type.");
-}
-}
-
-boolean GSM48__bcap__modem__type_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__bcap__modem__type_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__bcap__modem__type_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__bcap__modem__type_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__bcap__modem__type::enum_type enum_val = GSM48__bcap__modem__type::str_to_enum(m_p->get_enumerated());
- if (!GSM48__bcap__modem__type::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_bcap_modem_type.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_bcap_modem_type");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__bcap__modem__type_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 : "@MNCC_Types.GSM48_bcap_modem_type");
-}
-
-MNCC__MsgType::MNCC__MsgType()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-MNCC__MsgType::MNCC__MsgType(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.MNCC_MsgType with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-MNCC__MsgType::MNCC__MsgType(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-MNCC__MsgType::MNCC__MsgType(const MNCC__MsgType& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-enum_value = other_value.enum_value;
-}
-
-MNCC__MsgType& MNCC__MsgType::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.MNCC_MsgType.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-MNCC__MsgType& MNCC__MsgType::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-MNCC__MsgType& MNCC__MsgType::operator=(const MNCC__MsgType& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean MNCC__MsgType::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 @MNCC_Types.MNCC_MsgType.");
-return enum_value == other_value;
-}
-
-boolean MNCC__MsgType::operator==(const MNCC__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-return enum_value == other_value.enum_value;
-}
-
-boolean MNCC__MsgType::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 @MNCC_Types.MNCC_MsgType.");
-return enum_value < other_value;
-}
-
-boolean MNCC__MsgType::operator<(const MNCC__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-return enum_value < other_value.enum_value;
-}
-
-boolean MNCC__MsgType::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 @MNCC_Types.MNCC_MsgType.");
-return enum_value > other_value;
-}
-
-boolean MNCC__MsgType::operator>(const MNCC__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-return enum_value > other_value.enum_value;
-}
-
-const char *MNCC__MsgType::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case MNCC__SETUP__REQ: return "MNCC_SETUP_REQ";
-case MNCC__SETUP__IND: return "MNCC_SETUP_IND";
-case MNCC__SETUP__RSP: return "MNCC_SETUP_RSP";
-case MNCC__SETUP__CNF: return "MNCC_SETUP_CNF";
-case MNCC__SETUP__COMPL__REQ: return "MNCC_SETUP_COMPL_REQ";
-case MNCC__SETUP__COMPL__IND: return "MNCC_SETUP_COMPL_IND";
-case MNCC__CALL__CONF__IND: return "MNCC_CALL_CONF_IND";
-case MNCC__CALL__PROC__REQ: return "MNCC_CALL_PROC_REQ";
-case MNCC__PROGRESS__REQ: return "MNCC_PROGRESS_REQ";
-case MNCC__ALERT__REQ: return "MNCC_ALERT_REQ";
-case MNCC__ALERT__IND: return "MNCC_ALERT_IND";
-case MNCC__NOTIFY__REQ: return "MNCC_NOTIFY_REQ";
-case MNCC__NOTIFY__IND: return "MNCC_NOTIFY_IND";
-case MNCC__DISC__REQ: return "MNCC_DISC_REQ";
-case MNCC__DISC__IND: return "MNCC_DISC_IND";
-case MNCC__REL__REQ: return "MNCC_REL_REQ";
-case MNCC__REL__IND: return "MNCC_REL_IND";
-case MNCC__REL__CNF: return "MNCC_REL_CNF";
-case MNCC__FACILITY__REQ: return "MNCC_FACILITY_REQ";
-case MNCC__FACILITY__IND: return "MNCC_FACILITY_IND";
-case MNCC__START__DTMF__IND: return "MNCC_START_DTMF_IND";
-case MNCC__START__DTMF__RSP: return "MNCC_START_DTMF_RSP";
-case MNCC__START__DTMF__REJ: return "MNCC_START_DTMF_REJ";
-case MNCC__STOP__DTMF__IND: return "MNCC_STOP_DTMF_IND";
-case MNCC__STOP__DTMF__RSP: return "MNCC_STOP_DTMF_RSP";
-case MNCC__MODIFY__REQ: return "MNCC_MODIFY_REQ";
-case MNCC__MODIFY__IND: return "MNCC_MODIFY_IND";
-case MNCC__MODIFY__RSP: return "MNCC_MODIFY_RSP";
-case MNCC__MODIFY__CNF: return "MNCC_MODIFY_CNF";
-case MNCC__MODIFY__REJ: return "MNCC_MODIFY_REJ";
-case MNCC__HOLD__IND: return "MNCC_HOLD_IND";
-case MNCC__HOLD__CNF: return "MNCC_HOLD_CNF";
-case MNCC__HOLD__REJ: return "MNCC_HOLD_REJ";
-case MNCC__RETRIEVE__IND: return "MNCC_RETRIEVE_IND";
-case MNCC__RETRIEVE__CNF: return "MNCC_RETRIEVE_CNF";
-case MNCC__RETRIEVE__REJ: return "MNCC_RETRIEVE_REJ";
-case MNCC__USERINFO__REQ: return "MNCC_USERINFO_REQ";
-case MNCC__USERINFO__IND: return "MNCC_USERINFO_IND";
-case MNCC__REJ__REQ: return "MNCC_REJ_REQ";
-case MNCC__REJ__IND: return "MNCC_REJ_IND";
-case MNCC__PROGRESS__IND: return "MNCC_PROGRESS_IND";
-case MNCC__CALL__PROC__IND: return "MNCC_CALL_PROC_IND";
-case MNCC__CALL__CONF__REQ: return "MNCC_CALL_CONF_REQ";
-case MNCC__START__DTMF__REQ: return "MNCC_START_DTMF_REQ";
-case MNCC__STOP__DTMF__REQ: return "MNCC_STOP_DTMF_REQ";
-case MNCC__HOLD__REQ: return "MNCC_HOLD_REQ";
-case MNCC__RETRIEVE__REQ: return "MNCC_RETRIEVE_REQ";
-case MNCC__BRIDGE: return "MNCC_BRIDGE";
-case MNCC__FRAME__RECV: return "MNCC_FRAME_RECV";
-case MNCC__FRAME__DROP: return "MNCC_FRAME_DROP";
-case MNCC__LCHAN__MODIFY: return "MNCC_LCHAN_MODIFY";
-case MNCC__RTP__CREATE: return "MNCC_RTP_CREATE";
-case MNCC__RTP__CONNECT: return "MNCC_RTP_CONNECT";
-case MNCC__RTP__FREE: return "MNCC_RTP_FREE";
-case GSM__TCHF__FRAME: return "GSM_TCHF_FRAME";
-case GSM__TCHF__FRAME__EFR: return "GSM_TCHF_FRAME_EFR";
-case GSM__TCHH__FRAME: return "GSM_TCHH_FRAME";
-case GSM__TCH__FRAME__AMR: return "GSM_TCH_FRAME_AMR";
-case GSM__BAD__FRAME: return "GSM_BAD_FRAME";
-case MNCC__SOCKET__HELLO: return "MNCC_SOCKET_HELLO";
-default: return "<unknown>";
-}
-}
-
-MNCC__MsgType::enum_type MNCC__MsgType::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "MNCC_SETUP_REQ")) return MNCC__SETUP__REQ;
-else if (!strcmp(str_par, "MNCC_SETUP_IND")) return MNCC__SETUP__IND;
-else if (!strcmp(str_par, "MNCC_SETUP_RSP")) return MNCC__SETUP__RSP;
-else if (!strcmp(str_par, "MNCC_SETUP_CNF")) return MNCC__SETUP__CNF;
-else if (!strcmp(str_par, "MNCC_SETUP_COMPL_REQ")) return MNCC__SETUP__COMPL__REQ;
-else if (!strcmp(str_par, "MNCC_SETUP_COMPL_IND")) return MNCC__SETUP__COMPL__IND;
-else if (!strcmp(str_par, "MNCC_CALL_CONF_IND")) return MNCC__CALL__CONF__IND;
-else if (!strcmp(str_par, "MNCC_CALL_PROC_REQ")) return MNCC__CALL__PROC__REQ;
-else if (!strcmp(str_par, "MNCC_PROGRESS_REQ")) return MNCC__PROGRESS__REQ;
-else if (!strcmp(str_par, "MNCC_ALERT_REQ")) return MNCC__ALERT__REQ;
-else if (!strcmp(str_par, "MNCC_ALERT_IND")) return MNCC__ALERT__IND;
-else if (!strcmp(str_par, "MNCC_NOTIFY_REQ")) return MNCC__NOTIFY__REQ;
-else if (!strcmp(str_par, "MNCC_NOTIFY_IND")) return MNCC__NOTIFY__IND;
-else if (!strcmp(str_par, "MNCC_DISC_REQ")) return MNCC__DISC__REQ;
-else if (!strcmp(str_par, "MNCC_DISC_IND")) return MNCC__DISC__IND;
-else if (!strcmp(str_par, "MNCC_REL_REQ")) return MNCC__REL__REQ;
-else if (!strcmp(str_par, "MNCC_REL_IND")) return MNCC__REL__IND;
-else if (!strcmp(str_par, "MNCC_REL_CNF")) return MNCC__REL__CNF;
-else if (!strcmp(str_par, "MNCC_FACILITY_REQ")) return MNCC__FACILITY__REQ;
-else if (!strcmp(str_par, "MNCC_FACILITY_IND")) return MNCC__FACILITY__IND;
-else if (!strcmp(str_par, "MNCC_START_DTMF_IND")) return MNCC__START__DTMF__IND;
-else if (!strcmp(str_par, "MNCC_START_DTMF_RSP")) return MNCC__START__DTMF__RSP;
-else if (!strcmp(str_par, "MNCC_START_DTMF_REJ")) return MNCC__START__DTMF__REJ;
-else if (!strcmp(str_par, "MNCC_STOP_DTMF_IND")) return MNCC__STOP__DTMF__IND;
-else if (!strcmp(str_par, "MNCC_STOP_DTMF_RSP")) return MNCC__STOP__DTMF__RSP;
-else if (!strcmp(str_par, "MNCC_MODIFY_REQ")) return MNCC__MODIFY__REQ;
-else if (!strcmp(str_par, "MNCC_MODIFY_IND")) return MNCC__MODIFY__IND;
-else if (!strcmp(str_par, "MNCC_MODIFY_RSP")) return MNCC__MODIFY__RSP;
-else if (!strcmp(str_par, "MNCC_MODIFY_CNF")) return MNCC__MODIFY__CNF;
-else if (!strcmp(str_par, "MNCC_MODIFY_REJ")) return MNCC__MODIFY__REJ;
-else if (!strcmp(str_par, "MNCC_HOLD_IND")) return MNCC__HOLD__IND;
-else if (!strcmp(str_par, "MNCC_HOLD_CNF")) return MNCC__HOLD__CNF;
-else if (!strcmp(str_par, "MNCC_HOLD_REJ")) return MNCC__HOLD__REJ;
-else if (!strcmp(str_par, "MNCC_RETRIEVE_IND")) return MNCC__RETRIEVE__IND;
-else if (!strcmp(str_par, "MNCC_RETRIEVE_CNF")) return MNCC__RETRIEVE__CNF;
-else if (!strcmp(str_par, "MNCC_RETRIEVE_REJ")) return MNCC__RETRIEVE__REJ;
-else if (!strcmp(str_par, "MNCC_USERINFO_REQ")) return MNCC__USERINFO__REQ;
-else if (!strcmp(str_par, "MNCC_USERINFO_IND")) return MNCC__USERINFO__IND;
-else if (!strcmp(str_par, "MNCC_REJ_REQ")) return MNCC__REJ__REQ;
-else if (!strcmp(str_par, "MNCC_REJ_IND")) return MNCC__REJ__IND;
-else if (!strcmp(str_par, "MNCC_PROGRESS_IND")) return MNCC__PROGRESS__IND;
-else if (!strcmp(str_par, "MNCC_CALL_PROC_IND")) return MNCC__CALL__PROC__IND;
-else if (!strcmp(str_par, "MNCC_CALL_CONF_REQ")) return MNCC__CALL__CONF__REQ;
-else if (!strcmp(str_par, "MNCC_START_DTMF_REQ")) return MNCC__START__DTMF__REQ;
-else if (!strcmp(str_par, "MNCC_STOP_DTMF_REQ")) return MNCC__STOP__DTMF__REQ;
-else if (!strcmp(str_par, "MNCC_HOLD_REQ")) return MNCC__HOLD__REQ;
-else if (!strcmp(str_par, "MNCC_RETRIEVE_REQ")) return MNCC__RETRIEVE__REQ;
-else if (!strcmp(str_par, "MNCC_BRIDGE")) return MNCC__BRIDGE;
-else if (!strcmp(str_par, "MNCC_FRAME_RECV")) return MNCC__FRAME__RECV;
-else if (!strcmp(str_par, "MNCC_FRAME_DROP")) return MNCC__FRAME__DROP;
-else if (!strcmp(str_par, "MNCC_LCHAN_MODIFY")) return MNCC__LCHAN__MODIFY;
-else if (!strcmp(str_par, "MNCC_RTP_CREATE")) return MNCC__RTP__CREATE;
-else if (!strcmp(str_par, "MNCC_RTP_CONNECT")) return MNCC__RTP__CONNECT;
-else if (!strcmp(str_par, "MNCC_RTP_FREE")) return MNCC__RTP__FREE;
-else if (!strcmp(str_par, "GSM_TCHF_FRAME")) return GSM__TCHF__FRAME;
-else if (!strcmp(str_par, "GSM_TCHF_FRAME_EFR")) return GSM__TCHF__FRAME__EFR;
-else if (!strcmp(str_par, "GSM_TCHH_FRAME")) return GSM__TCHH__FRAME;
-else if (!strcmp(str_par, "GSM_TCH_FRAME_AMR")) return GSM__TCH__FRAME__AMR;
-else if (!strcmp(str_par, "GSM_BAD_FRAME")) return GSM__BAD__FRAME;
-else if (!strcmp(str_par, "MNCC_SOCKET_HELLO")) return MNCC__SOCKET__HELLO;
-else return UNKNOWN_VALUE;
-}
-
-boolean MNCC__MsgType::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 257:
-case 258:
-case 259:
-case 260:
-case 261:
-case 262:
-case 263:
-case 264:
-case 265:
-case 266:
-case 267:
-case 268:
-case 269:
-case 270:
-case 271:
-case 272:
-case 273:
-case 274:
-case 275:
-case 276:
-case 277:
-case 278:
-case 279:
-case 280:
-case 281:
-case 282:
-case 283:
-case 284:
-case 285:
-case 286:
-case 287:
-case 288:
-case 289:
-case 290:
-case 291:
-case 292:
-case 293:
-case 294:
-case 295:
-case 296:
-case 297:
-case 298:
-case 299:
-case 300:
-case 301:
-case 302:
-case 303:
-case 512:
-case 513:
-case 514:
-case 515:
-case 516:
-case 517:
-case 518:
-case 768:
-case 769:
-case 770:
-case 771:
-case 1023:
-case 1024:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int MNCC__MsgType::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 @MNCC_Types.MNCC_MsgType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int MNCC__MsgType::enum2int(const MNCC__MsgType& 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 @MNCC_Types.MNCC_MsgType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void MNCC__MsgType::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.MNCC_MsgType.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-MNCC__MsgType::operator MNCC__MsgType::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.MNCC_MsgType.");
-return enum_value;
-}
-
-void MNCC__MsgType::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 MNCC__MsgType::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", "@MNCC_Types.MNCC_MsgType");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.MNCC_MsgType.");
- }
-}
-
-void MNCC__MsgType::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-text_buf.push_int(enum_value);
-}
-
-void MNCC__MsgType::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 @MNCC_Types.MNCC_MsgType.", enum_value);
-}
-
-void MNCC__MsgType::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__MsgType::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__MsgType::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 11, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int MNCC__MsgType::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 11);
-}
-
-void MNCC__MsgType_template::copy_template(const MNCC__MsgType_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__MsgType_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.MNCC_MsgType.");
-}
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template()
-{
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!MNCC__MsgType::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.MNCC_MsgType with unknown numeric value %d.", other_value);
-single_value = (MNCC__MsgType::enum_type)other_value;
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(MNCC__MsgType::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(const MNCC__MsgType& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == MNCC__MsgType::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.MNCC_MsgType.");
-single_value = other_value.enum_value;
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(const OPTIONAL<MNCC__MsgType>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__MsgType::enum_type)(const MNCC__MsgType&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.MNCC_MsgType from an unbound optional field.");
-}
-}
-
-MNCC__MsgType_template::MNCC__MsgType_template(const MNCC__MsgType_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__MsgType_template::~MNCC__MsgType_template()
-{
-clean_up();
-}
-
-boolean MNCC__MsgType_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean MNCC__MsgType_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != MNCC__MsgType::UNBOUND_VALUE;
-}
-
-void MNCC__MsgType_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(int other_value)
-{
-if (!MNCC__MsgType::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.MNCC_MsgType.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__MsgType::enum_type)other_value;
-return *this;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(MNCC__MsgType::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(const MNCC__MsgType& other_value)
-{
-if (other_value.enum_value == MNCC__MsgType::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.MNCC_MsgType to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(const OPTIONAL<MNCC__MsgType>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__MsgType::enum_type)(const MNCC__MsgType&)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 @MNCC_Types.MNCC_MsgType.");
-}
-return *this;
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::operator=(const MNCC__MsgType_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__MsgType_template::match(MNCC__MsgType::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.MNCC_MsgType.");
-}
-return FALSE;
-}
-
-boolean MNCC__MsgType_template::match(const MNCC__MsgType& other_value, boolean) const
-{
-if (other_value.enum_value == MNCC__MsgType::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.MNCC_MsgType with an unbound value.");
-return match(other_value.enum_value);
-}
-
-MNCC__MsgType::enum_type MNCC__MsgType_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 @MNCC_Types.MNCC_MsgType.");
-return single_value;
-}
-
-void MNCC__MsgType_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.MNCC_MsgType.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__MsgType_template[list_length];
-}
-
-MNCC__MsgType_template& MNCC__MsgType_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.MNCC_MsgType.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.MNCC_MsgType.");
-return value_list.list_value[list_index];
-}
-
-void MNCC__MsgType_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(MNCC__MsgType::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__MsgType_template::log_match(const MNCC__MsgType& 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 MNCC__MsgType_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 @MNCC_Types.MNCC_MsgType.");
-}
-}
-
-void MNCC__MsgType_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (MNCC__MsgType::enum_type)text_buf.pull_int().get_val();
-if (!MNCC__MsgType::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.MNCC_MsgType.", 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 MNCC__MsgType_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 @MNCC_Types.MNCC_MsgType.");
-}
-}
-
-boolean MNCC__MsgType_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__MsgType_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void MNCC__MsgType_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- MNCC__MsgType_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- MNCC__MsgType::enum_type enum_val = MNCC__MsgType::str_to_enum(m_p->get_enumerated());
- if (!MNCC__MsgType::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.MNCC_MsgType.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.MNCC_MsgType");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__MsgType_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 : "@MNCC_Types.MNCC_MsgType");
-}
-
-MNCC__bearer__cap__data::MNCC__bearer__cap__data()
-{
-}
-
-MNCC__bearer__cap__data::MNCC__bearer__cap__data(const GSM48__bcap__ra& par_rate__adaptation,
- const GSM48__bcap__sig__access& par_sig__access,
- const INTEGER& par_async,
- const INTEGER& par_nr__stop__bits,
- const INTEGER& par_nr__data__bits,
- const GSM48__bcap__user__rate& par_user__rate,
- const GSM48__bcap__parity& par_parity,
- const GSM48__bcap__interm__rate& par_interm__rate,
- const GSM48__bcap__transp& par_transp,
- const GSM48__bcap__modem__type& par_modem__type)
- : field_rate__adaptation(par_rate__adaptation),
- field_sig__access(par_sig__access),
- field_async(par_async),
- field_nr__stop__bits(par_nr__stop__bits),
- field_nr__data__bits(par_nr__data__bits),
- field_user__rate(par_user__rate),
- field_parity(par_parity),
- field_interm__rate(par_interm__rate),
- field_transp(par_transp),
- field_modem__type(par_modem__type)
-{
-}
-
-MNCC__bearer__cap__data::MNCC__bearer__cap__data(const MNCC__bearer__cap__data& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_bearer_cap_data.");
-if (other_value.rate__adaptation().is_bound()) field_rate__adaptation = other_value.rate__adaptation();
-else field_rate__adaptation.clean_up();
-if (other_value.sig__access().is_bound()) field_sig__access = other_value.sig__access();
-else field_sig__access.clean_up();
-if (other_value.async().is_bound()) field_async = other_value.async();
-else field_async.clean_up();
-if (other_value.nr__stop__bits().is_bound()) field_nr__stop__bits = other_value.nr__stop__bits();
-else field_nr__stop__bits.clean_up();
-if (other_value.nr__data__bits().is_bound()) field_nr__data__bits = other_value.nr__data__bits();
-else field_nr__data__bits.clean_up();
-if (other_value.user__rate().is_bound()) field_user__rate = other_value.user__rate();
-else field_user__rate.clean_up();
-if (other_value.parity().is_bound()) field_parity = other_value.parity();
-else field_parity.clean_up();
-if (other_value.interm__rate().is_bound()) field_interm__rate = other_value.interm__rate();
-else field_interm__rate.clean_up();
-if (other_value.transp().is_bound()) field_transp = other_value.transp();
-else field_transp.clean_up();
-if (other_value.modem__type().is_bound()) field_modem__type = other_value.modem__type();
-else field_modem__type.clean_up();
-}
-
-void MNCC__bearer__cap__data::clean_up()
-{
-field_rate__adaptation.clean_up();
-field_sig__access.clean_up();
-field_async.clean_up();
-field_nr__stop__bits.clean_up();
-field_nr__data__bits.clean_up();
-field_user__rate.clean_up();
-field_parity.clean_up();
-field_interm__rate.clean_up();
-field_transp.clean_up();
-field_modem__type.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__bearer__cap__data::get_descriptor() const { return &MNCC__bearer__cap__data_descr_; }
-MNCC__bearer__cap__data& MNCC__bearer__cap__data::operator=(const MNCC__bearer__cap__data& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_bearer_cap_data.");
- if (other_value.rate__adaptation().is_bound()) field_rate__adaptation = other_value.rate__adaptation();
- else field_rate__adaptation.clean_up();
- if (other_value.sig__access().is_bound()) field_sig__access = other_value.sig__access();
- else field_sig__access.clean_up();
- if (other_value.async().is_bound()) field_async = other_value.async();
- else field_async.clean_up();
- if (other_value.nr__stop__bits().is_bound()) field_nr__stop__bits = other_value.nr__stop__bits();
- else field_nr__stop__bits.clean_up();
- if (other_value.nr__data__bits().is_bound()) field_nr__data__bits = other_value.nr__data__bits();
- else field_nr__data__bits.clean_up();
- if (other_value.user__rate().is_bound()) field_user__rate = other_value.user__rate();
- else field_user__rate.clean_up();
- if (other_value.parity().is_bound()) field_parity = other_value.parity();
- else field_parity.clean_up();
- if (other_value.interm__rate().is_bound()) field_interm__rate = other_value.interm__rate();
- else field_interm__rate.clean_up();
- if (other_value.transp().is_bound()) field_transp = other_value.transp();
- else field_transp.clean_up();
- if (other_value.modem__type().is_bound()) field_modem__type = other_value.modem__type();
- else field_modem__type.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__bearer__cap__data::operator==(const MNCC__bearer__cap__data& other_value) const
-{
-return field_rate__adaptation==other_value.field_rate__adaptation
- && field_sig__access==other_value.field_sig__access
- && field_async==other_value.field_async
- && field_nr__stop__bits==other_value.field_nr__stop__bits
- && field_nr__data__bits==other_value.field_nr__data__bits
- && field_user__rate==other_value.field_user__rate
- && field_parity==other_value.field_parity
- && field_interm__rate==other_value.field_interm__rate
- && field_transp==other_value.field_transp
- && field_modem__type==other_value.field_modem__type;
-}
-
-boolean MNCC__bearer__cap__data::is_bound() const
-{
-if(field_rate__adaptation.is_bound()) return TRUE;
-if(field_sig__access.is_bound()) return TRUE;
-if(field_async.is_bound()) return TRUE;
-if(field_nr__stop__bits.is_bound()) return TRUE;
-if(field_nr__data__bits.is_bound()) return TRUE;
-if(field_user__rate.is_bound()) return TRUE;
-if(field_parity.is_bound()) return TRUE;
-if(field_interm__rate.is_bound()) return TRUE;
-if(field_transp.is_bound()) return TRUE;
-if(field_modem__type.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__bearer__cap__data::is_value() const
-{
-if(!field_rate__adaptation.is_value()) return FALSE;
-if(!field_sig__access.is_value()) return FALSE;
-if(!field_async.is_value()) return FALSE;
-if(!field_nr__stop__bits.is_value()) return FALSE;
-if(!field_nr__data__bits.is_value()) return FALSE;
-if(!field_user__rate.is_value()) return FALSE;
-if(!field_parity.is_value()) return FALSE;
-if(!field_interm__rate.is_value()) return FALSE;
-if(!field_transp.is_value()) return FALSE;
-if(!field_modem__type.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__bearer__cap__data::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ rate_adaptation := ");
-field_rate__adaptation.log();
-TTCN_Logger::log_event_str(", sig_access := ");
-field_sig__access.log();
-TTCN_Logger::log_event_str(", async := ");
-field_async.log();
-TTCN_Logger::log_event_str(", nr_stop_bits := ");
-field_nr__stop__bits.log();
-TTCN_Logger::log_event_str(", nr_data_bits := ");
-field_nr__data__bits.log();
-TTCN_Logger::log_event_str(", user_rate := ");
-field_user__rate.log();
-TTCN_Logger::log_event_str(", parity := ");
-field_parity.log();
-TTCN_Logger::log_event_str(", interm_rate := ");
-field_interm__rate.log();
-TTCN_Logger::log_event_str(", transp := ");
-field_transp.log();
-TTCN_Logger::log_event_str(", modem_type := ");
-field_modem__type.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__bearer__cap__data::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (10<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_bearer_cap_data has 10 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) rate__adaptation().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) sig__access().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) async().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) nr__stop__bits().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) nr__data__bits().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) user__rate().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) parity().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) interm__rate().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) transp().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) modem__type().set_param(*param.get_elem(9));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rate_adaptation")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rate__adaptation().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sig_access")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sig__access().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "async")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- async().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nr_stop_bits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nr__stop__bits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nr_data_bits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nr__data__bits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "user_rate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- user__rate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "parity")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- parity().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "interm_rate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- interm__rate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "transp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- transp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "modem_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- modem__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_bearer_cap_data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_bearer_cap_data");
- }
-}
-
-void MNCC__bearer__cap__data::set_implicit_omit()
-{
-if (rate__adaptation().is_bound()) rate__adaptation().set_implicit_omit();
-if (sig__access().is_bound()) sig__access().set_implicit_omit();
-if (async().is_bound()) async().set_implicit_omit();
-if (nr__stop__bits().is_bound()) nr__stop__bits().set_implicit_omit();
-if (nr__data__bits().is_bound()) nr__data__bits().set_implicit_omit();
-if (user__rate().is_bound()) user__rate().set_implicit_omit();
-if (parity().is_bound()) parity().set_implicit_omit();
-if (interm__rate().is_bound()) interm__rate().set_implicit_omit();
-if (transp().is_bound()) transp().set_implicit_omit();
-if (modem__type().is_bound()) modem__type().set_implicit_omit();
-}
-
-void MNCC__bearer__cap__data::encode_text(Text_Buf& text_buf) const
-{
-field_rate__adaptation.encode_text(text_buf);
-field_sig__access.encode_text(text_buf);
-field_async.encode_text(text_buf);
-field_nr__stop__bits.encode_text(text_buf);
-field_nr__data__bits.encode_text(text_buf);
-field_user__rate.encode_text(text_buf);
-field_parity.encode_text(text_buf);
-field_interm__rate.encode_text(text_buf);
-field_transp.encode_text(text_buf);
-field_modem__type.encode_text(text_buf);
-}
-
-void MNCC__bearer__cap__data::decode_text(Text_Buf& text_buf)
-{
-field_rate__adaptation.decode_text(text_buf);
-field_sig__access.decode_text(text_buf);
-field_async.decode_text(text_buf);
-field_nr__stop__bits.decode_text(text_buf);
-field_nr__data__bits.decode_text(text_buf);
-field_user__rate.decode_text(text_buf);
-field_parity.decode_text(text_buf);
-field_interm__rate.decode_text(text_buf);
-field_transp.decode_text(text_buf);
-field_modem__type.decode_text(text_buf);
-}
-
-void MNCC__bearer__cap__data::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__bearer__cap__data::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__bearer__cap__data::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__bearer__cap__data_rate__adaptation_descr_.raw->forceomit);
- decoded_field_length = field_rate__adaptation.RAW_decode(MNCC__bearer__cap__data_rate__adaptation_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__bearer__cap__data_sig__access_descr_.raw->forceomit);
- decoded_field_length = field_sig__access.RAW_decode(MNCC__bearer__cap__data_sig__access_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__bearer__cap__data_async_descr_.raw->forceomit);
- decoded_field_length = field_async.RAW_decode(MNCC__bearer__cap__data_async_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__bearer__cap__data_nr__stop__bits_descr_.raw->forceomit);
- decoded_field_length = field_nr__stop__bits.RAW_decode(MNCC__bearer__cap__data_nr__stop__bits_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__bearer__cap__data_nr__data__bits_descr_.raw->forceomit);
- decoded_field_length = field_nr__data__bits.RAW_decode(MNCC__bearer__cap__data_nr__data__bits_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, MNCC__bearer__cap__data_user__rate_descr_.raw->forceomit);
- decoded_field_length = field_user__rate.RAW_decode(MNCC__bearer__cap__data_user__rate_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, MNCC__bearer__cap__data_parity_descr_.raw->forceomit);
- decoded_field_length = field_parity.RAW_decode(MNCC__bearer__cap__data_parity_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_7_force_omit(7, force_omit, MNCC__bearer__cap__data_interm__rate_descr_.raw->forceomit);
- decoded_field_length = field_interm__rate.RAW_decode(MNCC__bearer__cap__data_interm__rate_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_8_force_omit(8, force_omit, MNCC__bearer__cap__data_transp_descr_.raw->forceomit);
- decoded_field_length = field_transp.RAW_decode(MNCC__bearer__cap__data_transp_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_9_force_omit(9, force_omit, MNCC__bearer__cap__data_modem__type_descr_.raw->forceomit);
- decoded_field_length = field_modem__type.RAW_decode(MNCC__bearer__cap__data_modem__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__bearer__cap__data::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 10;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(10);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__bearer__cap__data_rate__adaptation_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__bearer__cap__data_sig__access_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__bearer__cap__data_async_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__bearer__cap__data_nr__stop__bits_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__bearer__cap__data_nr__data__bits_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, MNCC__bearer__cap__data_user__rate_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, MNCC__bearer__cap__data_parity_descr_.raw);
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, MNCC__bearer__cap__data_interm__rate_descr_.raw);
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, MNCC__bearer__cap__data_transp_descr_.raw);
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, MNCC__bearer__cap__data_modem__type_descr_.raw);
- encoded_length += field_rate__adaptation.RAW_encode(MNCC__bearer__cap__data_rate__adaptation_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_sig__access.RAW_encode(MNCC__bearer__cap__data_sig__access_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_async.RAW_encode(MNCC__bearer__cap__data_async_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_nr__stop__bits.RAW_encode(MNCC__bearer__cap__data_nr__stop__bits_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_nr__data__bits.RAW_encode(MNCC__bearer__cap__data_nr__data__bits_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_user__rate.RAW_encode(MNCC__bearer__cap__data_user__rate_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_parity.RAW_encode(MNCC__bearer__cap__data_parity_descr_, *myleaf.body.node.nodes[6]);
- encoded_length += field_interm__rate.RAW_encode(MNCC__bearer__cap__data_interm__rate_descr_, *myleaf.body.node.nodes[7]);
- encoded_length += field_transp.RAW_encode(MNCC__bearer__cap__data_transp_descr_, *myleaf.body.node.nodes[8]);
- encoded_length += field_modem__type.RAW_encode(MNCC__bearer__cap__data_modem__type_descr_, *myleaf.body.node.nodes[9]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__bearer__cap__data_template::single_value_struct {
-GSM48__bcap__ra_template field_rate__adaptation;
-GSM48__bcap__sig__access_template field_sig__access;
-INTEGER_template field_async;
-INTEGER_template field_nr__stop__bits;
-INTEGER_template field_nr__data__bits;
-GSM48__bcap__user__rate_template field_user__rate;
-GSM48__bcap__parity_template field_parity;
-GSM48__bcap__interm__rate_template field_interm__rate;
-GSM48__bcap__transp_template field_transp;
-GSM48__bcap__modem__type_template field_modem__type;
-};
-
-void MNCC__bearer__cap__data_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_rate__adaptation = ANY_VALUE;
-single_value->field_sig__access = ANY_VALUE;
-single_value->field_async = ANY_VALUE;
-single_value->field_nr__stop__bits = ANY_VALUE;
-single_value->field_nr__data__bits = ANY_VALUE;
-single_value->field_user__rate = ANY_VALUE;
-single_value->field_parity = ANY_VALUE;
-single_value->field_interm__rate = ANY_VALUE;
-single_value->field_transp = ANY_VALUE;
-single_value->field_modem__type = ANY_VALUE;
-}
-}
-}
-
-void MNCC__bearer__cap__data_template::copy_value(const MNCC__bearer__cap__data& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.rate__adaptation().is_bound()) {
- single_value->field_rate__adaptation = other_value.rate__adaptation();
-} else {
- single_value->field_rate__adaptation.clean_up();
-}
-if (other_value.sig__access().is_bound()) {
- single_value->field_sig__access = other_value.sig__access();
-} else {
- single_value->field_sig__access.clean_up();
-}
-if (other_value.async().is_bound()) {
- single_value->field_async = other_value.async();
-} else {
- single_value->field_async.clean_up();
-}
-if (other_value.nr__stop__bits().is_bound()) {
- single_value->field_nr__stop__bits = other_value.nr__stop__bits();
-} else {
- single_value->field_nr__stop__bits.clean_up();
-}
-if (other_value.nr__data__bits().is_bound()) {
- single_value->field_nr__data__bits = other_value.nr__data__bits();
-} else {
- single_value->field_nr__data__bits.clean_up();
-}
-if (other_value.user__rate().is_bound()) {
- single_value->field_user__rate = other_value.user__rate();
-} else {
- single_value->field_user__rate.clean_up();
-}
-if (other_value.parity().is_bound()) {
- single_value->field_parity = other_value.parity();
-} else {
- single_value->field_parity.clean_up();
-}
-if (other_value.interm__rate().is_bound()) {
- single_value->field_interm__rate = other_value.interm__rate();
-} else {
- single_value->field_interm__rate.clean_up();
-}
-if (other_value.transp().is_bound()) {
- single_value->field_transp = other_value.transp();
-} else {
- single_value->field_transp.clean_up();
-}
-if (other_value.modem__type().is_bound()) {
- single_value->field_modem__type = other_value.modem__type();
-} else {
- single_value->field_modem__type.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__bearer__cap__data_template::copy_template(const MNCC__bearer__cap__data_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.rate__adaptation().get_selection()) {
-single_value->field_rate__adaptation = other_value.rate__adaptation();
-} else {
-single_value->field_rate__adaptation.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.sig__access().get_selection()) {
-single_value->field_sig__access = other_value.sig__access();
-} else {
-single_value->field_sig__access.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.async().get_selection()) {
-single_value->field_async = other_value.async();
-} else {
-single_value->field_async.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.nr__stop__bits().get_selection()) {
-single_value->field_nr__stop__bits = other_value.nr__stop__bits();
-} else {
-single_value->field_nr__stop__bits.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.nr__data__bits().get_selection()) {
-single_value->field_nr__data__bits = other_value.nr__data__bits();
-} else {
-single_value->field_nr__data__bits.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.user__rate().get_selection()) {
-single_value->field_user__rate = other_value.user__rate();
-} else {
-single_value->field_user__rate.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.parity().get_selection()) {
-single_value->field_parity = other_value.parity();
-} else {
-single_value->field_parity.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.interm__rate().get_selection()) {
-single_value->field_interm__rate = other_value.interm__rate();
-} else {
-single_value->field_interm__rate.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.transp().get_selection()) {
-single_value->field_transp = other_value.transp();
-} else {
-single_value->field_transp.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.modem__type().get_selection()) {
-single_value->field_modem__type = other_value.modem__type();
-} else {
-single_value->field_modem__type.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__bearer__cap__data_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap_data.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__bearer__cap__data_template::MNCC__bearer__cap__data_template()
-{
-}
-
-MNCC__bearer__cap__data_template::MNCC__bearer__cap__data_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__bearer__cap__data_template::MNCC__bearer__cap__data_template(const MNCC__bearer__cap__data& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__bearer__cap__data_template::MNCC__bearer__cap__data_template(const OPTIONAL<MNCC__bearer__cap__data>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__bearer__cap__data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_bearer_cap_data from an unbound optional field.");
-}
-}
-
-MNCC__bearer__cap__data_template::MNCC__bearer__cap__data_template(const MNCC__bearer__cap__data_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__bearer__cap__data_template::~MNCC__bearer__cap__data_template()
-{
-clean_up();
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap__data_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap__data_template::operator=(const MNCC__bearer__cap__data& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap__data_template::operator=(const OPTIONAL<MNCC__bearer__cap__data>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__bearer__cap__data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_bearer_cap_data.");
-}
-return *this;
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap__data_template::operator=(const MNCC__bearer__cap__data_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__bearer__cap__data_template::match(const MNCC__bearer__cap__data& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.rate__adaptation().is_bound()) return FALSE;
-if(!single_value->field_rate__adaptation.match(other_value.rate__adaptation(), legacy))return FALSE;
-if(!other_value.sig__access().is_bound()) return FALSE;
-if(!single_value->field_sig__access.match(other_value.sig__access(), legacy))return FALSE;
-if(!other_value.async().is_bound()) return FALSE;
-if(!single_value->field_async.match(other_value.async(), legacy))return FALSE;
-if(!other_value.nr__stop__bits().is_bound()) return FALSE;
-if(!single_value->field_nr__stop__bits.match(other_value.nr__stop__bits(), legacy))return FALSE;
-if(!other_value.nr__data__bits().is_bound()) return FALSE;
-if(!single_value->field_nr__data__bits.match(other_value.nr__data__bits(), legacy))return FALSE;
-if(!other_value.user__rate().is_bound()) return FALSE;
-if(!single_value->field_user__rate.match(other_value.user__rate(), legacy))return FALSE;
-if(!other_value.parity().is_bound()) return FALSE;
-if(!single_value->field_parity.match(other_value.parity(), legacy))return FALSE;
-if(!other_value.interm__rate().is_bound()) return FALSE;
-if(!single_value->field_interm__rate.match(other_value.interm__rate(), legacy))return FALSE;
-if(!other_value.transp().is_bound()) return FALSE;
-if(!single_value->field_transp.match(other_value.transp(), legacy))return FALSE;
-if(!other_value.modem__type().is_bound()) return FALSE;
-if(!single_value->field_modem__type.match(other_value.modem__type(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap_data.");
-}
-return FALSE;
-}
-
-boolean MNCC__bearer__cap__data_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_rate__adaptation.is_bound()) return TRUE;
-if (single_value->field_sig__access.is_bound()) return TRUE;
-if (single_value->field_async.is_bound()) return TRUE;
-if (single_value->field_nr__stop__bits.is_bound()) return TRUE;
-if (single_value->field_nr__data__bits.is_bound()) return TRUE;
-if (single_value->field_user__rate.is_bound()) return TRUE;
-if (single_value->field_parity.is_bound()) return TRUE;
-if (single_value->field_interm__rate.is_bound()) return TRUE;
-if (single_value->field_transp.is_bound()) return TRUE;
-if (single_value->field_modem__type.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__bearer__cap__data_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_rate__adaptation.is_value()) return FALSE;
-if (!single_value->field_sig__access.is_value()) return FALSE;
-if (!single_value->field_async.is_value()) return FALSE;
-if (!single_value->field_nr__stop__bits.is_value()) return FALSE;
-if (!single_value->field_nr__data__bits.is_value()) return FALSE;
-if (!single_value->field_user__rate.is_value()) return FALSE;
-if (!single_value->field_parity.is_value()) return FALSE;
-if (!single_value->field_interm__rate.is_value()) return FALSE;
-if (!single_value->field_transp.is_value()) return FALSE;
-if (!single_value->field_modem__type.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__bearer__cap__data_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__bearer__cap__data MNCC__bearer__cap__data_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-MNCC__bearer__cap__data ret_val;
-if (single_value->field_rate__adaptation.is_bound()) {
-ret_val.rate__adaptation() = single_value->field_rate__adaptation.valueof();
-}
-if (single_value->field_sig__access.is_bound()) {
-ret_val.sig__access() = single_value->field_sig__access.valueof();
-}
-if (single_value->field_async.is_bound()) {
-ret_val.async() = single_value->field_async.valueof();
-}
-if (single_value->field_nr__stop__bits.is_bound()) {
-ret_val.nr__stop__bits() = single_value->field_nr__stop__bits.valueof();
-}
-if (single_value->field_nr__data__bits.is_bound()) {
-ret_val.nr__data__bits() = single_value->field_nr__data__bits.valueof();
-}
-if (single_value->field_user__rate.is_bound()) {
-ret_val.user__rate() = single_value->field_user__rate.valueof();
-}
-if (single_value->field_parity.is_bound()) {
-ret_val.parity() = single_value->field_parity.valueof();
-}
-if (single_value->field_interm__rate.is_bound()) {
-ret_val.interm__rate() = single_value->field_interm__rate.valueof();
-}
-if (single_value->field_transp.is_bound()) {
-ret_val.transp() = single_value->field_transp.valueof();
-}
-if (single_value->field_modem__type.is_bound()) {
-ret_val.modem__type() = single_value->field_modem__type.valueof();
-}
-return ret_val;
-}
-
-void MNCC__bearer__cap__data_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_bearer_cap_data.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__bearer__cap__data_template[list_length];
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap__data_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_bearer_cap_data.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return value_list.list_value[list_index];
-}
-
-GSM48__bcap__ra_template& MNCC__bearer__cap__data_template::rate__adaptation()
-{
-set_specific();
-return single_value->field_rate__adaptation;
-}
-
-const GSM48__bcap__ra_template& MNCC__bearer__cap__data_template::rate__adaptation() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rate_adaptation of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_rate__adaptation;
-}
-
-GSM48__bcap__sig__access_template& MNCC__bearer__cap__data_template::sig__access()
-{
-set_specific();
-return single_value->field_sig__access;
-}
-
-const GSM48__bcap__sig__access_template& MNCC__bearer__cap__data_template::sig__access() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sig_access of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_sig__access;
-}
-
-INTEGER_template& MNCC__bearer__cap__data_template::async()
-{
-set_specific();
-return single_value->field_async;
-}
-
-const INTEGER_template& MNCC__bearer__cap__data_template::async() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field async of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_async;
-}
-
-INTEGER_template& MNCC__bearer__cap__data_template::nr__stop__bits()
-{
-set_specific();
-return single_value->field_nr__stop__bits;
-}
-
-const INTEGER_template& MNCC__bearer__cap__data_template::nr__stop__bits() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field nr_stop_bits of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_nr__stop__bits;
-}
-
-INTEGER_template& MNCC__bearer__cap__data_template::nr__data__bits()
-{
-set_specific();
-return single_value->field_nr__data__bits;
-}
-
-const INTEGER_template& MNCC__bearer__cap__data_template::nr__data__bits() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field nr_data_bits of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_nr__data__bits;
-}
-
-GSM48__bcap__user__rate_template& MNCC__bearer__cap__data_template::user__rate()
-{
-set_specific();
-return single_value->field_user__rate;
-}
-
-const GSM48__bcap__user__rate_template& MNCC__bearer__cap__data_template::user__rate() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field user_rate of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_user__rate;
-}
-
-GSM48__bcap__parity_template& MNCC__bearer__cap__data_template::parity()
-{
-set_specific();
-return single_value->field_parity;
-}
-
-const GSM48__bcap__parity_template& MNCC__bearer__cap__data_template::parity() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field parity of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_parity;
-}
-
-GSM48__bcap__interm__rate_template& MNCC__bearer__cap__data_template::interm__rate()
-{
-set_specific();
-return single_value->field_interm__rate;
-}
-
-const GSM48__bcap__interm__rate_template& MNCC__bearer__cap__data_template::interm__rate() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field interm_rate of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_interm__rate;
-}
-
-GSM48__bcap__transp_template& MNCC__bearer__cap__data_template::transp()
-{
-set_specific();
-return single_value->field_transp;
-}
-
-const GSM48__bcap__transp_template& MNCC__bearer__cap__data_template::transp() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field transp of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_transp;
-}
-
-GSM48__bcap__modem__type_template& MNCC__bearer__cap__data_template::modem__type()
-{
-set_specific();
-return single_value->field_modem__type;
-}
-
-const GSM48__bcap__modem__type_template& MNCC__bearer__cap__data_template::modem__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field modem_type of a non-specific template of type @MNCC_Types.MNCC_bearer_cap_data.");
-return single_value->field_modem__type;
-}
-
-int MNCC__bearer__cap__data_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 10;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap_data containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap_data.");
- }
- return 0;
-}
-
-void MNCC__bearer__cap__data_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ rate_adaptation := ");
-single_value->field_rate__adaptation.log();
-TTCN_Logger::log_event_str(", sig_access := ");
-single_value->field_sig__access.log();
-TTCN_Logger::log_event_str(", async := ");
-single_value->field_async.log();
-TTCN_Logger::log_event_str(", nr_stop_bits := ");
-single_value->field_nr__stop__bits.log();
-TTCN_Logger::log_event_str(", nr_data_bits := ");
-single_value->field_nr__data__bits.log();
-TTCN_Logger::log_event_str(", user_rate := ");
-single_value->field_user__rate.log();
-TTCN_Logger::log_event_str(", parity := ");
-single_value->field_parity.log();
-TTCN_Logger::log_event_str(", interm_rate := ");
-single_value->field_interm__rate.log();
-TTCN_Logger::log_event_str(", transp := ");
-single_value->field_transp.log();
-TTCN_Logger::log_event_str(", modem_type := ");
-single_value->field_modem__type.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__bearer__cap__data_template::log_match(const MNCC__bearer__cap__data& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_rate__adaptation.match(match_value.rate__adaptation(), legacy)){
-TTCN_Logger::log_logmatch_info(".rate_adaptation");
-single_value->field_rate__adaptation.log_match(match_value.rate__adaptation(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_sig__access.match(match_value.sig__access(), legacy)){
-TTCN_Logger::log_logmatch_info(".sig_access");
-single_value->field_sig__access.log_match(match_value.sig__access(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_async.match(match_value.async(), legacy)){
-TTCN_Logger::log_logmatch_info(".async");
-single_value->field_async.log_match(match_value.async(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_nr__stop__bits.match(match_value.nr__stop__bits(), legacy)){
-TTCN_Logger::log_logmatch_info(".nr_stop_bits");
-single_value->field_nr__stop__bits.log_match(match_value.nr__stop__bits(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_nr__data__bits.match(match_value.nr__data__bits(), legacy)){
-TTCN_Logger::log_logmatch_info(".nr_data_bits");
-single_value->field_nr__data__bits.log_match(match_value.nr__data__bits(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_user__rate.match(match_value.user__rate(), legacy)){
-TTCN_Logger::log_logmatch_info(".user_rate");
-single_value->field_user__rate.log_match(match_value.user__rate(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_parity.match(match_value.parity(), legacy)){
-TTCN_Logger::log_logmatch_info(".parity");
-single_value->field_parity.log_match(match_value.parity(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_interm__rate.match(match_value.interm__rate(), legacy)){
-TTCN_Logger::log_logmatch_info(".interm_rate");
-single_value->field_interm__rate.log_match(match_value.interm__rate(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_transp.match(match_value.transp(), legacy)){
-TTCN_Logger::log_logmatch_info(".transp");
-single_value->field_transp.log_match(match_value.transp(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_modem__type.match(match_value.modem__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".modem_type");
-single_value->field_modem__type.log_match(match_value.modem__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ rate_adaptation := ");
-single_value->field_rate__adaptation.log_match(match_value.rate__adaptation(), legacy);
-TTCN_Logger::log_event_str(", sig_access := ");
-single_value->field_sig__access.log_match(match_value.sig__access(), legacy);
-TTCN_Logger::log_event_str(", async := ");
-single_value->field_async.log_match(match_value.async(), legacy);
-TTCN_Logger::log_event_str(", nr_stop_bits := ");
-single_value->field_nr__stop__bits.log_match(match_value.nr__stop__bits(), legacy);
-TTCN_Logger::log_event_str(", nr_data_bits := ");
-single_value->field_nr__data__bits.log_match(match_value.nr__data__bits(), legacy);
-TTCN_Logger::log_event_str(", user_rate := ");
-single_value->field_user__rate.log_match(match_value.user__rate(), legacy);
-TTCN_Logger::log_event_str(", parity := ");
-single_value->field_parity.log_match(match_value.parity(), legacy);
-TTCN_Logger::log_event_str(", interm_rate := ");
-single_value->field_interm__rate.log_match(match_value.interm__rate(), legacy);
-TTCN_Logger::log_event_str(", transp := ");
-single_value->field_transp.log_match(match_value.transp(), legacy);
-TTCN_Logger::log_event_str(", modem_type := ");
-single_value->field_modem__type.log_match(match_value.modem__type(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__bearer__cap__data_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_rate__adaptation.encode_text(text_buf);
-single_value->field_sig__access.encode_text(text_buf);
-single_value->field_async.encode_text(text_buf);
-single_value->field_nr__stop__bits.encode_text(text_buf);
-single_value->field_nr__data__bits.encode_text(text_buf);
-single_value->field_user__rate.encode_text(text_buf);
-single_value->field_parity.encode_text(text_buf);
-single_value->field_interm__rate.encode_text(text_buf);
-single_value->field_transp.encode_text(text_buf);
-single_value->field_modem__type.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap_data.");
-}
-}
-
-void MNCC__bearer__cap__data_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_rate__adaptation.decode_text(text_buf);
-single_value->field_sig__access.decode_text(text_buf);
-single_value->field_async.decode_text(text_buf);
-single_value->field_nr__stop__bits.decode_text(text_buf);
-single_value->field_nr__data__bits.decode_text(text_buf);
-single_value->field_user__rate.decode_text(text_buf);
-single_value->field_parity.decode_text(text_buf);
-single_value->field_interm__rate.decode_text(text_buf);
-single_value->field_transp.decode_text(text_buf);
-single_value->field_modem__type.decode_text(text_buf);
-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 MNCC__bearer__cap__data_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_bearer_cap_data.");
-}
-}
-
-void MNCC__bearer__cap__data_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__bearer__cap__data_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (10<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_bearer_cap_data has 10 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) rate__adaptation().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) sig__access().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) async().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) nr__stop__bits().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) nr__data__bits().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) user__rate().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) parity().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) interm__rate().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) transp().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) modem__type().set_param(*param.get_elem(9));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rate_adaptation")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rate__adaptation().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sig_access")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sig__access().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "async")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- async().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nr_stop_bits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nr__stop__bits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nr_data_bits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nr__data__bits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "user_rate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- user__rate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "parity")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- parity().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "interm_rate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- interm__rate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "transp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- transp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "modem_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- modem__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_bearer_cap_data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_bearer_cap_data");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__bearer__cap__data_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_rate__adaptation.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_sig__access.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_async.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_nr__stop__bits.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_nr__data__bits.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_user__rate.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_parity.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_interm__rate.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_transp.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-single_value->field_modem__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap_data");
-return;
-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 : "@MNCC_Types.MNCC_bearer_cap_data");
-}
-
-boolean MNCC__bearer__cap__data_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__bearer__cap__data_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__bearer__cap::MNCC__bearer__cap()
-{
-}
-
-MNCC__bearer__cap::MNCC__bearer__cap(const INTEGER& par_transfer,
- const INTEGER& par_mode,
- const INTEGER& par_coding,
- const INTEGER& par_radio,
- const INTEGER& par_speech__ctm,
- const MNCC__speech__vers& par_speech__ver,
- const OPTIONAL<MNCC__bearer__cap__data>& par_data)
- : field_transfer(par_transfer),
- field_mode(par_mode),
- field_coding(par_coding),
- field_radio(par_radio),
- field_speech__ctm(par_speech__ctm),
- field_speech__ver(par_speech__ver),
- field_data(par_data)
-{
-}
-
-MNCC__bearer__cap::MNCC__bearer__cap(const MNCC__bearer__cap& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_bearer_cap.");
-if (other_value.transfer().is_bound()) field_transfer = other_value.transfer();
-else field_transfer.clean_up();
-if (other_value.mode().is_bound()) field_mode = other_value.mode();
-else field_mode.clean_up();
-if (other_value.coding().is_bound()) field_coding = other_value.coding();
-else field_coding.clean_up();
-if (other_value.radio().is_bound()) field_radio = other_value.radio();
-else field_radio.clean_up();
-if (other_value.speech__ctm().is_bound()) field_speech__ctm = other_value.speech__ctm();
-else field_speech__ctm.clean_up();
-if (other_value.speech__ver().is_bound()) field_speech__ver = other_value.speech__ver();
-else field_speech__ver.clean_up();
-if (other_value.data().is_bound()) field_data = other_value.data();
-else field_data.clean_up();
-}
-
-void MNCC__bearer__cap::clean_up()
-{
-field_transfer.clean_up();
-field_mode.clean_up();
-field_coding.clean_up();
-field_radio.clean_up();
-field_speech__ctm.clean_up();
-field_speech__ver.clean_up();
-field_data.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__bearer__cap::get_descriptor() const { return &MNCC__bearer__cap_descr_; }
-MNCC__bearer__cap& MNCC__bearer__cap::operator=(const MNCC__bearer__cap& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_bearer_cap.");
- if (other_value.transfer().is_bound()) field_transfer = other_value.transfer();
- else field_transfer.clean_up();
- if (other_value.mode().is_bound()) field_mode = other_value.mode();
- else field_mode.clean_up();
- if (other_value.coding().is_bound()) field_coding = other_value.coding();
- else field_coding.clean_up();
- if (other_value.radio().is_bound()) field_radio = other_value.radio();
- else field_radio.clean_up();
- if (other_value.speech__ctm().is_bound()) field_speech__ctm = other_value.speech__ctm();
- else field_speech__ctm.clean_up();
- if (other_value.speech__ver().is_bound()) field_speech__ver = other_value.speech__ver();
- else field_speech__ver.clean_up();
- if (other_value.data().is_bound()) field_data = other_value.data();
- else field_data.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__bearer__cap::operator==(const MNCC__bearer__cap& other_value) const
-{
-return field_transfer==other_value.field_transfer
- && field_mode==other_value.field_mode
- && field_coding==other_value.field_coding
- && field_radio==other_value.field_radio
- && field_speech__ctm==other_value.field_speech__ctm
- && field_speech__ver==other_value.field_speech__ver
- && field_data==other_value.field_data;
-}
-
-boolean MNCC__bearer__cap::is_bound() const
-{
-if(field_transfer.is_bound()) return TRUE;
-if(field_mode.is_bound()) return TRUE;
-if(field_coding.is_bound()) return TRUE;
-if(field_radio.is_bound()) return TRUE;
-if(field_speech__ctm.is_bound()) return TRUE;
-if(field_speech__ver.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_data.get_selection() || field_data.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__bearer__cap::is_value() const
-{
-if(!field_transfer.is_value()) return FALSE;
-if(!field_mode.is_value()) return FALSE;
-if(!field_coding.is_value()) return FALSE;
-if(!field_radio.is_value()) return FALSE;
-if(!field_speech__ctm.is_value()) return FALSE;
-if(!field_speech__ver.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_data.get_selection() && !field_data.is_value()) return FALSE;
-return TRUE;
-}
-int MNCC__bearer__cap::size_of() const
-{
- int ret_val = 6;
- if (field_data.ispresent()) ret_val++;
- return ret_val;
-}
-
-void MNCC__bearer__cap::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ transfer := ");
-field_transfer.log();
-TTCN_Logger::log_event_str(", mode := ");
-field_mode.log();
-TTCN_Logger::log_event_str(", coding := ");
-field_coding.log();
-TTCN_Logger::log_event_str(", radio := ");
-field_radio.log();
-TTCN_Logger::log_event_str(", speech_ctm := ");
-field_speech__ctm.log();
-TTCN_Logger::log_event_str(", speech_ver := ");
-field_speech__ver.log();
-TTCN_Logger::log_event_str(", data := ");
-field_data.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__bearer__cap::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_bearer_cap has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) transfer().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) mode().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) radio().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) speech__ctm().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) speech__ver().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "transfer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- transfer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mode")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mode().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "radio")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- radio().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "speech_ctm")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- speech__ctm().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "speech_ver")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- speech__ver().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_bearer_cap: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_bearer_cap");
- }
-}
-
-void MNCC__bearer__cap::set_implicit_omit()
-{
-if (transfer().is_bound()) transfer().set_implicit_omit();
-if (mode().is_bound()) mode().set_implicit_omit();
-if (coding().is_bound()) coding().set_implicit_omit();
-if (radio().is_bound()) radio().set_implicit_omit();
-if (speech__ctm().is_bound()) speech__ctm().set_implicit_omit();
-if (speech__ver().is_bound()) speech__ver().set_implicit_omit();
-if (!data().is_bound()) data() = OMIT_VALUE;
-else data().set_implicit_omit();
-}
-
-void MNCC__bearer__cap::encode_text(Text_Buf& text_buf) const
-{
-field_transfer.encode_text(text_buf);
-field_mode.encode_text(text_buf);
-field_coding.encode_text(text_buf);
-field_radio.encode_text(text_buf);
-field_speech__ctm.encode_text(text_buf);
-field_speech__ver.encode_text(text_buf);
-field_data.encode_text(text_buf);
-}
-
-void MNCC__bearer__cap::decode_text(Text_Buf& text_buf)
-{
-field_transfer.decode_text(text_buf);
-field_mode.decode_text(text_buf);
-field_coding.decode_text(text_buf);
-field_radio.decode_text(text_buf);
-field_speech__ctm.decode_text(text_buf);
-field_speech__ver.decode_text(text_buf);
-field_data.decode_text(text_buf);
-}
-
-void MNCC__bearer__cap::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__bearer__cap::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__bearer__cap::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__bearer__cap_transfer_descr_.raw->forceomit);
- decoded_field_length = field_transfer.RAW_decode(MNCC__bearer__cap_transfer_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__bearer__cap_mode_descr_.raw->forceomit);
- decoded_field_length = field_mode.RAW_decode(MNCC__bearer__cap_mode_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__bearer__cap_coding_descr_.raw->forceomit);
- decoded_field_length = field_coding.RAW_decode(MNCC__bearer__cap_coding_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__bearer__cap_radio_descr_.raw->forceomit);
- decoded_field_length = field_radio.RAW_decode(MNCC__bearer__cap_radio_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__bearer__cap_speech__ctm_descr_.raw->forceomit);
- decoded_field_length = field_speech__ctm.RAW_decode(MNCC__bearer__cap_speech__ctm_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, MNCC__bearer__cap_speech__ver_descr_.raw->forceomit);
- decoded_field_length = field_speech__ver.RAW_decode(MNCC__bearer__cap_speech__ver_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(6)) {
- field_data = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_6_force_omit(6, force_omit, MNCC__bearer__cap_data_descr_.raw->forceomit);
- decoded_field_length = field_data().RAW_decode(MNCC__bearer__cap_data_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 1) {
- field_data = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_data=OMIT_VALUE;
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__bearer__cap::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 7;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(7);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__bearer__cap_transfer_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__bearer__cap_mode_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__bearer__cap_coding_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__bearer__cap_radio_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__bearer__cap_speech__ctm_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, MNCC__bearer__cap_speech__ver_descr_.raw);
- if (field_data.ispresent()) {
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, MNCC__bearer__cap_data_descr_.raw);
- }
- else myleaf.body.node.nodes[6] = NULL;
- encoded_length += field_transfer.RAW_encode(MNCC__bearer__cap_transfer_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_mode.RAW_encode(MNCC__bearer__cap_mode_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_coding.RAW_encode(MNCC__bearer__cap_coding_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_radio.RAW_encode(MNCC__bearer__cap_radio_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_speech__ctm.RAW_encode(MNCC__bearer__cap_speech__ctm_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_speech__ver.RAW_encode(MNCC__bearer__cap_speech__ver_descr_, *myleaf.body.node.nodes[5]);
- if (field_data.ispresent()) {
- encoded_length += field_data().RAW_encode(MNCC__bearer__cap_data_descr_, *myleaf.body.node.nodes[6]);
- }
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__bearer__cap_template::single_value_struct {
-INTEGER_template field_transfer;
-INTEGER_template field_mode;
-INTEGER_template field_coding;
-INTEGER_template field_radio;
-INTEGER_template field_speech__ctm;
-MNCC__speech__vers_template field_speech__ver;
-MNCC__bearer__cap__data_template field_data;
-};
-
-void MNCC__bearer__cap_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_transfer = ANY_VALUE;
-single_value->field_mode = ANY_VALUE;
-single_value->field_coding = ANY_VALUE;
-single_value->field_radio = ANY_VALUE;
-single_value->field_speech__ctm = ANY_VALUE;
-single_value->field_speech__ver = ANY_VALUE;
-single_value->field_data = ANY_OR_OMIT;
-}
-}
-}
-
-void MNCC__bearer__cap_template::copy_value(const MNCC__bearer__cap& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.transfer().is_bound()) {
- single_value->field_transfer = other_value.transfer();
-} else {
- single_value->field_transfer.clean_up();
-}
-if (other_value.mode().is_bound()) {
- single_value->field_mode = other_value.mode();
-} else {
- single_value->field_mode.clean_up();
-}
-if (other_value.coding().is_bound()) {
- single_value->field_coding = other_value.coding();
-} else {
- single_value->field_coding.clean_up();
-}
-if (other_value.radio().is_bound()) {
- single_value->field_radio = other_value.radio();
-} else {
- single_value->field_radio.clean_up();
-}
-if (other_value.speech__ctm().is_bound()) {
- single_value->field_speech__ctm = other_value.speech__ctm();
-} else {
- single_value->field_speech__ctm.clean_up();
-}
-if (other_value.speech__ver().is_bound()) {
- single_value->field_speech__ver = other_value.speech__ver();
-} else {
- single_value->field_speech__ver.clean_up();
-}
-if (other_value.data().is_bound()) {
- if (other_value.data().ispresent()) single_value->field_data = other_value.data()();
- else single_value->field_data = OMIT_VALUE;
-} else {
- single_value->field_data.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__bearer__cap_template::copy_template(const MNCC__bearer__cap_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.transfer().get_selection()) {
-single_value->field_transfer = other_value.transfer();
-} else {
-single_value->field_transfer.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mode().get_selection()) {
-single_value->field_mode = other_value.mode();
-} else {
-single_value->field_mode.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.coding().get_selection()) {
-single_value->field_coding = other_value.coding();
-} else {
-single_value->field_coding.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.radio().get_selection()) {
-single_value->field_radio = other_value.radio();
-} else {
-single_value->field_radio.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.speech__ctm().get_selection()) {
-single_value->field_speech__ctm = other_value.speech__ctm();
-} else {
-single_value->field_speech__ctm.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.speech__ver().get_selection()) {
-single_value->field_speech__ver = other_value.speech__ver();
-} else {
-single_value->field_speech__ver.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.data().get_selection()) {
-single_value->field_data = other_value.data();
-} else {
-single_value->field_data.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__bearer__cap_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__bearer__cap_template::MNCC__bearer__cap_template()
-{
-}
-
-MNCC__bearer__cap_template::MNCC__bearer__cap_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__bearer__cap_template::MNCC__bearer__cap_template(const MNCC__bearer__cap& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__bearer__cap_template::MNCC__bearer__cap_template(const OPTIONAL<MNCC__bearer__cap>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__bearer__cap&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_bearer_cap from an unbound optional field.");
-}
-}
-
-MNCC__bearer__cap_template::MNCC__bearer__cap_template(const MNCC__bearer__cap_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__bearer__cap_template::~MNCC__bearer__cap_template()
-{
-clean_up();
-}
-
-MNCC__bearer__cap_template& MNCC__bearer__cap_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__bearer__cap_template& MNCC__bearer__cap_template::operator=(const MNCC__bearer__cap& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__bearer__cap_template& MNCC__bearer__cap_template::operator=(const OPTIONAL<MNCC__bearer__cap>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__bearer__cap&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_bearer_cap.");
-}
-return *this;
-}
-
-MNCC__bearer__cap_template& MNCC__bearer__cap_template::operator=(const MNCC__bearer__cap_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__bearer__cap_template::match(const MNCC__bearer__cap& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.transfer().is_bound()) return FALSE;
-if(!single_value->field_transfer.match(other_value.transfer(), legacy))return FALSE;
-if(!other_value.mode().is_bound()) return FALSE;
-if(!single_value->field_mode.match(other_value.mode(), legacy))return FALSE;
-if(!other_value.coding().is_bound()) return FALSE;
-if(!single_value->field_coding.match(other_value.coding(), legacy))return FALSE;
-if(!other_value.radio().is_bound()) return FALSE;
-if(!single_value->field_radio.match(other_value.radio(), legacy))return FALSE;
-if(!other_value.speech__ctm().is_bound()) return FALSE;
-if(!single_value->field_speech__ctm.match(other_value.speech__ctm(), legacy))return FALSE;
-if(!other_value.speech__ver().is_bound()) return FALSE;
-if(!single_value->field_speech__ver.match(other_value.speech__ver(), legacy))return FALSE;
-if(!other_value.data().is_bound()) return FALSE;
-if((other_value.data().ispresent() ? !single_value->field_data.match((const MNCC__bearer__cap__data&)other_value.data(), legacy) : !single_value->field_data.match_omit(legacy)))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap.");
-}
-return FALSE;
-}
-
-boolean MNCC__bearer__cap_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_transfer.is_bound()) return TRUE;
-if (single_value->field_mode.is_bound()) return TRUE;
-if (single_value->field_coding.is_bound()) return TRUE;
-if (single_value->field_radio.is_bound()) return TRUE;
-if (single_value->field_speech__ctm.is_bound()) return TRUE;
-if (single_value->field_speech__ver.is_bound()) return TRUE;
-if (single_value->field_data.is_omit() || single_value->field_data.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__bearer__cap_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_transfer.is_value()) return FALSE;
-if (!single_value->field_mode.is_value()) return FALSE;
-if (!single_value->field_coding.is_value()) return FALSE;
-if (!single_value->field_radio.is_value()) return FALSE;
-if (!single_value->field_speech__ctm.is_value()) return FALSE;
-if (!single_value->field_speech__ver.is_value()) return FALSE;
-if (!single_value->field_data.is_omit() && !single_value->field_data.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__bearer__cap_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__bearer__cap MNCC__bearer__cap_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-MNCC__bearer__cap ret_val;
-if (single_value->field_transfer.is_bound()) {
-ret_val.transfer() = single_value->field_transfer.valueof();
-}
-if (single_value->field_mode.is_bound()) {
-ret_val.mode() = single_value->field_mode.valueof();
-}
-if (single_value->field_coding.is_bound()) {
-ret_val.coding() = single_value->field_coding.valueof();
-}
-if (single_value->field_radio.is_bound()) {
-ret_val.radio() = single_value->field_radio.valueof();
-}
-if (single_value->field_speech__ctm.is_bound()) {
-ret_val.speech__ctm() = single_value->field_speech__ctm.valueof();
-}
-if (single_value->field_speech__ver.is_bound()) {
-ret_val.speech__ver() = single_value->field_speech__ver.valueof();
-}
-if (single_value->field_data.is_omit()) ret_val.data() = OMIT_VALUE;
-else if (single_value->field_data.is_bound()) {
-ret_val.data() = single_value->field_data.valueof();
-}
-return ret_val;
-}
-
-void MNCC__bearer__cap_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_bearer_cap.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__bearer__cap_template[list_length];
-}
-
-MNCC__bearer__cap_template& MNCC__bearer__cap_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_bearer_cap.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_bearer_cap.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__bearer__cap_template::transfer()
-{
-set_specific();
-return single_value->field_transfer;
-}
-
-const INTEGER_template& MNCC__bearer__cap_template::transfer() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field transfer of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_transfer;
-}
-
-INTEGER_template& MNCC__bearer__cap_template::mode()
-{
-set_specific();
-return single_value->field_mode;
-}
-
-const INTEGER_template& MNCC__bearer__cap_template::mode() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mode of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_mode;
-}
-
-INTEGER_template& MNCC__bearer__cap_template::coding()
-{
-set_specific();
-return single_value->field_coding;
-}
-
-const INTEGER_template& MNCC__bearer__cap_template::coding() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field coding of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_coding;
-}
-
-INTEGER_template& MNCC__bearer__cap_template::radio()
-{
-set_specific();
-return single_value->field_radio;
-}
-
-const INTEGER_template& MNCC__bearer__cap_template::radio() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field radio of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_radio;
-}
-
-INTEGER_template& MNCC__bearer__cap_template::speech__ctm()
-{
-set_specific();
-return single_value->field_speech__ctm;
-}
-
-const INTEGER_template& MNCC__bearer__cap_template::speech__ctm() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field speech_ctm of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_speech__ctm;
-}
-
-MNCC__speech__vers_template& MNCC__bearer__cap_template::speech__ver()
-{
-set_specific();
-return single_value->field_speech__ver;
-}
-
-const MNCC__speech__vers_template& MNCC__bearer__cap_template::speech__ver() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field speech_ver of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_speech__ver;
-}
-
-MNCC__bearer__cap__data_template& MNCC__bearer__cap_template::data()
-{
-set_specific();
-return single_value->field_data;
-}
-
-const MNCC__bearer__cap__data_template& MNCC__bearer__cap_template::data() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field data of a non-specific template of type @MNCC_Types.MNCC_bearer_cap.");
-return single_value->field_data;
-}
-
-int MNCC__bearer__cap_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- { int ret_val = 6;
- if (single_value->field_data.is_present()) ret_val++;
- return ret_val;
- }
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_bearer_cap containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap.");
- }
- return 0;
-}
-
-void MNCC__bearer__cap_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ transfer := ");
-single_value->field_transfer.log();
-TTCN_Logger::log_event_str(", mode := ");
-single_value->field_mode.log();
-TTCN_Logger::log_event_str(", coding := ");
-single_value->field_coding.log();
-TTCN_Logger::log_event_str(", radio := ");
-single_value->field_radio.log();
-TTCN_Logger::log_event_str(", speech_ctm := ");
-single_value->field_speech__ctm.log();
-TTCN_Logger::log_event_str(", speech_ver := ");
-single_value->field_speech__ver.log();
-TTCN_Logger::log_event_str(", data := ");
-single_value->field_data.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__bearer__cap_template::log_match(const MNCC__bearer__cap& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_transfer.match(match_value.transfer(), legacy)){
-TTCN_Logger::log_logmatch_info(".transfer");
-single_value->field_transfer.log_match(match_value.transfer(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mode.match(match_value.mode(), legacy)){
-TTCN_Logger::log_logmatch_info(".mode");
-single_value->field_mode.log_match(match_value.mode(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_coding.match(match_value.coding(), legacy)){
-TTCN_Logger::log_logmatch_info(".coding");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_radio.match(match_value.radio(), legacy)){
-TTCN_Logger::log_logmatch_info(".radio");
-single_value->field_radio.log_match(match_value.radio(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_speech__ctm.match(match_value.speech__ctm(), legacy)){
-TTCN_Logger::log_logmatch_info(".speech_ctm");
-single_value->field_speech__ctm.log_match(match_value.speech__ctm(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_speech__ver.match(match_value.speech__ver(), legacy)){
-TTCN_Logger::log_logmatch_info(".speech_ver");
-single_value->field_speech__ver.log_match(match_value.speech__ver(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if (match_value.data().ispresent()){
-if(!single_value->field_data.match(match_value.data(), legacy)){
-TTCN_Logger::log_logmatch_info(".data");
-single_value->field_data.log_match(match_value.data(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_data.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".data := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_data.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ transfer := ");
-single_value->field_transfer.log_match(match_value.transfer(), legacy);
-TTCN_Logger::log_event_str(", mode := ");
-single_value->field_mode.log_match(match_value.mode(), legacy);
-TTCN_Logger::log_event_str(", coding := ");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::log_event_str(", radio := ");
-single_value->field_radio.log_match(match_value.radio(), legacy);
-TTCN_Logger::log_event_str(", speech_ctm := ");
-single_value->field_speech__ctm.log_match(match_value.speech__ctm(), legacy);
-TTCN_Logger::log_event_str(", speech_ver := ");
-single_value->field_speech__ver.log_match(match_value.speech__ver(), legacy);
-TTCN_Logger::log_event_str(", data := ");
-if (match_value.data().ispresent()) single_value->field_data.log_match(match_value.data(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_data.log();
-if (single_value->field_data.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__bearer__cap_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_transfer.encode_text(text_buf);
-single_value->field_mode.encode_text(text_buf);
-single_value->field_coding.encode_text(text_buf);
-single_value->field_radio.encode_text(text_buf);
-single_value->field_speech__ctm.encode_text(text_buf);
-single_value->field_speech__ver.encode_text(text_buf);
-single_value->field_data.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_bearer_cap.");
-}
-}
-
-void MNCC__bearer__cap_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_transfer.decode_text(text_buf);
-single_value->field_mode.decode_text(text_buf);
-single_value->field_coding.decode_text(text_buf);
-single_value->field_radio.decode_text(text_buf);
-single_value->field_speech__ctm.decode_text(text_buf);
-single_value->field_speech__ver.decode_text(text_buf);
-single_value->field_data.decode_text(text_buf);
-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 MNCC__bearer__cap_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_bearer_cap.");
-}
-}
-
-void MNCC__bearer__cap_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__bearer__cap_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_bearer_cap has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) transfer().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) mode().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) radio().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) speech__ctm().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) speech__ver().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "transfer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- transfer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mode")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mode().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "radio")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- radio().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "speech_ctm")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- speech__ctm().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "speech_ver")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- speech__ver().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_bearer_cap: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_bearer_cap");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__bearer__cap_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_transfer.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_mode.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_coding.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_radio.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_speech__ctm.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_speech__ver.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-single_value->field_data.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_bearer_cap");
-return;
-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 : "@MNCC_Types.MNCC_bearer_cap");
-}
-
-boolean MNCC__bearer__cap_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__bearer__cap_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-GSM48__type__of__number::GSM48__type__of__number()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__type__of__number::GSM48__type__of__number(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_type_of_number with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__type__of__number::GSM48__type__of__number(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__type__of__number::GSM48__type__of__number(const GSM48__type__of__number& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__type__of__number& GSM48__type__of__number::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_type_of_number.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__type__of__number& GSM48__type__of__number::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__type__of__number& GSM48__type__of__number::operator=(const GSM48__type__of__number& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__type__of__number::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 @MNCC_Types.GSM48_type_of_number.");
-return enum_value == other_value;
-}
-
-boolean GSM48__type__of__number::operator==(const GSM48__type__of__number& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__type__of__number::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 @MNCC_Types.GSM48_type_of_number.");
-return enum_value < other_value;
-}
-
-boolean GSM48__type__of__number::operator<(const GSM48__type__of__number& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__type__of__number::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 @MNCC_Types.GSM48_type_of_number.");
-return enum_value > other_value;
-}
-
-boolean GSM48__type__of__number::operator>(const GSM48__type__of__number& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__type__of__number::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__TON__UNKNOWN: return "GSM48_TON_UNKNOWN";
-case GSM48__TON__INTERNATIONAL: return "GSM48_TON_INTERNATIONAL";
-case GSM48__TON__NATIONAL: return "GSM48_TON_NATIONAL";
-case GSM48__TON__NETWORK__SPECIFIC: return "GSM48_TON_NETWORK_SPECIFIC";
-case GSM48__TON__SHORT__CODE: return "GSM48_TON_SHORT_CODE";
-default: return "<unknown>";
-}
-}
-
-GSM48__type__of__number::enum_type GSM48__type__of__number::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_TON_UNKNOWN")) return GSM48__TON__UNKNOWN;
-else if (!strcmp(str_par, "GSM48_TON_INTERNATIONAL")) return GSM48__TON__INTERNATIONAL;
-else if (!strcmp(str_par, "GSM48_TON_NATIONAL")) return GSM48__TON__NATIONAL;
-else if (!strcmp(str_par, "GSM48_TON_NETWORK_SPECIFIC")) return GSM48__TON__NETWORK__SPECIFIC;
-else if (!strcmp(str_par, "GSM48_TON_SHORT_CODE")) return GSM48__TON__SHORT__CODE;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__type__of__number::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__type__of__number::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 @MNCC_Types.GSM48_type_of_number.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__type__of__number::enum2int(const GSM48__type__of__number& 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 @MNCC_Types.GSM48_type_of_number.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__type__of__number::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_type_of_number.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__type__of__number::operator GSM48__type__of__number::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_type_of_number.");
-return enum_value;
-}
-
-void GSM48__type__of__number::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 GSM48__type__of__number::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", "@MNCC_Types.GSM48_type_of_number");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_type_of_number.");
- }
-}
-
-void GSM48__type__of__number::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__type__of__number::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 @MNCC_Types.GSM48_type_of_number.", enum_value);
-}
-
-void GSM48__type__of__number::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__type__of__number::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__type__of__number::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__type__of__number::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__type__of__number_template::copy_template(const GSM48__type__of__number_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__type__of__number_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_type_of_number.");
-}
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template()
-{
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__type__of__number::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_type_of_number with unknown numeric value %d.", other_value);
-single_value = (GSM48__type__of__number::enum_type)other_value;
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(GSM48__type__of__number::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(const GSM48__type__of__number& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__type__of__number::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number.");
-single_value = other_value.enum_value;
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(const OPTIONAL<GSM48__type__of__number>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__type__of__number::enum_type)(const GSM48__type__of__number&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_type_of_number from an unbound optional field.");
-}
-}
-
-GSM48__type__of__number_template::GSM48__type__of__number_template(const GSM48__type__of__number_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__type__of__number_template::~GSM48__type__of__number_template()
-{
-clean_up();
-}
-
-boolean GSM48__type__of__number_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__type__of__number_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__type__of__number::UNBOUND_VALUE;
-}
-
-void GSM48__type__of__number_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(int other_value)
-{
-if (!GSM48__type__of__number::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_type_of_number.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__type__of__number::enum_type)other_value;
-return *this;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(GSM48__type__of__number::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(const GSM48__type__of__number& other_value)
-{
-if (other_value.enum_value == GSM48__type__of__number::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_type_of_number to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(const OPTIONAL<GSM48__type__of__number>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__type__of__number::enum_type)(const GSM48__type__of__number&)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 @MNCC_Types.GSM48_type_of_number.");
-}
-return *this;
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::operator=(const GSM48__type__of__number_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__type__of__number_template::match(GSM48__type__of__number::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_type_of_number.");
-}
-return FALSE;
-}
-
-boolean GSM48__type__of__number_template::match(const GSM48__type__of__number& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__type__of__number::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_type_of_number with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__type__of__number::enum_type GSM48__type__of__number_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 @MNCC_Types.GSM48_type_of_number.");
-return single_value;
-}
-
-void GSM48__type__of__number_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_type_of_number.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__type__of__number_template[list_length];
-}
-
-GSM48__type__of__number_template& GSM48__type__of__number_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_type_of_number.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_type_of_number.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__type__of__number_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__type__of__number::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__type__of__number_template::log_match(const GSM48__type__of__number& 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 GSM48__type__of__number_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 @MNCC_Types.GSM48_type_of_number.");
-}
-}
-
-void GSM48__type__of__number_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__type__of__number::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__type__of__number::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_type_of_number.", 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 GSM48__type__of__number_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 @MNCC_Types.GSM48_type_of_number.");
-}
-}
-
-boolean GSM48__type__of__number_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__type__of__number_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__type__of__number_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__type__of__number_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__type__of__number::enum_type enum_val = GSM48__type__of__number::str_to_enum(m_p->get_enumerated());
- if (!GSM48__type__of__number::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_type_of_number.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_type_of_number");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__type__of__number_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 : "@MNCC_Types.GSM48_type_of_number");
-}
-
-GSM48__num__plan__ind::GSM48__num__plan__ind()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__num__plan__ind::GSM48__num__plan__ind(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_num_plan_ind with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__num__plan__ind::GSM48__num__plan__ind(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__num__plan__ind::GSM48__num__plan__ind(const GSM48__num__plan__ind& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__num__plan__ind& GSM48__num__plan__ind::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_num_plan_ind.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__num__plan__ind& GSM48__num__plan__ind::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__num__plan__ind& GSM48__num__plan__ind::operator=(const GSM48__num__plan__ind& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__num__plan__ind::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 @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value == other_value;
-}
-
-boolean GSM48__num__plan__ind::operator==(const GSM48__num__plan__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__num__plan__ind::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 @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value < other_value;
-}
-
-boolean GSM48__num__plan__ind::operator<(const GSM48__num__plan__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__num__plan__ind::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 @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value > other_value;
-}
-
-boolean GSM48__num__plan__ind::operator>(const GSM48__num__plan__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__num__plan__ind::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__NUMPLAN__UNKNOWN: return "GSM48_NUMPLAN_UNKNOWN";
-case GSM48__NUMPLAN__E164: return "GSM48_NUMPLAN_E164";
-case GSM48__NUMPLAN__X121: return "GSM48_NUMPLAN_X121";
-case GSM48__NUMPLAN__F69: return "GSM48_NUMPLAN_F69";
-case GSM48__NUMPLAN__NATIONAL: return "GSM48_NUMPLAN_NATIONAL";
-case GSM48__NUMPLAN__PRIVATE: return "GSM48_NUMPLAN_PRIVATE";
-case GSM48__NUMPLAN__CTS: return "GSM48_NUMPLAN_CTS";
-case GSM48__NUMPLAN__RESERVED: return "GSM48_NUMPLAN_RESERVED";
-default: return "<unknown>";
-}
-}
-
-GSM48__num__plan__ind::enum_type GSM48__num__plan__ind::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_NUMPLAN_UNKNOWN")) return GSM48__NUMPLAN__UNKNOWN;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_E164")) return GSM48__NUMPLAN__E164;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_X121")) return GSM48__NUMPLAN__X121;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_F69")) return GSM48__NUMPLAN__F69;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_NATIONAL")) return GSM48__NUMPLAN__NATIONAL;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_PRIVATE")) return GSM48__NUMPLAN__PRIVATE;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_CTS")) return GSM48__NUMPLAN__CTS;
-else if (!strcmp(str_par, "GSM48_NUMPLAN_RESERVED")) return GSM48__NUMPLAN__RESERVED;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__num__plan__ind::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 3:
-case 4:
-case 8:
-case 9:
-case 11:
-case 15:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__num__plan__ind::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 @MNCC_Types.GSM48_num_plan_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__num__plan__ind::enum2int(const GSM48__num__plan__ind& 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 @MNCC_Types.GSM48_num_plan_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__num__plan__ind::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_num_plan_ind.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__num__plan__ind::operator GSM48__num__plan__ind::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-return enum_value;
-}
-
-void GSM48__num__plan__ind::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 GSM48__num__plan__ind::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", "@MNCC_Types.GSM48_num_plan_ind");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_num_plan_ind.");
- }
-}
-
-void GSM48__num__plan__ind::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__num__plan__ind::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 @MNCC_Types.GSM48_num_plan_ind.", enum_value);
-}
-
-void GSM48__num__plan__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__num__plan__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__num__plan__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__num__plan__ind::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void GSM48__num__plan__ind_template::copy_template(const GSM48__num__plan__ind_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__num__plan__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-}
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template()
-{
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__num__plan__ind::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_num_plan_ind with unknown numeric value %d.", other_value);
-single_value = (GSM48__num__plan__ind::enum_type)other_value;
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(GSM48__num__plan__ind::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(const GSM48__num__plan__ind& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__num__plan__ind::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-single_value = other_value.enum_value;
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(const OPTIONAL<GSM48__num__plan__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__num__plan__ind::enum_type)(const GSM48__num__plan__ind&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_num_plan_ind from an unbound optional field.");
-}
-}
-
-GSM48__num__plan__ind_template::GSM48__num__plan__ind_template(const GSM48__num__plan__ind_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__num__plan__ind_template::~GSM48__num__plan__ind_template()
-{
-clean_up();
-}
-
-boolean GSM48__num__plan__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__num__plan__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__num__plan__ind::UNBOUND_VALUE;
-}
-
-void GSM48__num__plan__ind_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(int other_value)
-{
-if (!GSM48__num__plan__ind::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_num_plan_ind.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__num__plan__ind::enum_type)other_value;
-return *this;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(GSM48__num__plan__ind::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(const GSM48__num__plan__ind& other_value)
-{
-if (other_value.enum_value == GSM48__num__plan__ind::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_num_plan_ind to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(const OPTIONAL<GSM48__num__plan__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__num__plan__ind::enum_type)(const GSM48__num__plan__ind&)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 @MNCC_Types.GSM48_num_plan_ind.");
-}
-return *this;
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::operator=(const GSM48__num__plan__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__num__plan__ind_template::match(GSM48__num__plan__ind::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-}
-return FALSE;
-}
-
-boolean GSM48__num__plan__ind_template::match(const GSM48__num__plan__ind& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__num__plan__ind::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_num_plan_ind with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__num__plan__ind::enum_type GSM48__num__plan__ind_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 @MNCC_Types.GSM48_num_plan_ind.");
-return single_value;
-}
-
-void GSM48__num__plan__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__num__plan__ind_template[list_length];
-}
-
-GSM48__num__plan__ind_template& GSM48__num__plan__ind_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_num_plan_ind.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__num__plan__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__num__plan__ind::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__num__plan__ind_template::log_match(const GSM48__num__plan__ind& 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 GSM48__num__plan__ind_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 @MNCC_Types.GSM48_num_plan_ind.");
-}
-}
-
-void GSM48__num__plan__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__num__plan__ind::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__num__plan__ind::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_num_plan_ind.", 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 GSM48__num__plan__ind_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 @MNCC_Types.GSM48_num_plan_ind.");
-}
-}
-
-boolean GSM48__num__plan__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__num__plan__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__num__plan__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__num__plan__ind_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__num__plan__ind::enum_type enum_val = GSM48__num__plan__ind::str_to_enum(m_p->get_enumerated());
- if (!GSM48__num__plan__ind::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_num_plan_ind.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_num_plan_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__num__plan__ind_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 : "@MNCC_Types.GSM48_num_plan_ind");
-}
-
-GSM48__present__ind::GSM48__present__ind()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__present__ind::GSM48__present__ind(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_present_ind with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__present__ind::GSM48__present__ind(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__present__ind::GSM48__present__ind(const GSM48__present__ind& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__present__ind& GSM48__present__ind::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_present_ind.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__present__ind& GSM48__present__ind::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__present__ind& GSM48__present__ind::operator=(const GSM48__present__ind& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__present__ind::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 @MNCC_Types.GSM48_present_ind.");
-return enum_value == other_value;
-}
-
-boolean GSM48__present__ind::operator==(const GSM48__present__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__present__ind::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 @MNCC_Types.GSM48_present_ind.");
-return enum_value < other_value;
-}
-
-boolean GSM48__present__ind::operator<(const GSM48__present__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__present__ind::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 @MNCC_Types.GSM48_present_ind.");
-return enum_value > other_value;
-}
-
-boolean GSM48__present__ind::operator>(const GSM48__present__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__present__ind::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__PRES__IND__ALLOWED: return "GSM48_PRES_IND_ALLOWED";
-case GSM48__PRES__IND__RESTRICTED: return "GSM48_PRES_IND_RESTRICTED";
-case GSM48__PRES__IND__NUM__NOT__AVAIL: return "GSM48_PRES_IND_NUM_NOT_AVAIL";
-case GSM48__PRES__IND__RESERVED: return "GSM48_PRES_IND_RESERVED";
-default: return "<unknown>";
-}
-}
-
-GSM48__present__ind::enum_type GSM48__present__ind::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_PRES_IND_ALLOWED")) return GSM48__PRES__IND__ALLOWED;
-else if (!strcmp(str_par, "GSM48_PRES_IND_RESTRICTED")) return GSM48__PRES__IND__RESTRICTED;
-else if (!strcmp(str_par, "GSM48_PRES_IND_NUM_NOT_AVAIL")) return GSM48__PRES__IND__NUM__NOT__AVAIL;
-else if (!strcmp(str_par, "GSM48_PRES_IND_RESERVED")) return GSM48__PRES__IND__RESERVED;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__present__ind::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__present__ind::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 @MNCC_Types.GSM48_present_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__present__ind::enum2int(const GSM48__present__ind& 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 @MNCC_Types.GSM48_present_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__present__ind::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_present_ind.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__present__ind::operator GSM48__present__ind::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_present_ind.");
-return enum_value;
-}
-
-void GSM48__present__ind::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 GSM48__present__ind::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", "@MNCC_Types.GSM48_present_ind");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_present_ind.");
- }
-}
-
-void GSM48__present__ind::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__present__ind::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 @MNCC_Types.GSM48_present_ind.", enum_value);
-}
-
-void GSM48__present__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__present__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__present__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__present__ind::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__present__ind_template::copy_template(const GSM48__present__ind_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__present__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_present_ind.");
-}
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template()
-{
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__present__ind::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_present_ind with unknown numeric value %d.", other_value);
-single_value = (GSM48__present__ind::enum_type)other_value;
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(GSM48__present__ind::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(const GSM48__present__ind& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__present__ind::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_present_ind.");
-single_value = other_value.enum_value;
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(const OPTIONAL<GSM48__present__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__present__ind::enum_type)(const GSM48__present__ind&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_present_ind from an unbound optional field.");
-}
-}
-
-GSM48__present__ind_template::GSM48__present__ind_template(const GSM48__present__ind_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__present__ind_template::~GSM48__present__ind_template()
-{
-clean_up();
-}
-
-boolean GSM48__present__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__present__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__present__ind::UNBOUND_VALUE;
-}
-
-void GSM48__present__ind_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(int other_value)
-{
-if (!GSM48__present__ind::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_present_ind.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__present__ind::enum_type)other_value;
-return *this;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(GSM48__present__ind::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(const GSM48__present__ind& other_value)
-{
-if (other_value.enum_value == GSM48__present__ind::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_present_ind to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(const OPTIONAL<GSM48__present__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__present__ind::enum_type)(const GSM48__present__ind&)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 @MNCC_Types.GSM48_present_ind.");
-}
-return *this;
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::operator=(const GSM48__present__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__present__ind_template::match(GSM48__present__ind::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_present_ind.");
-}
-return FALSE;
-}
-
-boolean GSM48__present__ind_template::match(const GSM48__present__ind& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__present__ind::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_present_ind with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__present__ind::enum_type GSM48__present__ind_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 @MNCC_Types.GSM48_present_ind.");
-return single_value;
-}
-
-void GSM48__present__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_present_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__present__ind_template[list_length];
-}
-
-GSM48__present__ind_template& GSM48__present__ind_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_present_ind.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_present_ind.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__present__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__present__ind::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__present__ind_template::log_match(const GSM48__present__ind& 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 GSM48__present__ind_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 @MNCC_Types.GSM48_present_ind.");
-}
-}
-
-void GSM48__present__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__present__ind::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__present__ind::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_present_ind.", 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 GSM48__present__ind_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 @MNCC_Types.GSM48_present_ind.");
-}
-}
-
-boolean GSM48__present__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__present__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__present__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__present__ind_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__present__ind::enum_type enum_val = GSM48__present__ind::str_to_enum(m_p->get_enumerated());
- if (!GSM48__present__ind::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_present_ind.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_present_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__present__ind_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 : "@MNCC_Types.GSM48_present_ind");
-}
-
-GSM48__screening__ind::GSM48__screening__ind()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__screening__ind::GSM48__screening__ind(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_screening_ind with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__screening__ind::GSM48__screening__ind(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__screening__ind::GSM48__screening__ind(const GSM48__screening__ind& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__screening__ind& GSM48__screening__ind::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_screening_ind.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__screening__ind& GSM48__screening__ind::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__screening__ind& GSM48__screening__ind::operator=(const GSM48__screening__ind& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__screening__ind::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 @MNCC_Types.GSM48_screening_ind.");
-return enum_value == other_value;
-}
-
-boolean GSM48__screening__ind::operator==(const GSM48__screening__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__screening__ind::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 @MNCC_Types.GSM48_screening_ind.");
-return enum_value < other_value;
-}
-
-boolean GSM48__screening__ind::operator<(const GSM48__screening__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__screening__ind::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 @MNCC_Types.GSM48_screening_ind.");
-return enum_value > other_value;
-}
-
-boolean GSM48__screening__ind::operator>(const GSM48__screening__ind& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__screening__ind::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__SCR__IND__NOT__SCREENED: return "GSM48_SCR_IND_NOT_SCREENED";
-case GSM48__SCR__IND__VERIF__PASSED: return "GSM48_SCR_IND_VERIF_PASSED";
-case GSM48__SCR__IND__VERIF__FAILED: return "GSM48_SCR_IND_VERIF_FAILED";
-case GSM48__SCR__IND__NETW__PROVIDED: return "GSM48_SCR_IND_NETW_PROVIDED";
-default: return "<unknown>";
-}
-}
-
-GSM48__screening__ind::enum_type GSM48__screening__ind::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_SCR_IND_NOT_SCREENED")) return GSM48__SCR__IND__NOT__SCREENED;
-else if (!strcmp(str_par, "GSM48_SCR_IND_VERIF_PASSED")) return GSM48__SCR__IND__VERIF__PASSED;
-else if (!strcmp(str_par, "GSM48_SCR_IND_VERIF_FAILED")) return GSM48__SCR__IND__VERIF__FAILED;
-else if (!strcmp(str_par, "GSM48_SCR_IND_NETW_PROVIDED")) return GSM48__SCR__IND__NETW__PROVIDED;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__screening__ind::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__screening__ind::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 @MNCC_Types.GSM48_screening_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__screening__ind::enum2int(const GSM48__screening__ind& 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 @MNCC_Types.GSM48_screening_ind.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__screening__ind::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_screening_ind.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__screening__ind::operator GSM48__screening__ind::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_screening_ind.");
-return enum_value;
-}
-
-void GSM48__screening__ind::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 GSM48__screening__ind::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", "@MNCC_Types.GSM48_screening_ind");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_screening_ind.");
- }
-}
-
-void GSM48__screening__ind::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__screening__ind::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 @MNCC_Types.GSM48_screening_ind.", enum_value);
-}
-
-void GSM48__screening__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__screening__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__screening__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__screening__ind::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__screening__ind_template::copy_template(const GSM48__screening__ind_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__screening__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_screening_ind.");
-}
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template()
-{
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__screening__ind::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_screening_ind with unknown numeric value %d.", other_value);
-single_value = (GSM48__screening__ind::enum_type)other_value;
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(GSM48__screening__ind::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(const GSM48__screening__ind& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__screening__ind::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind.");
-single_value = other_value.enum_value;
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(const OPTIONAL<GSM48__screening__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__screening__ind::enum_type)(const GSM48__screening__ind&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_screening_ind from an unbound optional field.");
-}
-}
-
-GSM48__screening__ind_template::GSM48__screening__ind_template(const GSM48__screening__ind_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__screening__ind_template::~GSM48__screening__ind_template()
-{
-clean_up();
-}
-
-boolean GSM48__screening__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__screening__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__screening__ind::UNBOUND_VALUE;
-}
-
-void GSM48__screening__ind_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(int other_value)
-{
-if (!GSM48__screening__ind::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_screening_ind.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__screening__ind::enum_type)other_value;
-return *this;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(GSM48__screening__ind::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(const GSM48__screening__ind& other_value)
-{
-if (other_value.enum_value == GSM48__screening__ind::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_screening_ind to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(const OPTIONAL<GSM48__screening__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__screening__ind::enum_type)(const GSM48__screening__ind&)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 @MNCC_Types.GSM48_screening_ind.");
-}
-return *this;
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::operator=(const GSM48__screening__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__screening__ind_template::match(GSM48__screening__ind::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_screening_ind.");
-}
-return FALSE;
-}
-
-boolean GSM48__screening__ind_template::match(const GSM48__screening__ind& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__screening__ind::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_screening_ind with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__screening__ind::enum_type GSM48__screening__ind_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 @MNCC_Types.GSM48_screening_ind.");
-return single_value;
-}
-
-void GSM48__screening__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_screening_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__screening__ind_template[list_length];
-}
-
-GSM48__screening__ind_template& GSM48__screening__ind_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_screening_ind.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_screening_ind.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__screening__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__screening__ind::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__screening__ind_template::log_match(const GSM48__screening__ind& 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 GSM48__screening__ind_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 @MNCC_Types.GSM48_screening_ind.");
-}
-}
-
-void GSM48__screening__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__screening__ind::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__screening__ind::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_screening_ind.", 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 GSM48__screening__ind_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 @MNCC_Types.GSM48_screening_ind.");
-}
-}
-
-boolean GSM48__screening__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__screening__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__screening__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__screening__ind_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__screening__ind::enum_type enum_val = GSM48__screening__ind::str_to_enum(m_p->get_enumerated());
- if (!GSM48__screening__ind::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_screening_ind.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_screening_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__screening__ind_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 : "@MNCC_Types.GSM48_screening_ind");
-}
-
-MNCC__number::MNCC__number()
-{
-}
-
-MNCC__number::MNCC__number(const GSM48__type__of__number& par_number__type,
- const GSM48__num__plan__ind& par_plan,
- const GSM48__present__ind& par_presence,
- const GSM48__screening__ind& par_screen,
- const CHARSTRING& par_number)
- : field_number__type(par_number__type),
- field_plan(par_plan),
- field_presence(par_presence),
- field_screen(par_screen),
- field_number(par_number)
-{
-}
-
-MNCC__number::MNCC__number(const MNCC__number& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_number.");
-if (other_value.number__type().is_bound()) field_number__type = other_value.number__type();
-else field_number__type.clean_up();
-if (other_value.plan().is_bound()) field_plan = other_value.plan();
-else field_plan.clean_up();
-if (other_value.presence().is_bound()) field_presence = other_value.presence();
-else field_presence.clean_up();
-if (other_value.screen().is_bound()) field_screen = other_value.screen();
-else field_screen.clean_up();
-if (other_value.number().is_bound()) field_number = other_value.number();
-else field_number.clean_up();
-}
-
-void MNCC__number::clean_up()
-{
-field_number__type.clean_up();
-field_plan.clean_up();
-field_presence.clean_up();
-field_screen.clean_up();
-field_number.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__number::get_descriptor() const { return &MNCC__number_descr_; }
-MNCC__number& MNCC__number::operator=(const MNCC__number& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_number.");
- if (other_value.number__type().is_bound()) field_number__type = other_value.number__type();
- else field_number__type.clean_up();
- if (other_value.plan().is_bound()) field_plan = other_value.plan();
- else field_plan.clean_up();
- if (other_value.presence().is_bound()) field_presence = other_value.presence();
- else field_presence.clean_up();
- if (other_value.screen().is_bound()) field_screen = other_value.screen();
- else field_screen.clean_up();
- if (other_value.number().is_bound()) field_number = other_value.number();
- else field_number.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__number::operator==(const MNCC__number& other_value) const
-{
-return field_number__type==other_value.field_number__type
- && field_plan==other_value.field_plan
- && field_presence==other_value.field_presence
- && field_screen==other_value.field_screen
- && field_number==other_value.field_number;
-}
-
-boolean MNCC__number::is_bound() const
-{
-if(field_number__type.is_bound()) return TRUE;
-if(field_plan.is_bound()) return TRUE;
-if(field_presence.is_bound()) return TRUE;
-if(field_screen.is_bound()) return TRUE;
-if(field_number.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__number::is_value() const
-{
-if(!field_number__type.is_value()) return FALSE;
-if(!field_plan.is_value()) return FALSE;
-if(!field_presence.is_value()) return FALSE;
-if(!field_screen.is_value()) return FALSE;
-if(!field_number.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__number::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ number_type := ");
-field_number__type.log();
-TTCN_Logger::log_event_str(", plan := ");
-field_plan.log();
-TTCN_Logger::log_event_str(", presence := ");
-field_presence.log();
-TTCN_Logger::log_event_str(", screen := ");
-field_screen.log();
-TTCN_Logger::log_event_str(", number := ");
-field_number.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__number::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_number has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) number__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) plan().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) presence().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) screen().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) number().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "number_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- number__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "plan")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- plan().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "presence")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- presence().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "screen")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- screen().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "number")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- number().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_number: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_number");
- }
-}
-
-void MNCC__number::set_implicit_omit()
-{
-if (number__type().is_bound()) number__type().set_implicit_omit();
-if (plan().is_bound()) plan().set_implicit_omit();
-if (presence().is_bound()) presence().set_implicit_omit();
-if (screen().is_bound()) screen().set_implicit_omit();
-if (number().is_bound()) number().set_implicit_omit();
-}
-
-void MNCC__number::encode_text(Text_Buf& text_buf) const
-{
-field_number__type.encode_text(text_buf);
-field_plan.encode_text(text_buf);
-field_presence.encode_text(text_buf);
-field_screen.encode_text(text_buf);
-field_number.encode_text(text_buf);
-}
-
-void MNCC__number::decode_text(Text_Buf& text_buf)
-{
-field_number__type.decode_text(text_buf);
-field_plan.decode_text(text_buf);
-field_presence.decode_text(text_buf);
-field_screen.decode_text(text_buf);
-field_number.decode_text(text_buf);
-}
-
-void MNCC__number::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__number::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__number::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__number_number__type_descr_.raw->forceomit);
- decoded_field_length = field_number__type.RAW_decode(MNCC__number_number__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__number_plan_descr_.raw->forceomit);
- decoded_field_length = field_plan.RAW_decode(MNCC__number_plan_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__number_presence_descr_.raw->forceomit);
- decoded_field_length = field_presence.RAW_decode(MNCC__number_presence_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__number_screen_descr_.raw->forceomit);
- decoded_field_length = field_screen.RAW_decode(MNCC__number_screen_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__number_number_descr_.raw->forceomit);
- decoded_field_length = field_number.RAW_decode(MNCC__number_number_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__number::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 5;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(5);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__number_number__type_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__number_plan_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__number_presence_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__number_screen_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__number_number_descr_.raw);
- encoded_length += field_number__type.RAW_encode(MNCC__number_number__type_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_plan.RAW_encode(MNCC__number_plan_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_presence.RAW_encode(MNCC__number_presence_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_screen.RAW_encode(MNCC__number_screen_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_number.RAW_encode(MNCC__number_number_descr_, *myleaf.body.node.nodes[4]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__number_template::single_value_struct {
-GSM48__type__of__number_template field_number__type;
-GSM48__num__plan__ind_template field_plan;
-GSM48__present__ind_template field_presence;
-GSM48__screening__ind_template field_screen;
-CHARSTRING_template field_number;
-};
-
-void MNCC__number_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_number__type = ANY_VALUE;
-single_value->field_plan = ANY_VALUE;
-single_value->field_presence = ANY_VALUE;
-single_value->field_screen = ANY_VALUE;
-single_value->field_number = ANY_VALUE;
-}
-}
-}
-
-void MNCC__number_template::copy_value(const MNCC__number& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.number__type().is_bound()) {
- single_value->field_number__type = other_value.number__type();
-} else {
- single_value->field_number__type.clean_up();
-}
-if (other_value.plan().is_bound()) {
- single_value->field_plan = other_value.plan();
-} else {
- single_value->field_plan.clean_up();
-}
-if (other_value.presence().is_bound()) {
- single_value->field_presence = other_value.presence();
-} else {
- single_value->field_presence.clean_up();
-}
-if (other_value.screen().is_bound()) {
- single_value->field_screen = other_value.screen();
-} else {
- single_value->field_screen.clean_up();
-}
-if (other_value.number().is_bound()) {
- single_value->field_number = other_value.number();
-} else {
- single_value->field_number.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__number_template::copy_template(const MNCC__number_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.number__type().get_selection()) {
-single_value->field_number__type = other_value.number__type();
-} else {
-single_value->field_number__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.plan().get_selection()) {
-single_value->field_plan = other_value.plan();
-} else {
-single_value->field_plan.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.presence().get_selection()) {
-single_value->field_presence = other_value.presence();
-} else {
-single_value->field_presence.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.screen().get_selection()) {
-single_value->field_screen = other_value.screen();
-} else {
-single_value->field_screen.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.number().get_selection()) {
-single_value->field_number = other_value.number();
-} else {
-single_value->field_number.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__number_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_number.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__number_template::MNCC__number_template()
-{
-}
-
-MNCC__number_template::MNCC__number_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__number_template::MNCC__number_template(const MNCC__number& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__number_template::MNCC__number_template(const OPTIONAL<MNCC__number>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__number&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_number from an unbound optional field.");
-}
-}
-
-MNCC__number_template::MNCC__number_template(const MNCC__number_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__number_template::~MNCC__number_template()
-{
-clean_up();
-}
-
-MNCC__number_template& MNCC__number_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__number_template& MNCC__number_template::operator=(const MNCC__number& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__number_template& MNCC__number_template::operator=(const OPTIONAL<MNCC__number>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__number&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_number.");
-}
-return *this;
-}
-
-MNCC__number_template& MNCC__number_template::operator=(const MNCC__number_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__number_template::match(const MNCC__number& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.number__type().is_bound()) return FALSE;
-if(!single_value->field_number__type.match(other_value.number__type(), legacy))return FALSE;
-if(!other_value.plan().is_bound()) return FALSE;
-if(!single_value->field_plan.match(other_value.plan(), legacy))return FALSE;
-if(!other_value.presence().is_bound()) return FALSE;
-if(!single_value->field_presence.match(other_value.presence(), legacy))return FALSE;
-if(!other_value.screen().is_bound()) return FALSE;
-if(!single_value->field_screen.match(other_value.screen(), legacy))return FALSE;
-if(!other_value.number().is_bound()) return FALSE;
-if(!single_value->field_number.match(other_value.number(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_number.");
-}
-return FALSE;
-}
-
-boolean MNCC__number_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_number__type.is_bound()) return TRUE;
-if (single_value->field_plan.is_bound()) return TRUE;
-if (single_value->field_presence.is_bound()) return TRUE;
-if (single_value->field_screen.is_bound()) return TRUE;
-if (single_value->field_number.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__number_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_number__type.is_value()) return FALSE;
-if (!single_value->field_plan.is_value()) return FALSE;
-if (!single_value->field_presence.is_value()) return FALSE;
-if (!single_value->field_screen.is_value()) return FALSE;
-if (!single_value->field_number.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__number_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__number MNCC__number_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_number.");
-MNCC__number ret_val;
-if (single_value->field_number__type.is_bound()) {
-ret_val.number__type() = single_value->field_number__type.valueof();
-}
-if (single_value->field_plan.is_bound()) {
-ret_val.plan() = single_value->field_plan.valueof();
-}
-if (single_value->field_presence.is_bound()) {
-ret_val.presence() = single_value->field_presence.valueof();
-}
-if (single_value->field_screen.is_bound()) {
-ret_val.screen() = single_value->field_screen.valueof();
-}
-if (single_value->field_number.is_bound()) {
-ret_val.number() = single_value->field_number.valueof();
-}
-return ret_val;
-}
-
-void MNCC__number_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_number.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__number_template[list_length];
-}
-
-MNCC__number_template& MNCC__number_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_number.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_number.");
-return value_list.list_value[list_index];
-}
-
-GSM48__type__of__number_template& MNCC__number_template::number__type()
-{
-set_specific();
-return single_value->field_number__type;
-}
-
-const GSM48__type__of__number_template& MNCC__number_template::number__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field number_type of a non-specific template of type @MNCC_Types.MNCC_number.");
-return single_value->field_number__type;
-}
-
-GSM48__num__plan__ind_template& MNCC__number_template::plan()
-{
-set_specific();
-return single_value->field_plan;
-}
-
-const GSM48__num__plan__ind_template& MNCC__number_template::plan() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field plan of a non-specific template of type @MNCC_Types.MNCC_number.");
-return single_value->field_plan;
-}
-
-GSM48__present__ind_template& MNCC__number_template::presence()
-{
-set_specific();
-return single_value->field_presence;
-}
-
-const GSM48__present__ind_template& MNCC__number_template::presence() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field presence of a non-specific template of type @MNCC_Types.MNCC_number.");
-return single_value->field_presence;
-}
-
-GSM48__screening__ind_template& MNCC__number_template::screen()
-{
-set_specific();
-return single_value->field_screen;
-}
-
-const GSM48__screening__ind_template& MNCC__number_template::screen() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field screen of a non-specific template of type @MNCC_Types.MNCC_number.");
-return single_value->field_screen;
-}
-
-CHARSTRING_template& MNCC__number_template::number()
-{
-set_specific();
-return single_value->field_number;
-}
-
-const CHARSTRING_template& MNCC__number_template::number() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field number of a non-specific template of type @MNCC_Types.MNCC_number.");
-return single_value->field_number;
-}
-
-int MNCC__number_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 5;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_number containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_number.");
- }
- return 0;
-}
-
-void MNCC__number_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ number_type := ");
-single_value->field_number__type.log();
-TTCN_Logger::log_event_str(", plan := ");
-single_value->field_plan.log();
-TTCN_Logger::log_event_str(", presence := ");
-single_value->field_presence.log();
-TTCN_Logger::log_event_str(", screen := ");
-single_value->field_screen.log();
-TTCN_Logger::log_event_str(", number := ");
-single_value->field_number.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__number_template::log_match(const MNCC__number& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_number__type.match(match_value.number__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".number_type");
-single_value->field_number__type.log_match(match_value.number__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_plan.match(match_value.plan(), legacy)){
-TTCN_Logger::log_logmatch_info(".plan");
-single_value->field_plan.log_match(match_value.plan(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_presence.match(match_value.presence(), legacy)){
-TTCN_Logger::log_logmatch_info(".presence");
-single_value->field_presence.log_match(match_value.presence(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_screen.match(match_value.screen(), legacy)){
-TTCN_Logger::log_logmatch_info(".screen");
-single_value->field_screen.log_match(match_value.screen(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_number.match(match_value.number(), legacy)){
-TTCN_Logger::log_logmatch_info(".number");
-single_value->field_number.log_match(match_value.number(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ number_type := ");
-single_value->field_number__type.log_match(match_value.number__type(), legacy);
-TTCN_Logger::log_event_str(", plan := ");
-single_value->field_plan.log_match(match_value.plan(), legacy);
-TTCN_Logger::log_event_str(", presence := ");
-single_value->field_presence.log_match(match_value.presence(), legacy);
-TTCN_Logger::log_event_str(", screen := ");
-single_value->field_screen.log_match(match_value.screen(), legacy);
-TTCN_Logger::log_event_str(", number := ");
-single_value->field_number.log_match(match_value.number(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__number_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_number__type.encode_text(text_buf);
-single_value->field_plan.encode_text(text_buf);
-single_value->field_presence.encode_text(text_buf);
-single_value->field_screen.encode_text(text_buf);
-single_value->field_number.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_number.");
-}
-}
-
-void MNCC__number_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_number__type.decode_text(text_buf);
-single_value->field_plan.decode_text(text_buf);
-single_value->field_presence.decode_text(text_buf);
-single_value->field_screen.decode_text(text_buf);
-single_value->field_number.decode_text(text_buf);
-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 MNCC__number_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_number.");
-}
-}
-
-void MNCC__number_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__number_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_number has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) number__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) plan().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) presence().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) screen().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) number().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "number_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- number__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "plan")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- plan().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "presence")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- presence().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "screen")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- screen().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "number")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- number().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_number: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_number");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__number_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_number__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_number");
-single_value->field_plan.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_number");
-single_value->field_presence.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_number");
-single_value->field_screen.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_number");
-single_value->field_number.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_number");
-return;
-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 : "@MNCC_Types.MNCC_number");
-}
-
-boolean MNCC__number_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__number_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-GSM48__cause__coding::GSM48__cause__coding()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__cause__coding::GSM48__cause__coding(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_cause_coding with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__cause__coding::GSM48__cause__coding(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__cause__coding::GSM48__cause__coding(const GSM48__cause__coding& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__cause__coding& GSM48__cause__coding::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_cause_coding.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__cause__coding& GSM48__cause__coding::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__cause__coding& GSM48__cause__coding::operator=(const GSM48__cause__coding& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__cause__coding::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 @MNCC_Types.GSM48_cause_coding.");
-return enum_value == other_value;
-}
-
-boolean GSM48__cause__coding::operator==(const GSM48__cause__coding& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__cause__coding::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 @MNCC_Types.GSM48_cause_coding.");
-return enum_value < other_value;
-}
-
-boolean GSM48__cause__coding::operator<(const GSM48__cause__coding& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__cause__coding::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 @MNCC_Types.GSM48_cause_coding.");
-return enum_value > other_value;
-}
-
-boolean GSM48__cause__coding::operator>(const GSM48__cause__coding& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__cause__coding::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__CAUSE__CS__Q931: return "GSM48_CAUSE_CS_Q931";
-case GSM48__CAUSE__CS__RSVD: return "GSM48_CAUSE_CS_RSVD";
-case GSM48__CAUSE__CS__NATIONAL: return "GSM48_CAUSE_CS_NATIONAL";
-case GSM48__CAUSE__CS__GSM: return "GSM48_CAUSE_CS_GSM";
-default: return "<unknown>";
-}
-}
-
-GSM48__cause__coding::enum_type GSM48__cause__coding::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_CAUSE_CS_Q931")) return GSM48__CAUSE__CS__Q931;
-else if (!strcmp(str_par, "GSM48_CAUSE_CS_RSVD")) return GSM48__CAUSE__CS__RSVD;
-else if (!strcmp(str_par, "GSM48_CAUSE_CS_NATIONAL")) return GSM48__CAUSE__CS__NATIONAL;
-else if (!strcmp(str_par, "GSM48_CAUSE_CS_GSM")) return GSM48__CAUSE__CS__GSM;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__cause__coding::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__cause__coding::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 @MNCC_Types.GSM48_cause_coding.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__cause__coding::enum2int(const GSM48__cause__coding& 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 @MNCC_Types.GSM48_cause_coding.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__cause__coding::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_cause_coding.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__cause__coding::operator GSM48__cause__coding::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_cause_coding.");
-return enum_value;
-}
-
-void GSM48__cause__coding::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 GSM48__cause__coding::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", "@MNCC_Types.GSM48_cause_coding");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_cause_coding.");
- }
-}
-
-void GSM48__cause__coding::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__cause__coding::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 @MNCC_Types.GSM48_cause_coding.", enum_value);
-}
-
-void GSM48__cause__coding::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__cause__coding::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__cause__coding::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__cause__coding::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void GSM48__cause__coding_template::copy_template(const GSM48__cause__coding_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__cause__coding_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_cause_coding.");
-}
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template()
-{
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__cause__coding::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_cause_coding with unknown numeric value %d.", other_value);
-single_value = (GSM48__cause__coding::enum_type)other_value;
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(GSM48__cause__coding::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(const GSM48__cause__coding& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__cause__coding::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding.");
-single_value = other_value.enum_value;
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(const OPTIONAL<GSM48__cause__coding>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__coding::enum_type)(const GSM48__cause__coding&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_cause_coding from an unbound optional field.");
-}
-}
-
-GSM48__cause__coding_template::GSM48__cause__coding_template(const GSM48__cause__coding_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__cause__coding_template::~GSM48__cause__coding_template()
-{
-clean_up();
-}
-
-boolean GSM48__cause__coding_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__cause__coding_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__cause__coding::UNBOUND_VALUE;
-}
-
-void GSM48__cause__coding_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(int other_value)
-{
-if (!GSM48__cause__coding::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_cause_coding.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__coding::enum_type)other_value;
-return *this;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(GSM48__cause__coding::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(const GSM48__cause__coding& other_value)
-{
-if (other_value.enum_value == GSM48__cause__coding::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_cause_coding to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(const OPTIONAL<GSM48__cause__coding>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__coding::enum_type)(const GSM48__cause__coding&)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 @MNCC_Types.GSM48_cause_coding.");
-}
-return *this;
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::operator=(const GSM48__cause__coding_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__cause__coding_template::match(GSM48__cause__coding::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_cause_coding.");
-}
-return FALSE;
-}
-
-boolean GSM48__cause__coding_template::match(const GSM48__cause__coding& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__cause__coding::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_cause_coding with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__cause__coding::enum_type GSM48__cause__coding_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 @MNCC_Types.GSM48_cause_coding.");
-return single_value;
-}
-
-void GSM48__cause__coding_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_cause_coding.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__cause__coding_template[list_length];
-}
-
-GSM48__cause__coding_template& GSM48__cause__coding_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_cause_coding.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_cause_coding.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__cause__coding_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__cause__coding::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__cause__coding_template::log_match(const GSM48__cause__coding& 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 GSM48__cause__coding_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 @MNCC_Types.GSM48_cause_coding.");
-}
-}
-
-void GSM48__cause__coding_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__cause__coding::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__cause__coding::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_cause_coding.", 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 GSM48__cause__coding_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 @MNCC_Types.GSM48_cause_coding.");
-}
-}
-
-boolean GSM48__cause__coding_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__cause__coding_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__cause__coding_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__cause__coding_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__cause__coding::enum_type enum_val = GSM48__cause__coding::str_to_enum(m_p->get_enumerated());
- if (!GSM48__cause__coding::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_cause_coding.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_cause_coding");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__cause__coding_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 : "@MNCC_Types.GSM48_cause_coding");
-}
-
-GSM48__cause__loc::GSM48__cause__loc()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-GSM48__cause__loc::GSM48__cause__loc(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.GSM48_cause_loc with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-GSM48__cause__loc::GSM48__cause__loc(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-GSM48__cause__loc::GSM48__cause__loc(const GSM48__cause__loc& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-enum_value = other_value.enum_value;
-}
-
-GSM48__cause__loc& GSM48__cause__loc::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_cause_loc.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-GSM48__cause__loc& GSM48__cause__loc::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-GSM48__cause__loc& GSM48__cause__loc::operator=(const GSM48__cause__loc& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean GSM48__cause__loc::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 @MNCC_Types.GSM48_cause_loc.");
-return enum_value == other_value;
-}
-
-boolean GSM48__cause__loc::operator==(const GSM48__cause__loc& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-return enum_value == other_value.enum_value;
-}
-
-boolean GSM48__cause__loc::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 @MNCC_Types.GSM48_cause_loc.");
-return enum_value < other_value;
-}
-
-boolean GSM48__cause__loc::operator<(const GSM48__cause__loc& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-return enum_value < other_value.enum_value;
-}
-
-boolean GSM48__cause__loc::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 @MNCC_Types.GSM48_cause_loc.");
-return enum_value > other_value;
-}
-
-boolean GSM48__cause__loc::operator>(const GSM48__cause__loc& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-return enum_value > other_value.enum_value;
-}
-
-const char *GSM48__cause__loc::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM48__CAUSE__LOC__USER: return "GSM48_CAUSE_LOC_USER";
-case GSM48__CAUSE__LOC__PRN__S__LU: return "GSM48_CAUSE_LOC_PRN_S_LU";
-case GSM48__CAUSE__LOC__PUN__S__LU: return "GSM48_CAUSE_LOC_PUN_S_LU";
-case GSM48__CAUSE__LOC__TRANS__NET: return "GSM48_CAUSE_LOC_TRANS_NET";
-case GSM48__CAUSE__LOC__PUN__S__RU: return "GSM48_CAUSE_LOC_PUN_S_RU";
-case GSM48__CAUSE__LOC__PRN__S__RU: return "GSM48_CAUSE_LOC_PRN_S_RU";
-case GSM48__CAUSE__LOC__INN__NET: return "GSM48_CAUSE_LOC_INN_NET";
-case GSM48__CAUSE__LOC__NET__BEYOND: return "GSM48_CAUSE_LOC_NET_BEYOND";
-default: return "<unknown>";
-}
-}
-
-GSM48__cause__loc::enum_type GSM48__cause__loc::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM48_CAUSE_LOC_USER")) return GSM48__CAUSE__LOC__USER;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_PRN_S_LU")) return GSM48__CAUSE__LOC__PRN__S__LU;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_PUN_S_LU")) return GSM48__CAUSE__LOC__PUN__S__LU;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_TRANS_NET")) return GSM48__CAUSE__LOC__TRANS__NET;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_PUN_S_RU")) return GSM48__CAUSE__LOC__PUN__S__RU;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_PRN_S_RU")) return GSM48__CAUSE__LOC__PRN__S__RU;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_INN_NET")) return GSM48__CAUSE__LOC__INN__NET;
-else if (!strcmp(str_par, "GSM48_CAUSE_LOC_NET_BEYOND")) return GSM48__CAUSE__LOC__NET__BEYOND;
-else return UNKNOWN_VALUE;
-}
-
-boolean GSM48__cause__loc::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 7:
-case 10:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int GSM48__cause__loc::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 @MNCC_Types.GSM48_cause_loc.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int GSM48__cause__loc::enum2int(const GSM48__cause__loc& 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 @MNCC_Types.GSM48_cause_loc.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void GSM48__cause__loc::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.GSM48_cause_loc.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-GSM48__cause__loc::operator GSM48__cause__loc::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.GSM48_cause_loc.");
-return enum_value;
-}
-
-void GSM48__cause__loc::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 GSM48__cause__loc::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", "@MNCC_Types.GSM48_cause_loc");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_cause_loc.");
- }
-}
-
-void GSM48__cause__loc::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-text_buf.push_int(enum_value);
-}
-
-void GSM48__cause__loc::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 @MNCC_Types.GSM48_cause_loc.", enum_value);
-}
-
-void GSM48__cause__loc::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void GSM48__cause__loc::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int GSM48__cause__loc::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int GSM48__cause__loc::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void GSM48__cause__loc_template::copy_template(const GSM48__cause__loc_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new GSM48__cause__loc_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_cause_loc.");
-}
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template()
-{
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!GSM48__cause__loc::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.GSM48_cause_loc with unknown numeric value %d.", other_value);
-single_value = (GSM48__cause__loc::enum_type)other_value;
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(GSM48__cause__loc::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(const GSM48__cause__loc& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == GSM48__cause__loc::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc.");
-single_value = other_value.enum_value;
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(const OPTIONAL<GSM48__cause__loc>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__loc::enum_type)(const GSM48__cause__loc&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.GSM48_cause_loc from an unbound optional field.");
-}
-}
-
-GSM48__cause__loc_template::GSM48__cause__loc_template(const GSM48__cause__loc_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-GSM48__cause__loc_template::~GSM48__cause__loc_template()
-{
-clean_up();
-}
-
-boolean GSM48__cause__loc_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean GSM48__cause__loc_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != GSM48__cause__loc::UNBOUND_VALUE;
-}
-
-void GSM48__cause__loc_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(int other_value)
-{
-if (!GSM48__cause__loc::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.GSM48_cause_loc.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__loc::enum_type)other_value;
-return *this;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(GSM48__cause__loc::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(const GSM48__cause__loc& other_value)
-{
-if (other_value.enum_value == GSM48__cause__loc::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.GSM48_cause_loc to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(const OPTIONAL<GSM48__cause__loc>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (GSM48__cause__loc::enum_type)(const GSM48__cause__loc&)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 @MNCC_Types.GSM48_cause_loc.");
-}
-return *this;
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::operator=(const GSM48__cause__loc_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean GSM48__cause__loc_template::match(GSM48__cause__loc::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.GSM48_cause_loc.");
-}
-return FALSE;
-}
-
-boolean GSM48__cause__loc_template::match(const GSM48__cause__loc& other_value, boolean) const
-{
-if (other_value.enum_value == GSM48__cause__loc::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.GSM48_cause_loc with an unbound value.");
-return match(other_value.enum_value);
-}
-
-GSM48__cause__loc::enum_type GSM48__cause__loc_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 @MNCC_Types.GSM48_cause_loc.");
-return single_value;
-}
-
-void GSM48__cause__loc_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.GSM48_cause_loc.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new GSM48__cause__loc_template[list_length];
-}
-
-GSM48__cause__loc_template& GSM48__cause__loc_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.GSM48_cause_loc.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.GSM48_cause_loc.");
-return value_list.list_value[list_index];
-}
-
-void GSM48__cause__loc_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(GSM48__cause__loc::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void GSM48__cause__loc_template::log_match(const GSM48__cause__loc& 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 GSM48__cause__loc_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 @MNCC_Types.GSM48_cause_loc.");
-}
-}
-
-void GSM48__cause__loc_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (GSM48__cause__loc::enum_type)text_buf.pull_int().get_val();
-if (!GSM48__cause__loc::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.GSM48_cause_loc.", 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 GSM48__cause__loc_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 @MNCC_Types.GSM48_cause_loc.");
-}
-}
-
-boolean GSM48__cause__loc_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean GSM48__cause__loc_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void GSM48__cause__loc_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- GSM48__cause__loc_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- GSM48__cause__loc::enum_type enum_val = GSM48__cause__loc::str_to_enum(m_p->get_enumerated());
- if (!GSM48__cause__loc::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.GSM48_cause_loc.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.GSM48_cause_loc");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void GSM48__cause__loc_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 : "@MNCC_Types.GSM48_cause_loc");
-}
-
-MNCC__cause::MNCC__cause()
-{
-}
-
-MNCC__cause::MNCC__cause(const GSM48__cause__loc& par_location,
- const GSM48__cause__coding& par_coding,
- const INTEGER& par_rec,
- const INTEGER& par_rec__val,
- const INTEGER& par_val,
- const OCTETSTRING& par_diag)
- : field_location(par_location),
- field_coding(par_coding),
- field_rec(par_rec),
- field_rec__val(par_rec__val),
- field_val(par_val),
- field_diag(par_diag)
-{
-}
-
-MNCC__cause::MNCC__cause(const MNCC__cause& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_cause.");
-if (other_value.location().is_bound()) field_location = other_value.location();
-else field_location.clean_up();
-if (other_value.coding().is_bound()) field_coding = other_value.coding();
-else field_coding.clean_up();
-if (other_value.rec().is_bound()) field_rec = other_value.rec();
-else field_rec.clean_up();
-if (other_value.rec__val().is_bound()) field_rec__val = other_value.rec__val();
-else field_rec__val.clean_up();
-if (other_value.val().is_bound()) field_val = other_value.val();
-else field_val.clean_up();
-if (other_value.diag().is_bound()) field_diag = other_value.diag();
-else field_diag.clean_up();
-}
-
-void MNCC__cause::clean_up()
-{
-field_location.clean_up();
-field_coding.clean_up();
-field_rec.clean_up();
-field_rec__val.clean_up();
-field_val.clean_up();
-field_diag.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__cause::get_descriptor() const { return &MNCC__cause_descr_; }
-MNCC__cause& MNCC__cause::operator=(const MNCC__cause& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_cause.");
- if (other_value.location().is_bound()) field_location = other_value.location();
- else field_location.clean_up();
- if (other_value.coding().is_bound()) field_coding = other_value.coding();
- else field_coding.clean_up();
- if (other_value.rec().is_bound()) field_rec = other_value.rec();
- else field_rec.clean_up();
- if (other_value.rec__val().is_bound()) field_rec__val = other_value.rec__val();
- else field_rec__val.clean_up();
- if (other_value.val().is_bound()) field_val = other_value.val();
- else field_val.clean_up();
- if (other_value.diag().is_bound()) field_diag = other_value.diag();
- else field_diag.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__cause::operator==(const MNCC__cause& other_value) const
-{
-return field_location==other_value.field_location
- && field_coding==other_value.field_coding
- && field_rec==other_value.field_rec
- && field_rec__val==other_value.field_rec__val
- && field_val==other_value.field_val
- && field_diag==other_value.field_diag;
-}
-
-boolean MNCC__cause::is_bound() const
-{
-if(field_location.is_bound()) return TRUE;
-if(field_coding.is_bound()) return TRUE;
-if(field_rec.is_bound()) return TRUE;
-if(field_rec__val.is_bound()) return TRUE;
-if(field_val.is_bound()) return TRUE;
-if(field_diag.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__cause::is_value() const
-{
-if(!field_location.is_value()) return FALSE;
-if(!field_coding.is_value()) return FALSE;
-if(!field_rec.is_value()) return FALSE;
-if(!field_rec__val.is_value()) return FALSE;
-if(!field_val.is_value()) return FALSE;
-if(!field_diag.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__cause::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ location := ");
-field_location.log();
-TTCN_Logger::log_event_str(", coding := ");
-field_coding.log();
-TTCN_Logger::log_event_str(", rec := ");
-field_rec.log();
-TTCN_Logger::log_event_str(", rec_val := ");
-field_rec__val.log();
-TTCN_Logger::log_event_str(", val := ");
-field_val.log();
-TTCN_Logger::log_event_str(", diag := ");
-field_diag.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__cause::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (6<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_cause has 6 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) location().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) rec().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) rec__val().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) val().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) diag().set_param(*param.get_elem(5));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "location")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- location().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rec")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rec().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rec_val")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rec__val().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "val")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- val().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "diag")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- diag().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_cause: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_cause");
- }
-}
-
-void MNCC__cause::set_implicit_omit()
-{
-if (location().is_bound()) location().set_implicit_omit();
-if (coding().is_bound()) coding().set_implicit_omit();
-if (rec().is_bound()) rec().set_implicit_omit();
-if (rec__val().is_bound()) rec__val().set_implicit_omit();
-if (val().is_bound()) val().set_implicit_omit();
-if (diag().is_bound()) diag().set_implicit_omit();
-}
-
-void MNCC__cause::encode_text(Text_Buf& text_buf) const
-{
-field_location.encode_text(text_buf);
-field_coding.encode_text(text_buf);
-field_rec.encode_text(text_buf);
-field_rec__val.encode_text(text_buf);
-field_val.encode_text(text_buf);
-field_diag.encode_text(text_buf);
-}
-
-void MNCC__cause::decode_text(Text_Buf& text_buf)
-{
-field_location.decode_text(text_buf);
-field_coding.decode_text(text_buf);
-field_rec.decode_text(text_buf);
-field_rec__val.decode_text(text_buf);
-field_val.decode_text(text_buf);
-field_diag.decode_text(text_buf);
-}
-
-void MNCC__cause::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__cause::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__cause::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__cause_location_descr_.raw->forceomit);
- decoded_field_length = field_location.RAW_decode(MNCC__cause_location_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__cause_coding_descr_.raw->forceomit);
- decoded_field_length = field_coding.RAW_decode(MNCC__cause_coding_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__cause_rec_descr_.raw->forceomit);
- decoded_field_length = field_rec.RAW_decode(MNCC__cause_rec_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__cause_rec__val_descr_.raw->forceomit);
- decoded_field_length = field_rec__val.RAW_decode(MNCC__cause_rec__val_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__cause_val_descr_.raw->forceomit);
- decoded_field_length = field_val.RAW_decode(MNCC__cause_val_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, MNCC__cause_diag_descr_.raw->forceomit);
- decoded_field_length = field_diag.RAW_decode(MNCC__cause_diag_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__cause::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 6;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(6);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__cause_location_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__cause_coding_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__cause_rec_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__cause_rec__val_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__cause_val_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, MNCC__cause_diag_descr_.raw);
- encoded_length += field_location.RAW_encode(MNCC__cause_location_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_coding.RAW_encode(MNCC__cause_coding_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_rec.RAW_encode(MNCC__cause_rec_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_rec__val.RAW_encode(MNCC__cause_rec__val_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_val.RAW_encode(MNCC__cause_val_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_diag.RAW_encode(MNCC__cause_diag_descr_, *myleaf.body.node.nodes[5]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__cause_template::single_value_struct {
-GSM48__cause__loc_template field_location;
-GSM48__cause__coding_template field_coding;
-INTEGER_template field_rec;
-INTEGER_template field_rec__val;
-INTEGER_template field_val;
-OCTETSTRING_template field_diag;
-};
-
-void MNCC__cause_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_location = ANY_VALUE;
-single_value->field_coding = ANY_VALUE;
-single_value->field_rec = ANY_VALUE;
-single_value->field_rec__val = ANY_VALUE;
-single_value->field_val = ANY_VALUE;
-single_value->field_diag = ANY_VALUE;
-}
-}
-}
-
-void MNCC__cause_template::copy_value(const MNCC__cause& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.location().is_bound()) {
- single_value->field_location = other_value.location();
-} else {
- single_value->field_location.clean_up();
-}
-if (other_value.coding().is_bound()) {
- single_value->field_coding = other_value.coding();
-} else {
- single_value->field_coding.clean_up();
-}
-if (other_value.rec().is_bound()) {
- single_value->field_rec = other_value.rec();
-} else {
- single_value->field_rec.clean_up();
-}
-if (other_value.rec__val().is_bound()) {
- single_value->field_rec__val = other_value.rec__val();
-} else {
- single_value->field_rec__val.clean_up();
-}
-if (other_value.val().is_bound()) {
- single_value->field_val = other_value.val();
-} else {
- single_value->field_val.clean_up();
-}
-if (other_value.diag().is_bound()) {
- single_value->field_diag = other_value.diag();
-} else {
- single_value->field_diag.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__cause_template::copy_template(const MNCC__cause_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.location().get_selection()) {
-single_value->field_location = other_value.location();
-} else {
-single_value->field_location.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.coding().get_selection()) {
-single_value->field_coding = other_value.coding();
-} else {
-single_value->field_coding.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rec().get_selection()) {
-single_value->field_rec = other_value.rec();
-} else {
-single_value->field_rec.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rec__val().get_selection()) {
-single_value->field_rec__val = other_value.rec__val();
-} else {
-single_value->field_rec__val.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.val().get_selection()) {
-single_value->field_val = other_value.val();
-} else {
-single_value->field_val.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.diag().get_selection()) {
-single_value->field_diag = other_value.diag();
-} else {
-single_value->field_diag.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__cause_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_cause.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__cause_template::MNCC__cause_template()
-{
-}
-
-MNCC__cause_template::MNCC__cause_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__cause_template::MNCC__cause_template(const MNCC__cause& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__cause_template::MNCC__cause_template(const OPTIONAL<MNCC__cause>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__cause&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_cause from an unbound optional field.");
-}
-}
-
-MNCC__cause_template::MNCC__cause_template(const MNCC__cause_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__cause_template::~MNCC__cause_template()
-{
-clean_up();
-}
-
-MNCC__cause_template& MNCC__cause_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__cause_template& MNCC__cause_template::operator=(const MNCC__cause& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__cause_template& MNCC__cause_template::operator=(const OPTIONAL<MNCC__cause>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__cause&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_cause.");
-}
-return *this;
-}
-
-MNCC__cause_template& MNCC__cause_template::operator=(const MNCC__cause_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__cause_template::match(const MNCC__cause& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.location().is_bound()) return FALSE;
-if(!single_value->field_location.match(other_value.location(), legacy))return FALSE;
-if(!other_value.coding().is_bound()) return FALSE;
-if(!single_value->field_coding.match(other_value.coding(), legacy))return FALSE;
-if(!other_value.rec().is_bound()) return FALSE;
-if(!single_value->field_rec.match(other_value.rec(), legacy))return FALSE;
-if(!other_value.rec__val().is_bound()) return FALSE;
-if(!single_value->field_rec__val.match(other_value.rec__val(), legacy))return FALSE;
-if(!other_value.val().is_bound()) return FALSE;
-if(!single_value->field_val.match(other_value.val(), legacy))return FALSE;
-if(!other_value.diag().is_bound()) return FALSE;
-if(!single_value->field_diag.match(other_value.diag(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_cause.");
-}
-return FALSE;
-}
-
-boolean MNCC__cause_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_location.is_bound()) return TRUE;
-if (single_value->field_coding.is_bound()) return TRUE;
-if (single_value->field_rec.is_bound()) return TRUE;
-if (single_value->field_rec__val.is_bound()) return TRUE;
-if (single_value->field_val.is_bound()) return TRUE;
-if (single_value->field_diag.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__cause_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_location.is_value()) return FALSE;
-if (!single_value->field_coding.is_value()) return FALSE;
-if (!single_value->field_rec.is_value()) return FALSE;
-if (!single_value->field_rec__val.is_value()) return FALSE;
-if (!single_value->field_val.is_value()) return FALSE;
-if (!single_value->field_diag.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__cause_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__cause MNCC__cause_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_cause.");
-MNCC__cause ret_val;
-if (single_value->field_location.is_bound()) {
-ret_val.location() = single_value->field_location.valueof();
-}
-if (single_value->field_coding.is_bound()) {
-ret_val.coding() = single_value->field_coding.valueof();
-}
-if (single_value->field_rec.is_bound()) {
-ret_val.rec() = single_value->field_rec.valueof();
-}
-if (single_value->field_rec__val.is_bound()) {
-ret_val.rec__val() = single_value->field_rec__val.valueof();
-}
-if (single_value->field_val.is_bound()) {
-ret_val.val() = single_value->field_val.valueof();
-}
-if (single_value->field_diag.is_bound()) {
-ret_val.diag() = single_value->field_diag.valueof();
-}
-return ret_val;
-}
-
-void MNCC__cause_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_cause.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__cause_template[list_length];
-}
-
-MNCC__cause_template& MNCC__cause_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_cause.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_cause.");
-return value_list.list_value[list_index];
-}
-
-GSM48__cause__loc_template& MNCC__cause_template::location()
-{
-set_specific();
-return single_value->field_location;
-}
-
-const GSM48__cause__loc_template& MNCC__cause_template::location() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field location of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_location;
-}
-
-GSM48__cause__coding_template& MNCC__cause_template::coding()
-{
-set_specific();
-return single_value->field_coding;
-}
-
-const GSM48__cause__coding_template& MNCC__cause_template::coding() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field coding of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_coding;
-}
-
-INTEGER_template& MNCC__cause_template::rec()
-{
-set_specific();
-return single_value->field_rec;
-}
-
-const INTEGER_template& MNCC__cause_template::rec() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rec of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_rec;
-}
-
-INTEGER_template& MNCC__cause_template::rec__val()
-{
-set_specific();
-return single_value->field_rec__val;
-}
-
-const INTEGER_template& MNCC__cause_template::rec__val() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rec_val of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_rec__val;
-}
-
-INTEGER_template& MNCC__cause_template::val()
-{
-set_specific();
-return single_value->field_val;
-}
-
-const INTEGER_template& MNCC__cause_template::val() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field val of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_val;
-}
-
-OCTETSTRING_template& MNCC__cause_template::diag()
-{
-set_specific();
-return single_value->field_diag;
-}
-
-const OCTETSTRING_template& MNCC__cause_template::diag() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field diag of a non-specific template of type @MNCC_Types.MNCC_cause.");
-return single_value->field_diag;
-}
-
-int MNCC__cause_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 6;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cause containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_cause.");
- }
- return 0;
-}
-
-void MNCC__cause_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ location := ");
-single_value->field_location.log();
-TTCN_Logger::log_event_str(", coding := ");
-single_value->field_coding.log();
-TTCN_Logger::log_event_str(", rec := ");
-single_value->field_rec.log();
-TTCN_Logger::log_event_str(", rec_val := ");
-single_value->field_rec__val.log();
-TTCN_Logger::log_event_str(", val := ");
-single_value->field_val.log();
-TTCN_Logger::log_event_str(", diag := ");
-single_value->field_diag.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__cause_template::log_match(const MNCC__cause& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_location.match(match_value.location(), legacy)){
-TTCN_Logger::log_logmatch_info(".location");
-single_value->field_location.log_match(match_value.location(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_coding.match(match_value.coding(), legacy)){
-TTCN_Logger::log_logmatch_info(".coding");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rec.match(match_value.rec(), legacy)){
-TTCN_Logger::log_logmatch_info(".rec");
-single_value->field_rec.log_match(match_value.rec(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rec__val.match(match_value.rec__val(), legacy)){
-TTCN_Logger::log_logmatch_info(".rec_val");
-single_value->field_rec__val.log_match(match_value.rec__val(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_val.match(match_value.val(), legacy)){
-TTCN_Logger::log_logmatch_info(".val");
-single_value->field_val.log_match(match_value.val(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_diag.match(match_value.diag(), legacy)){
-TTCN_Logger::log_logmatch_info(".diag");
-single_value->field_diag.log_match(match_value.diag(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ location := ");
-single_value->field_location.log_match(match_value.location(), legacy);
-TTCN_Logger::log_event_str(", coding := ");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::log_event_str(", rec := ");
-single_value->field_rec.log_match(match_value.rec(), legacy);
-TTCN_Logger::log_event_str(", rec_val := ");
-single_value->field_rec__val.log_match(match_value.rec__val(), legacy);
-TTCN_Logger::log_event_str(", val := ");
-single_value->field_val.log_match(match_value.val(), legacy);
-TTCN_Logger::log_event_str(", diag := ");
-single_value->field_diag.log_match(match_value.diag(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__cause_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_location.encode_text(text_buf);
-single_value->field_coding.encode_text(text_buf);
-single_value->field_rec.encode_text(text_buf);
-single_value->field_rec__val.encode_text(text_buf);
-single_value->field_val.encode_text(text_buf);
-single_value->field_diag.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_cause.");
-}
-}
-
-void MNCC__cause_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_location.decode_text(text_buf);
-single_value->field_coding.decode_text(text_buf);
-single_value->field_rec.decode_text(text_buf);
-single_value->field_rec__val.decode_text(text_buf);
-single_value->field_val.decode_text(text_buf);
-single_value->field_diag.decode_text(text_buf);
-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 MNCC__cause_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_cause.");
-}
-}
-
-void MNCC__cause_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__cause_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (6<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_cause has 6 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) location().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) rec().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) rec__val().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) val().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) diag().set_param(*param.get_elem(5));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "location")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- location().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rec")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rec().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rec_val")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rec__val().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "val")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- val().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "diag")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- diag().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_cause: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_cause");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__cause_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_location.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-single_value->field_coding.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-single_value->field_rec.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-single_value->field_rec__val.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-single_value->field_val.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-single_value->field_diag.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cause");
-return;
-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 : "@MNCC_Types.MNCC_cause");
-}
-
-boolean MNCC__cause_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__cause_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__useruser::MNCC__useruser()
-{
-}
-
-MNCC__useruser::MNCC__useruser(const INTEGER& par_proto,
- const CHARSTRING& par_info)
- : field_proto(par_proto),
- field_info(par_info)
-{
-}
-
-MNCC__useruser::MNCC__useruser(const MNCC__useruser& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_useruser.");
-if (other_value.proto().is_bound()) field_proto = other_value.proto();
-else field_proto.clean_up();
-if (other_value.info().is_bound()) field_info = other_value.info();
-else field_info.clean_up();
-}
-
-void MNCC__useruser::clean_up()
-{
-field_proto.clean_up();
-field_info.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__useruser::get_descriptor() const { return &MNCC__useruser_descr_; }
-MNCC__useruser& MNCC__useruser::operator=(const MNCC__useruser& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_useruser.");
- if (other_value.proto().is_bound()) field_proto = other_value.proto();
- else field_proto.clean_up();
- if (other_value.info().is_bound()) field_info = other_value.info();
- else field_info.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__useruser::operator==(const MNCC__useruser& other_value) const
-{
-return field_proto==other_value.field_proto
- && field_info==other_value.field_info;
-}
-
-boolean MNCC__useruser::is_bound() const
-{
-if(field_proto.is_bound()) return TRUE;
-if(field_info.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__useruser::is_value() const
-{
-if(!field_proto.is_value()) return FALSE;
-if(!field_info.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__useruser::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ proto := ");
-field_proto.log();
-TTCN_Logger::log_event_str(", info := ");
-field_info.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__useruser::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_useruser has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) proto().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) info().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "proto")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- proto().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "info")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- info().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_useruser: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_useruser");
- }
-}
-
-void MNCC__useruser::set_implicit_omit()
-{
-if (proto().is_bound()) proto().set_implicit_omit();
-if (info().is_bound()) info().set_implicit_omit();
-}
-
-void MNCC__useruser::encode_text(Text_Buf& text_buf) const
-{
-field_proto.encode_text(text_buf);
-field_info.encode_text(text_buf);
-}
-
-void MNCC__useruser::decode_text(Text_Buf& text_buf)
-{
-field_proto.decode_text(text_buf);
-field_info.decode_text(text_buf);
-}
-
-void MNCC__useruser::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__useruser::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__useruser::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__useruser_proto_descr_.raw->forceomit);
- decoded_field_length = field_proto.RAW_decode(MNCC__useruser_proto_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__useruser_info_descr_.raw->forceomit);
- decoded_field_length = field_info.RAW_decode(MNCC__useruser_info_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__useruser::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__useruser_proto_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__useruser_info_descr_.raw);
- encoded_length += field_proto.RAW_encode(MNCC__useruser_proto_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_info.RAW_encode(MNCC__useruser_info_descr_, *myleaf.body.node.nodes[1]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__useruser_template::single_value_struct {
-INTEGER_template field_proto;
-CHARSTRING_template field_info;
-};
-
-void MNCC__useruser_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_proto = ANY_VALUE;
-single_value->field_info = ANY_VALUE;
-}
-}
-}
-
-void MNCC__useruser_template::copy_value(const MNCC__useruser& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.proto().is_bound()) {
- single_value->field_proto = other_value.proto();
-} else {
- single_value->field_proto.clean_up();
-}
-if (other_value.info().is_bound()) {
- single_value->field_info = other_value.info();
-} else {
- single_value->field_info.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__useruser_template::copy_template(const MNCC__useruser_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.proto().get_selection()) {
-single_value->field_proto = other_value.proto();
-} else {
-single_value->field_proto.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.info().get_selection()) {
-single_value->field_info = other_value.info();
-} else {
-single_value->field_info.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__useruser_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_useruser.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__useruser_template::MNCC__useruser_template()
-{
-}
-
-MNCC__useruser_template::MNCC__useruser_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__useruser_template::MNCC__useruser_template(const MNCC__useruser& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__useruser_template::MNCC__useruser_template(const OPTIONAL<MNCC__useruser>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__useruser&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_useruser from an unbound optional field.");
-}
-}
-
-MNCC__useruser_template::MNCC__useruser_template(const MNCC__useruser_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__useruser_template::~MNCC__useruser_template()
-{
-clean_up();
-}
-
-MNCC__useruser_template& MNCC__useruser_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__useruser_template& MNCC__useruser_template::operator=(const MNCC__useruser& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__useruser_template& MNCC__useruser_template::operator=(const OPTIONAL<MNCC__useruser>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__useruser&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_useruser.");
-}
-return *this;
-}
-
-MNCC__useruser_template& MNCC__useruser_template::operator=(const MNCC__useruser_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__useruser_template::match(const MNCC__useruser& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.proto().is_bound()) return FALSE;
-if(!single_value->field_proto.match(other_value.proto(), legacy))return FALSE;
-if(!other_value.info().is_bound()) return FALSE;
-if(!single_value->field_info.match(other_value.info(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_useruser.");
-}
-return FALSE;
-}
-
-boolean MNCC__useruser_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_proto.is_bound()) return TRUE;
-if (single_value->field_info.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__useruser_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_proto.is_value()) return FALSE;
-if (!single_value->field_info.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__useruser_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__useruser MNCC__useruser_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_useruser.");
-MNCC__useruser ret_val;
-if (single_value->field_proto.is_bound()) {
-ret_val.proto() = single_value->field_proto.valueof();
-}
-if (single_value->field_info.is_bound()) {
-ret_val.info() = single_value->field_info.valueof();
-}
-return ret_val;
-}
-
-void MNCC__useruser_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_useruser.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__useruser_template[list_length];
-}
-
-MNCC__useruser_template& MNCC__useruser_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_useruser.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_useruser.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__useruser_template::proto()
-{
-set_specific();
-return single_value->field_proto;
-}
-
-const INTEGER_template& MNCC__useruser_template::proto() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field proto of a non-specific template of type @MNCC_Types.MNCC_useruser.");
-return single_value->field_proto;
-}
-
-CHARSTRING_template& MNCC__useruser_template::info()
-{
-set_specific();
-return single_value->field_info;
-}
-
-const CHARSTRING_template& MNCC__useruser_template::info() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field info of a non-specific template of type @MNCC_Types.MNCC_useruser.");
-return single_value->field_info;
-}
-
-int MNCC__useruser_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_useruser containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_useruser.");
- }
- return 0;
-}
-
-void MNCC__useruser_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ proto := ");
-single_value->field_proto.log();
-TTCN_Logger::log_event_str(", info := ");
-single_value->field_info.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__useruser_template::log_match(const MNCC__useruser& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_proto.match(match_value.proto(), legacy)){
-TTCN_Logger::log_logmatch_info(".proto");
-single_value->field_proto.log_match(match_value.proto(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_info.match(match_value.info(), legacy)){
-TTCN_Logger::log_logmatch_info(".info");
-single_value->field_info.log_match(match_value.info(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ proto := ");
-single_value->field_proto.log_match(match_value.proto(), legacy);
-TTCN_Logger::log_event_str(", info := ");
-single_value->field_info.log_match(match_value.info(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__useruser_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_proto.encode_text(text_buf);
-single_value->field_info.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_useruser.");
-}
-}
-
-void MNCC__useruser_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_proto.decode_text(text_buf);
-single_value->field_info.decode_text(text_buf);
-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 MNCC__useruser_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_useruser.");
-}
-}
-
-void MNCC__useruser_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__useruser_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_useruser has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) proto().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) info().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "proto")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- proto().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "info")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- info().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_useruser: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_useruser");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__useruser_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_proto.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_useruser");
-single_value->field_info.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_useruser");
-return;
-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 : "@MNCC_Types.MNCC_useruser");
-}
-
-boolean MNCC__useruser_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__useruser_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__progress::MNCC__progress()
-{
-}
-
-MNCC__progress::MNCC__progress(const INTEGER& par_coding,
- const INTEGER& par_location,
- const INTEGER& par_descr)
- : field_coding(par_coding),
- field_location(par_location),
- field_descr(par_descr)
-{
-}
-
-MNCC__progress::MNCC__progress(const MNCC__progress& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_progress.");
-if (other_value.coding().is_bound()) field_coding = other_value.coding();
-else field_coding.clean_up();
-if (other_value.location().is_bound()) field_location = other_value.location();
-else field_location.clean_up();
-if (other_value.descr().is_bound()) field_descr = other_value.descr();
-else field_descr.clean_up();
-}
-
-void MNCC__progress::clean_up()
-{
-field_coding.clean_up();
-field_location.clean_up();
-field_descr.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__progress::get_descriptor() const { return &MNCC__progress_descr_; }
-MNCC__progress& MNCC__progress::operator=(const MNCC__progress& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_progress.");
- if (other_value.coding().is_bound()) field_coding = other_value.coding();
- else field_coding.clean_up();
- if (other_value.location().is_bound()) field_location = other_value.location();
- else field_location.clean_up();
- if (other_value.descr().is_bound()) field_descr = other_value.descr();
- else field_descr.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__progress::operator==(const MNCC__progress& other_value) const
-{
-return field_coding==other_value.field_coding
- && field_location==other_value.field_location
- && field_descr==other_value.field_descr;
-}
-
-boolean MNCC__progress::is_bound() const
-{
-if(field_coding.is_bound()) return TRUE;
-if(field_location.is_bound()) return TRUE;
-if(field_descr.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__progress::is_value() const
-{
-if(!field_coding.is_value()) return FALSE;
-if(!field_location.is_value()) return FALSE;
-if(!field_descr.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__progress::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ coding := ");
-field_coding.log();
-TTCN_Logger::log_event_str(", location := ");
-field_location.log();
-TTCN_Logger::log_event_str(", descr := ");
-field_descr.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__progress::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_progress has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) location().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) descr().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "location")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- location().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "descr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- descr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_progress: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_progress");
- }
-}
-
-void MNCC__progress::set_implicit_omit()
-{
-if (coding().is_bound()) coding().set_implicit_omit();
-if (location().is_bound()) location().set_implicit_omit();
-if (descr().is_bound()) descr().set_implicit_omit();
-}
-
-void MNCC__progress::encode_text(Text_Buf& text_buf) const
-{
-field_coding.encode_text(text_buf);
-field_location.encode_text(text_buf);
-field_descr.encode_text(text_buf);
-}
-
-void MNCC__progress::decode_text(Text_Buf& text_buf)
-{
-field_coding.decode_text(text_buf);
-field_location.decode_text(text_buf);
-field_descr.decode_text(text_buf);
-}
-
-void MNCC__progress::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__progress::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__progress::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__progress_coding_descr_.raw->forceomit);
- decoded_field_length = field_coding.RAW_decode(MNCC__progress_coding_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__progress_location_descr_.raw->forceomit);
- decoded_field_length = field_location.RAW_decode(MNCC__progress_location_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__progress_descr_descr_.raw->forceomit);
- decoded_field_length = field_descr.RAW_decode(MNCC__progress_descr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__progress::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 3;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(3);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__progress_coding_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__progress_location_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__progress_descr_descr_.raw);
- encoded_length += field_coding.RAW_encode(MNCC__progress_coding_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_location.RAW_encode(MNCC__progress_location_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_descr.RAW_encode(MNCC__progress_descr_descr_, *myleaf.body.node.nodes[2]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__progress_template::single_value_struct {
-INTEGER_template field_coding;
-INTEGER_template field_location;
-INTEGER_template field_descr;
-};
-
-void MNCC__progress_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_coding = ANY_VALUE;
-single_value->field_location = ANY_VALUE;
-single_value->field_descr = ANY_VALUE;
-}
-}
-}
-
-void MNCC__progress_template::copy_value(const MNCC__progress& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.coding().is_bound()) {
- single_value->field_coding = other_value.coding();
-} else {
- single_value->field_coding.clean_up();
-}
-if (other_value.location().is_bound()) {
- single_value->field_location = other_value.location();
-} else {
- single_value->field_location.clean_up();
-}
-if (other_value.descr().is_bound()) {
- single_value->field_descr = other_value.descr();
-} else {
- single_value->field_descr.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__progress_template::copy_template(const MNCC__progress_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.coding().get_selection()) {
-single_value->field_coding = other_value.coding();
-} else {
-single_value->field_coding.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.location().get_selection()) {
-single_value->field_location = other_value.location();
-} else {
-single_value->field_location.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.descr().get_selection()) {
-single_value->field_descr = other_value.descr();
-} else {
-single_value->field_descr.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__progress_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_progress.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__progress_template::MNCC__progress_template()
-{
-}
-
-MNCC__progress_template::MNCC__progress_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__progress_template::MNCC__progress_template(const MNCC__progress& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__progress_template::MNCC__progress_template(const OPTIONAL<MNCC__progress>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__progress&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_progress from an unbound optional field.");
-}
-}
-
-MNCC__progress_template::MNCC__progress_template(const MNCC__progress_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__progress_template::~MNCC__progress_template()
-{
-clean_up();
-}
-
-MNCC__progress_template& MNCC__progress_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__progress_template& MNCC__progress_template::operator=(const MNCC__progress& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__progress_template& MNCC__progress_template::operator=(const OPTIONAL<MNCC__progress>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__progress&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_progress.");
-}
-return *this;
-}
-
-MNCC__progress_template& MNCC__progress_template::operator=(const MNCC__progress_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__progress_template::match(const MNCC__progress& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.coding().is_bound()) return FALSE;
-if(!single_value->field_coding.match(other_value.coding(), legacy))return FALSE;
-if(!other_value.location().is_bound()) return FALSE;
-if(!single_value->field_location.match(other_value.location(), legacy))return FALSE;
-if(!other_value.descr().is_bound()) return FALSE;
-if(!single_value->field_descr.match(other_value.descr(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_progress.");
-}
-return FALSE;
-}
-
-boolean MNCC__progress_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_coding.is_bound()) return TRUE;
-if (single_value->field_location.is_bound()) return TRUE;
-if (single_value->field_descr.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__progress_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_coding.is_value()) return FALSE;
-if (!single_value->field_location.is_value()) return FALSE;
-if (!single_value->field_descr.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__progress_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__progress MNCC__progress_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_progress.");
-MNCC__progress ret_val;
-if (single_value->field_coding.is_bound()) {
-ret_val.coding() = single_value->field_coding.valueof();
-}
-if (single_value->field_location.is_bound()) {
-ret_val.location() = single_value->field_location.valueof();
-}
-if (single_value->field_descr.is_bound()) {
-ret_val.descr() = single_value->field_descr.valueof();
-}
-return ret_val;
-}
-
-void MNCC__progress_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_progress.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__progress_template[list_length];
-}
-
-MNCC__progress_template& MNCC__progress_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_progress.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_progress.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__progress_template::coding()
-{
-set_specific();
-return single_value->field_coding;
-}
-
-const INTEGER_template& MNCC__progress_template::coding() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field coding of a non-specific template of type @MNCC_Types.MNCC_progress.");
-return single_value->field_coding;
-}
-
-INTEGER_template& MNCC__progress_template::location()
-{
-set_specific();
-return single_value->field_location;
-}
-
-const INTEGER_template& MNCC__progress_template::location() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field location of a non-specific template of type @MNCC_Types.MNCC_progress.");
-return single_value->field_location;
-}
-
-INTEGER_template& MNCC__progress_template::descr()
-{
-set_specific();
-return single_value->field_descr;
-}
-
-const INTEGER_template& MNCC__progress_template::descr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field descr of a non-specific template of type @MNCC_Types.MNCC_progress.");
-return single_value->field_descr;
-}
-
-int MNCC__progress_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 3;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_progress containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_progress.");
- }
- return 0;
-}
-
-void MNCC__progress_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ coding := ");
-single_value->field_coding.log();
-TTCN_Logger::log_event_str(", location := ");
-single_value->field_location.log();
-TTCN_Logger::log_event_str(", descr := ");
-single_value->field_descr.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__progress_template::log_match(const MNCC__progress& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_coding.match(match_value.coding(), legacy)){
-TTCN_Logger::log_logmatch_info(".coding");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_location.match(match_value.location(), legacy)){
-TTCN_Logger::log_logmatch_info(".location");
-single_value->field_location.log_match(match_value.location(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_descr.match(match_value.descr(), legacy)){
-TTCN_Logger::log_logmatch_info(".descr");
-single_value->field_descr.log_match(match_value.descr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ coding := ");
-single_value->field_coding.log_match(match_value.coding(), legacy);
-TTCN_Logger::log_event_str(", location := ");
-single_value->field_location.log_match(match_value.location(), legacy);
-TTCN_Logger::log_event_str(", descr := ");
-single_value->field_descr.log_match(match_value.descr(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__progress_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_coding.encode_text(text_buf);
-single_value->field_location.encode_text(text_buf);
-single_value->field_descr.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_progress.");
-}
-}
-
-void MNCC__progress_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_coding.decode_text(text_buf);
-single_value->field_location.decode_text(text_buf);
-single_value->field_descr.decode_text(text_buf);
-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 MNCC__progress_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_progress.");
-}
-}
-
-void MNCC__progress_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__progress_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_progress has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) coding().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) location().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) descr().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "coding")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- coding().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "location")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- location().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "descr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- descr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_progress: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_progress");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__progress_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_coding.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_progress");
-single_value->field_location.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_progress");
-single_value->field_descr.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_progress");
-return;
-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 : "@MNCC_Types.MNCC_progress");
-}
-
-boolean MNCC__progress_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__progress_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__cccap::MNCC__cccap()
-{
-}
-
-MNCC__cccap::MNCC__cccap(const INTEGER& par_dtmf,
- const INTEGER& par_pcp)
- : field_dtmf(par_dtmf),
- field_pcp(par_pcp)
-{
-}
-
-MNCC__cccap::MNCC__cccap(const MNCC__cccap& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_cccap.");
-if (other_value.dtmf().is_bound()) field_dtmf = other_value.dtmf();
-else field_dtmf.clean_up();
-if (other_value.pcp().is_bound()) field_pcp = other_value.pcp();
-else field_pcp.clean_up();
-}
-
-void MNCC__cccap::clean_up()
-{
-field_dtmf.clean_up();
-field_pcp.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__cccap::get_descriptor() const { return &MNCC__cccap_descr_; }
-MNCC__cccap& MNCC__cccap::operator=(const MNCC__cccap& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_cccap.");
- if (other_value.dtmf().is_bound()) field_dtmf = other_value.dtmf();
- else field_dtmf.clean_up();
- if (other_value.pcp().is_bound()) field_pcp = other_value.pcp();
- else field_pcp.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__cccap::operator==(const MNCC__cccap& other_value) const
-{
-return field_dtmf==other_value.field_dtmf
- && field_pcp==other_value.field_pcp;
-}
-
-boolean MNCC__cccap::is_bound() const
-{
-if(field_dtmf.is_bound()) return TRUE;
-if(field_pcp.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__cccap::is_value() const
-{
-if(!field_dtmf.is_value()) return FALSE;
-if(!field_pcp.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__cccap::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ dtmf := ");
-field_dtmf.log();
-TTCN_Logger::log_event_str(", pcp := ");
-field_pcp.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__cccap::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_cccap has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) dtmf().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) pcp().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "dtmf")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- dtmf().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pcp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pcp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_cccap: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_cccap");
- }
-}
-
-void MNCC__cccap::set_implicit_omit()
-{
-if (dtmf().is_bound()) dtmf().set_implicit_omit();
-if (pcp().is_bound()) pcp().set_implicit_omit();
-}
-
-void MNCC__cccap::encode_text(Text_Buf& text_buf) const
-{
-field_dtmf.encode_text(text_buf);
-field_pcp.encode_text(text_buf);
-}
-
-void MNCC__cccap::decode_text(Text_Buf& text_buf)
-{
-field_dtmf.decode_text(text_buf);
-field_pcp.decode_text(text_buf);
-}
-
-void MNCC__cccap::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__cccap::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__cccap::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__cccap_dtmf_descr_.raw->forceomit);
- decoded_field_length = field_dtmf.RAW_decode(MNCC__cccap_dtmf_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__cccap_pcp_descr_.raw->forceomit);
- decoded_field_length = field_pcp.RAW_decode(MNCC__cccap_pcp_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__cccap::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__cccap_dtmf_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__cccap_pcp_descr_.raw);
- encoded_length += field_dtmf.RAW_encode(MNCC__cccap_dtmf_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_pcp.RAW_encode(MNCC__cccap_pcp_descr_, *myleaf.body.node.nodes[1]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__cccap_template::single_value_struct {
-INTEGER_template field_dtmf;
-INTEGER_template field_pcp;
-};
-
-void MNCC__cccap_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_dtmf = ANY_VALUE;
-single_value->field_pcp = ANY_VALUE;
-}
-}
-}
-
-void MNCC__cccap_template::copy_value(const MNCC__cccap& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.dtmf().is_bound()) {
- single_value->field_dtmf = other_value.dtmf();
-} else {
- single_value->field_dtmf.clean_up();
-}
-if (other_value.pcp().is_bound()) {
- single_value->field_pcp = other_value.pcp();
-} else {
- single_value->field_pcp.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__cccap_template::copy_template(const MNCC__cccap_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.dtmf().get_selection()) {
-single_value->field_dtmf = other_value.dtmf();
-} else {
-single_value->field_dtmf.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.pcp().get_selection()) {
-single_value->field_pcp = other_value.pcp();
-} else {
-single_value->field_pcp.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__cccap_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_cccap.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__cccap_template::MNCC__cccap_template()
-{
-}
-
-MNCC__cccap_template::MNCC__cccap_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__cccap_template::MNCC__cccap_template(const MNCC__cccap& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__cccap_template::MNCC__cccap_template(const OPTIONAL<MNCC__cccap>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__cccap&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_cccap from an unbound optional field.");
-}
-}
-
-MNCC__cccap_template::MNCC__cccap_template(const MNCC__cccap_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__cccap_template::~MNCC__cccap_template()
-{
-clean_up();
-}
-
-MNCC__cccap_template& MNCC__cccap_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__cccap_template& MNCC__cccap_template::operator=(const MNCC__cccap& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__cccap_template& MNCC__cccap_template::operator=(const OPTIONAL<MNCC__cccap>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__cccap&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_cccap.");
-}
-return *this;
-}
-
-MNCC__cccap_template& MNCC__cccap_template::operator=(const MNCC__cccap_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__cccap_template::match(const MNCC__cccap& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.dtmf().is_bound()) return FALSE;
-if(!single_value->field_dtmf.match(other_value.dtmf(), legacy))return FALSE;
-if(!other_value.pcp().is_bound()) return FALSE;
-if(!single_value->field_pcp.match(other_value.pcp(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_cccap.");
-}
-return FALSE;
-}
-
-boolean MNCC__cccap_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_dtmf.is_bound()) return TRUE;
-if (single_value->field_pcp.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__cccap_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_dtmf.is_value()) return FALSE;
-if (!single_value->field_pcp.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__cccap_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__cccap MNCC__cccap_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_cccap.");
-MNCC__cccap ret_val;
-if (single_value->field_dtmf.is_bound()) {
-ret_val.dtmf() = single_value->field_dtmf.valueof();
-}
-if (single_value->field_pcp.is_bound()) {
-ret_val.pcp() = single_value->field_pcp.valueof();
-}
-return ret_val;
-}
-
-void MNCC__cccap_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_cccap.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__cccap_template[list_length];
-}
-
-MNCC__cccap_template& MNCC__cccap_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_cccap.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_cccap.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__cccap_template::dtmf()
-{
-set_specific();
-return single_value->field_dtmf;
-}
-
-const INTEGER_template& MNCC__cccap_template::dtmf() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field dtmf of a non-specific template of type @MNCC_Types.MNCC_cccap.");
-return single_value->field_dtmf;
-}
-
-INTEGER_template& MNCC__cccap_template::pcp()
-{
-set_specific();
-return single_value->field_pcp;
-}
-
-const INTEGER_template& MNCC__cccap_template::pcp() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field pcp of a non-specific template of type @MNCC_Types.MNCC_cccap.");
-return single_value->field_pcp;
-}
-
-int MNCC__cccap_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_cccap containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_cccap.");
- }
- return 0;
-}
-
-void MNCC__cccap_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ dtmf := ");
-single_value->field_dtmf.log();
-TTCN_Logger::log_event_str(", pcp := ");
-single_value->field_pcp.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__cccap_template::log_match(const MNCC__cccap& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_dtmf.match(match_value.dtmf(), legacy)){
-TTCN_Logger::log_logmatch_info(".dtmf");
-single_value->field_dtmf.log_match(match_value.dtmf(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_pcp.match(match_value.pcp(), legacy)){
-TTCN_Logger::log_logmatch_info(".pcp");
-single_value->field_pcp.log_match(match_value.pcp(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ dtmf := ");
-single_value->field_dtmf.log_match(match_value.dtmf(), legacy);
-TTCN_Logger::log_event_str(", pcp := ");
-single_value->field_pcp.log_match(match_value.pcp(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__cccap_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_dtmf.encode_text(text_buf);
-single_value->field_pcp.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_cccap.");
-}
-}
-
-void MNCC__cccap_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_dtmf.decode_text(text_buf);
-single_value->field_pcp.decode_text(text_buf);
-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 MNCC__cccap_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_cccap.");
-}
-}
-
-void MNCC__cccap_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__cccap_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_cccap has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) dtmf().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) pcp().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "dtmf")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- dtmf().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pcp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pcp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_cccap: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_cccap");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__cccap_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_dtmf.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cccap");
-single_value->field_pcp.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_cccap");
-return;
-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 : "@MNCC_Types.MNCC_cccap");
-}
-
-boolean MNCC__cccap_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__cccap_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__bcap::MNCC__bcap()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-MNCC__bcap::MNCC__bcap(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @MNCC_Types.MNCC_bcap with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-MNCC__bcap::MNCC__bcap(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-MNCC__bcap::MNCC__bcap(const MNCC__bcap& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-enum_value = other_value.enum_value;
-}
-
-MNCC__bcap& MNCC__bcap::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @MNCC_Types.MNCC_bcap.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-MNCC__bcap& MNCC__bcap::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-MNCC__bcap& MNCC__bcap::operator=(const MNCC__bcap& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean MNCC__bcap::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 @MNCC_Types.MNCC_bcap.");
-return enum_value == other_value;
-}
-
-boolean MNCC__bcap::operator==(const MNCC__bcap& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-return enum_value == other_value.enum_value;
-}
-
-boolean MNCC__bcap::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 @MNCC_Types.MNCC_bcap.");
-return enum_value < other_value;
-}
-
-boolean MNCC__bcap::operator<(const MNCC__bcap& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-return enum_value < other_value.enum_value;
-}
-
-boolean MNCC__bcap::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 @MNCC_Types.MNCC_bcap.");
-return enum_value > other_value;
-}
-
-boolean MNCC__bcap::operator>(const MNCC__bcap& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-return enum_value > other_value.enum_value;
-}
-
-const char *MNCC__bcap::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case GSM__MNCC__BCAP__SPEECH: return "GSM_MNCC_BCAP_SPEECH";
-case GSM__MNCC__BCAP__UNR__DIG: return "GSM_MNCC_BCAP_UNR_DIG";
-case GSM__MNCC__BCAP__AUDIO: return "GSM_MNCC_BCAP_AUDIO";
-case GSM__MNCC__BCAP__FAX__G3: return "GSM_MNCC_BCAP_FAX_G3";
-case GSM__MNCC__BCAP__OTHER__ITC: return "GSM_MNCC_BCAP_OTHER_ITC";
-case GSM__MNCC__BCAP__RESERVED: return "GSM_MNCC_BCAP_RESERVED";
-default: return "<unknown>";
-}
-}
-
-MNCC__bcap::enum_type MNCC__bcap::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "GSM_MNCC_BCAP_SPEECH")) return GSM__MNCC__BCAP__SPEECH;
-else if (!strcmp(str_par, "GSM_MNCC_BCAP_UNR_DIG")) return GSM__MNCC__BCAP__UNR__DIG;
-else if (!strcmp(str_par, "GSM_MNCC_BCAP_AUDIO")) return GSM__MNCC__BCAP__AUDIO;
-else if (!strcmp(str_par, "GSM_MNCC_BCAP_FAX_G3")) return GSM__MNCC__BCAP__FAX__G3;
-else if (!strcmp(str_par, "GSM_MNCC_BCAP_OTHER_ITC")) return GSM__MNCC__BCAP__OTHER__ITC;
-else if (!strcmp(str_par, "GSM_MNCC_BCAP_RESERVED")) return GSM__MNCC__BCAP__RESERVED;
-else return UNKNOWN_VALUE;
-}
-
-boolean MNCC__bcap::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 7:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int MNCC__bcap::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 @MNCC_Types.MNCC_bcap.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int MNCC__bcap::enum2int(const MNCC__bcap& 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 @MNCC_Types.MNCC_bcap.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void MNCC__bcap::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @MNCC_Types.MNCC_bcap.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-MNCC__bcap::operator MNCC__bcap::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @MNCC_Types.MNCC_bcap.");
-return enum_value;
-}
-
-void MNCC__bcap::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 MNCC__bcap::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", "@MNCC_Types.MNCC_bcap");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @MNCC_Types.MNCC_bcap.");
- }
-}
-
-void MNCC__bcap::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-text_buf.push_int(enum_value);
-}
-
-void MNCC__bcap::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 @MNCC_Types.MNCC_bcap.", enum_value);
-}
-
-void MNCC__bcap::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__bcap::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__bcap::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int MNCC__bcap::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void MNCC__bcap_template::copy_template(const MNCC__bcap_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__bcap_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @MNCC_Types.MNCC_bcap.");
-}
-}
-
-MNCC__bcap_template::MNCC__bcap_template()
-{
-}
-
-MNCC__bcap_template::MNCC__bcap_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__bcap_template::MNCC__bcap_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!MNCC__bcap::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @MNCC_Types.MNCC_bcap with unknown numeric value %d.", other_value);
-single_value = (MNCC__bcap::enum_type)other_value;
-}
-
-MNCC__bcap_template::MNCC__bcap_template(MNCC__bcap::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-MNCC__bcap_template::MNCC__bcap_template(const MNCC__bcap& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == MNCC__bcap::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @MNCC_Types.MNCC_bcap.");
-single_value = other_value.enum_value;
-}
-
-MNCC__bcap_template::MNCC__bcap_template(const OPTIONAL<MNCC__bcap>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__bcap::enum_type)(const MNCC__bcap&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @MNCC_Types.MNCC_bcap from an unbound optional field.");
-}
-}
-
-MNCC__bcap_template::MNCC__bcap_template(const MNCC__bcap_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__bcap_template::~MNCC__bcap_template()
-{
-clean_up();
-}
-
-boolean MNCC__bcap_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean MNCC__bcap_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != MNCC__bcap::UNBOUND_VALUE;
-}
-
-void MNCC__bcap_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(int other_value)
-{
-if (!MNCC__bcap::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @MNCC_Types.MNCC_bcap.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__bcap::enum_type)other_value;
-return *this;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(MNCC__bcap::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(const MNCC__bcap& other_value)
-{
-if (other_value.enum_value == MNCC__bcap::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @MNCC_Types.MNCC_bcap to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(const OPTIONAL<MNCC__bcap>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (MNCC__bcap::enum_type)(const MNCC__bcap&)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 @MNCC_Types.MNCC_bcap.");
-}
-return *this;
-}
-
-MNCC__bcap_template& MNCC__bcap_template::operator=(const MNCC__bcap_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__bcap_template::match(MNCC__bcap::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @MNCC_Types.MNCC_bcap.");
-}
-return FALSE;
-}
-
-boolean MNCC__bcap_template::match(const MNCC__bcap& other_value, boolean) const
-{
-if (other_value.enum_value == MNCC__bcap::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @MNCC_Types.MNCC_bcap with an unbound value.");
-return match(other_value.enum_value);
-}
-
-MNCC__bcap::enum_type MNCC__bcap_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 @MNCC_Types.MNCC_bcap.");
-return single_value;
-}
-
-void MNCC__bcap_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @MNCC_Types.MNCC_bcap.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__bcap_template[list_length];
-}
-
-MNCC__bcap_template& MNCC__bcap_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @MNCC_Types.MNCC_bcap.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @MNCC_Types.MNCC_bcap.");
-return value_list.list_value[list_index];
-}
-
-void MNCC__bcap_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(MNCC__bcap::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__bcap_template::log_match(const MNCC__bcap& 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 MNCC__bcap_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 @MNCC_Types.MNCC_bcap.");
-}
-}
-
-void MNCC__bcap_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (MNCC__bcap::enum_type)text_buf.pull_int().get_val();
-if (!MNCC__bcap::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @MNCC_Types.MNCC_bcap.", 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 MNCC__bcap_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 @MNCC_Types.MNCC_bcap.");
-}
-}
-
-boolean MNCC__bcap_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__bcap_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void MNCC__bcap_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- MNCC__bcap_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- MNCC__bcap::enum_type enum_val = MNCC__bcap::str_to_enum(m_p->get_enumerated());
- if (!MNCC__bcap::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @MNCC_Types.MNCC_bcap.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@MNCC_Types.MNCC_bcap");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__bcap_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 : "@MNCC_Types.MNCC_bcap");
-}
-
-MNCC__PDU__Signal::MNCC__PDU__Signal()
-{
-}
-
-MNCC__PDU__Signal::MNCC__PDU__Signal(const INTEGER& par_callref,
- const OPTIONAL<MNCC__bearer__cap>& par_bearer__cap,
- const OPTIONAL<MNCC__number>& par_called,
- const OPTIONAL<MNCC__number>& par_calling,
- const OPTIONAL<MNCC__number>& par_redirecting,
- const OPTIONAL<MNCC__number>& par_connected,
- const OPTIONAL<MNCC__cause>& par_cause,
- const OPTIONAL<MNCC__progress>& par_progress,
- const OPTIONAL<MNCC__useruser>& par_useruser,
- const OPTIONAL<CHARSTRING>& par_facility,
- const OPTIONAL<MNCC__cccap>& par_cccap,
- const OPTIONAL<CHARSTRING>& par_ssversion,
- const INTEGER& par_clir__sup,
- const INTEGER& par_clir__inv,
- const OPTIONAL<INTEGER>& par_signal,
- const OPTIONAL<CHARSTRING>& par_keypad,
- const INTEGER& par_more,
- const INTEGER& par_notify,
- const OPTIONAL<INTEGER>& par_emergency,
- const CHARSTRING& par_imsi,
- const INTEGER& par_lchan__type,
- const INTEGER& par_lchan__mode)
- : field_callref(par_callref),
- field_bearer__cap(par_bearer__cap),
- field_called(par_called),
- field_calling(par_calling),
- field_redirecting(par_redirecting),
- field_connected(par_connected),
- field_cause(par_cause),
- field_progress(par_progress),
- field_useruser(par_useruser),
- field_facility(par_facility),
- field_cccap(par_cccap),
- field_ssversion(par_ssversion),
- field_clir__sup(par_clir__sup),
- field_clir__inv(par_clir__inv),
- field_signal(par_signal),
- field_keypad(par_keypad),
- field_more(par_more),
- field_notify(par_notify),
- field_emergency(par_emergency),
- field_imsi(par_imsi),
- field_lchan__type(par_lchan__type),
- field_lchan__mode(par_lchan__mode)
-{
-}
-
-MNCC__PDU__Signal::MNCC__PDU__Signal(const MNCC__PDU__Signal& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_PDU_Signal.");
-if (other_value.callref().is_bound()) field_callref = other_value.callref();
-else field_callref.clean_up();
-if (other_value.bearer__cap().is_bound()) field_bearer__cap = other_value.bearer__cap();
-else field_bearer__cap.clean_up();
-if (other_value.called().is_bound()) field_called = other_value.called();
-else field_called.clean_up();
-if (other_value.calling().is_bound()) field_calling = other_value.calling();
-else field_calling.clean_up();
-if (other_value.redirecting().is_bound()) field_redirecting = other_value.redirecting();
-else field_redirecting.clean_up();
-if (other_value.connected().is_bound()) field_connected = other_value.connected();
-else field_connected.clean_up();
-if (other_value.cause().is_bound()) field_cause = other_value.cause();
-else field_cause.clean_up();
-if (other_value.progress().is_bound()) field_progress = other_value.progress();
-else field_progress.clean_up();
-if (other_value.useruser().is_bound()) field_useruser = other_value.useruser();
-else field_useruser.clean_up();
-if (other_value.facility().is_bound()) field_facility = other_value.facility();
-else field_facility.clean_up();
-if (other_value.cccap().is_bound()) field_cccap = other_value.cccap();
-else field_cccap.clean_up();
-if (other_value.ssversion().is_bound()) field_ssversion = other_value.ssversion();
-else field_ssversion.clean_up();
-if (other_value.clir__sup().is_bound()) field_clir__sup = other_value.clir__sup();
-else field_clir__sup.clean_up();
-if (other_value.clir__inv().is_bound()) field_clir__inv = other_value.clir__inv();
-else field_clir__inv.clean_up();
-if (other_value.signal().is_bound()) field_signal = other_value.signal();
-else field_signal.clean_up();
-if (other_value.keypad().is_bound()) field_keypad = other_value.keypad();
-else field_keypad.clean_up();
-if (other_value.more().is_bound()) field_more = other_value.more();
-else field_more.clean_up();
-if (other_value.notify().is_bound()) field_notify = other_value.notify();
-else field_notify.clean_up();
-if (other_value.emergency().is_bound()) field_emergency = other_value.emergency();
-else field_emergency.clean_up();
-if (other_value.imsi().is_bound()) field_imsi = other_value.imsi();
-else field_imsi.clean_up();
-if (other_value.lchan__type().is_bound()) field_lchan__type = other_value.lchan__type();
-else field_lchan__type.clean_up();
-if (other_value.lchan__mode().is_bound()) field_lchan__mode = other_value.lchan__mode();
-else field_lchan__mode.clean_up();
-}
-
-void MNCC__PDU__Signal::clean_up()
-{
-field_callref.clean_up();
-field_bearer__cap.clean_up();
-field_called.clean_up();
-field_calling.clean_up();
-field_redirecting.clean_up();
-field_connected.clean_up();
-field_cause.clean_up();
-field_progress.clean_up();
-field_useruser.clean_up();
-field_facility.clean_up();
-field_cccap.clean_up();
-field_ssversion.clean_up();
-field_clir__sup.clean_up();
-field_clir__inv.clean_up();
-field_signal.clean_up();
-field_keypad.clean_up();
-field_more.clean_up();
-field_notify.clean_up();
-field_emergency.clean_up();
-field_imsi.clean_up();
-field_lchan__type.clean_up();
-field_lchan__mode.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__PDU__Signal::get_descriptor() const { return &MNCC__PDU__Signal_descr_; }
-MNCC__PDU__Signal& MNCC__PDU__Signal::operator=(const MNCC__PDU__Signal& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_PDU_Signal.");
- if (other_value.callref().is_bound()) field_callref = other_value.callref();
- else field_callref.clean_up();
- if (other_value.bearer__cap().is_bound()) field_bearer__cap = other_value.bearer__cap();
- else field_bearer__cap.clean_up();
- if (other_value.called().is_bound()) field_called = other_value.called();
- else field_called.clean_up();
- if (other_value.calling().is_bound()) field_calling = other_value.calling();
- else field_calling.clean_up();
- if (other_value.redirecting().is_bound()) field_redirecting = other_value.redirecting();
- else field_redirecting.clean_up();
- if (other_value.connected().is_bound()) field_connected = other_value.connected();
- else field_connected.clean_up();
- if (other_value.cause().is_bound()) field_cause = other_value.cause();
- else field_cause.clean_up();
- if (other_value.progress().is_bound()) field_progress = other_value.progress();
- else field_progress.clean_up();
- if (other_value.useruser().is_bound()) field_useruser = other_value.useruser();
- else field_useruser.clean_up();
- if (other_value.facility().is_bound()) field_facility = other_value.facility();
- else field_facility.clean_up();
- if (other_value.cccap().is_bound()) field_cccap = other_value.cccap();
- else field_cccap.clean_up();
- if (other_value.ssversion().is_bound()) field_ssversion = other_value.ssversion();
- else field_ssversion.clean_up();
- if (other_value.clir__sup().is_bound()) field_clir__sup = other_value.clir__sup();
- else field_clir__sup.clean_up();
- if (other_value.clir__inv().is_bound()) field_clir__inv = other_value.clir__inv();
- else field_clir__inv.clean_up();
- if (other_value.signal().is_bound()) field_signal = other_value.signal();
- else field_signal.clean_up();
- if (other_value.keypad().is_bound()) field_keypad = other_value.keypad();
- else field_keypad.clean_up();
- if (other_value.more().is_bound()) field_more = other_value.more();
- else field_more.clean_up();
- if (other_value.notify().is_bound()) field_notify = other_value.notify();
- else field_notify.clean_up();
- if (other_value.emergency().is_bound()) field_emergency = other_value.emergency();
- else field_emergency.clean_up();
- if (other_value.imsi().is_bound()) field_imsi = other_value.imsi();
- else field_imsi.clean_up();
- if (other_value.lchan__type().is_bound()) field_lchan__type = other_value.lchan__type();
- else field_lchan__type.clean_up();
- if (other_value.lchan__mode().is_bound()) field_lchan__mode = other_value.lchan__mode();
- else field_lchan__mode.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__PDU__Signal::operator==(const MNCC__PDU__Signal& other_value) const
-{
-return field_callref==other_value.field_callref
- && field_bearer__cap==other_value.field_bearer__cap
- && field_called==other_value.field_called
- && field_calling==other_value.field_calling
- && field_redirecting==other_value.field_redirecting
- && field_connected==other_value.field_connected
- && field_cause==other_value.field_cause
- && field_progress==other_value.field_progress
- && field_useruser==other_value.field_useruser
- && field_facility==other_value.field_facility
- && field_cccap==other_value.field_cccap
- && field_ssversion==other_value.field_ssversion
- && field_clir__sup==other_value.field_clir__sup
- && field_clir__inv==other_value.field_clir__inv
- && field_signal==other_value.field_signal
- && field_keypad==other_value.field_keypad
- && field_more==other_value.field_more
- && field_notify==other_value.field_notify
- && field_emergency==other_value.field_emergency
- && field_imsi==other_value.field_imsi
- && field_lchan__type==other_value.field_lchan__type
- && field_lchan__mode==other_value.field_lchan__mode;
-}
-
-boolean MNCC__PDU__Signal::is_bound() const
-{
-if(field_callref.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_bearer__cap.get_selection() || field_bearer__cap.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_called.get_selection() || field_called.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_calling.get_selection() || field_calling.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_redirecting.get_selection() || field_redirecting.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_connected.get_selection() || field_connected.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_cause.get_selection() || field_cause.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_progress.get_selection() || field_progress.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_useruser.get_selection() || field_useruser.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_facility.get_selection() || field_facility.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_cccap.get_selection() || field_cccap.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_ssversion.get_selection() || field_ssversion.is_bound()) return TRUE;
-if(field_clir__sup.is_bound()) return TRUE;
-if(field_clir__inv.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_signal.get_selection() || field_signal.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_keypad.get_selection() || field_keypad.is_bound()) return TRUE;
-if(field_more.is_bound()) return TRUE;
-if(field_notify.is_bound()) return TRUE;
-if(OPTIONAL_OMIT == field_emergency.get_selection() || field_emergency.is_bound()) return TRUE;
-if(field_imsi.is_bound()) return TRUE;
-if(field_lchan__type.is_bound()) return TRUE;
-if(field_lchan__mode.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__PDU__Signal::is_value() const
-{
-if(!field_callref.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_bearer__cap.get_selection() && !field_bearer__cap.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_called.get_selection() && !field_called.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_calling.get_selection() && !field_calling.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_redirecting.get_selection() && !field_redirecting.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_connected.get_selection() && !field_connected.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_cause.get_selection() && !field_cause.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_progress.get_selection() && !field_progress.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_useruser.get_selection() && !field_useruser.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_facility.get_selection() && !field_facility.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_cccap.get_selection() && !field_cccap.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_ssversion.get_selection() && !field_ssversion.is_value()) return FALSE;
-if(!field_clir__sup.is_value()) return FALSE;
-if(!field_clir__inv.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_signal.get_selection() && !field_signal.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_keypad.get_selection() && !field_keypad.is_value()) return FALSE;
-if(!field_more.is_value()) return FALSE;
-if(!field_notify.is_value()) return FALSE;
-if(OPTIONAL_OMIT != field_emergency.get_selection() && !field_emergency.is_value()) return FALSE;
-if(!field_imsi.is_value()) return FALSE;
-if(!field_lchan__type.is_value()) return FALSE;
-if(!field_lchan__mode.is_value()) return FALSE;
-return TRUE;
-}
-int MNCC__PDU__Signal::size_of() const
-{
- int ret_val = 8;
- if (field_bearer__cap.ispresent()) ret_val++;
- if (field_called.ispresent()) ret_val++;
- if (field_calling.ispresent()) ret_val++;
- if (field_redirecting.ispresent()) ret_val++;
- if (field_connected.ispresent()) ret_val++;
- if (field_cause.ispresent()) ret_val++;
- if (field_progress.ispresent()) ret_val++;
- if (field_useruser.ispresent()) ret_val++;
- if (field_facility.ispresent()) ret_val++;
- if (field_cccap.ispresent()) ret_val++;
- if (field_ssversion.ispresent()) ret_val++;
- if (field_signal.ispresent()) ret_val++;
- if (field_keypad.ispresent()) ret_val++;
- if (field_emergency.ispresent()) ret_val++;
- return ret_val;
-}
-
-void MNCC__PDU__Signal::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ callref := ");
-field_callref.log();
-TTCN_Logger::log_event_str(", bearer_cap := ");
-field_bearer__cap.log();
-TTCN_Logger::log_event_str(", called := ");
-field_called.log();
-TTCN_Logger::log_event_str(", calling := ");
-field_calling.log();
-TTCN_Logger::log_event_str(", redirecting := ");
-field_redirecting.log();
-TTCN_Logger::log_event_str(", connected := ");
-field_connected.log();
-TTCN_Logger::log_event_str(", cause := ");
-field_cause.log();
-TTCN_Logger::log_event_str(", progress := ");
-field_progress.log();
-TTCN_Logger::log_event_str(", useruser := ");
-field_useruser.log();
-TTCN_Logger::log_event_str(", facility := ");
-field_facility.log();
-TTCN_Logger::log_event_str(", cccap := ");
-field_cccap.log();
-TTCN_Logger::log_event_str(", ssversion := ");
-field_ssversion.log();
-TTCN_Logger::log_event_str(", clir_sup := ");
-field_clir__sup.log();
-TTCN_Logger::log_event_str(", clir_inv := ");
-field_clir__inv.log();
-TTCN_Logger::log_event_str(", signal := ");
-field_signal.log();
-TTCN_Logger::log_event_str(", keypad := ");
-field_keypad.log();
-TTCN_Logger::log_event_str(", more := ");
-field_more.log();
-TTCN_Logger::log_event_str(", notify := ");
-field_notify.log();
-TTCN_Logger::log_event_str(", emergency := ");
-field_emergency.log();
-TTCN_Logger::log_event_str(", imsi := ");
-field_imsi.log();
-TTCN_Logger::log_event_str(", lchan_type := ");
-field_lchan__type.log();
-TTCN_Logger::log_event_str(", lchan_mode := ");
-field_lchan__mode.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__PDU__Signal::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (22<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_PDU_Signal has 22 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) bearer__cap().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) called().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) calling().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) redirecting().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) connected().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) cause().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) progress().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) useruser().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) facility().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) cccap().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) ssversion().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) clir__sup().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) clir__inv().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) signal().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) keypad().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) more().set_param(*param.get_elem(16));
- if (param.get_size()>17 && param.get_elem(17)->get_type()!=Module_Param::MP_NotUsed) notify().set_param(*param.get_elem(17));
- if (param.get_size()>18 && param.get_elem(18)->get_type()!=Module_Param::MP_NotUsed) emergency().set_param(*param.get_elem(18));
- if (param.get_size()>19 && param.get_elem(19)->get_type()!=Module_Param::MP_NotUsed) imsi().set_param(*param.get_elem(19));
- if (param.get_size()>20 && param.get_elem(20)->get_type()!=Module_Param::MP_NotUsed) lchan__type().set_param(*param.get_elem(20));
- if (param.get_size()>21 && param.get_elem(21)->get_type()!=Module_Param::MP_NotUsed) lchan__mode().set_param(*param.get_elem(21));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bearer_cap")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bearer__cap().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "called")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- called().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "calling")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- calling().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "redirecting")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- redirecting().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "connected")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- connected().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cause")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cause().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "progress")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- progress().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "useruser")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- useruser().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "facility")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- facility().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cccap")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cccap().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ssversion")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ssversion().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "clir_sup")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- clir__sup().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "clir_inv")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- clir__inv().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "signal")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- signal().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "keypad")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- keypad().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "more")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- more().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "notify")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- notify().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "emergency")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- emergency().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "imsi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- imsi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_mode")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__mode().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Signal: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_PDU_Signal");
- }
-}
-
-void MNCC__PDU__Signal::set_implicit_omit()
-{
-if (callref().is_bound()) callref().set_implicit_omit();
-if (!bearer__cap().is_bound()) bearer__cap() = OMIT_VALUE;
-else bearer__cap().set_implicit_omit();
-if (!called().is_bound()) called() = OMIT_VALUE;
-else called().set_implicit_omit();
-if (!calling().is_bound()) calling() = OMIT_VALUE;
-else calling().set_implicit_omit();
-if (!redirecting().is_bound()) redirecting() = OMIT_VALUE;
-else redirecting().set_implicit_omit();
-if (!connected().is_bound()) connected() = OMIT_VALUE;
-else connected().set_implicit_omit();
-if (!cause().is_bound()) cause() = OMIT_VALUE;
-else cause().set_implicit_omit();
-if (!progress().is_bound()) progress() = OMIT_VALUE;
-else progress().set_implicit_omit();
-if (!useruser().is_bound()) useruser() = OMIT_VALUE;
-else useruser().set_implicit_omit();
-if (!facility().is_bound()) facility() = OMIT_VALUE;
-else facility().set_implicit_omit();
-if (!cccap().is_bound()) cccap() = OMIT_VALUE;
-else cccap().set_implicit_omit();
-if (!ssversion().is_bound()) ssversion() = OMIT_VALUE;
-else ssversion().set_implicit_omit();
-if (clir__sup().is_bound()) clir__sup().set_implicit_omit();
-if (clir__inv().is_bound()) clir__inv().set_implicit_omit();
-if (!signal().is_bound()) signal() = OMIT_VALUE;
-else signal().set_implicit_omit();
-if (!keypad().is_bound()) keypad() = OMIT_VALUE;
-else keypad().set_implicit_omit();
-if (more().is_bound()) more().set_implicit_omit();
-if (notify().is_bound()) notify().set_implicit_omit();
-if (!emergency().is_bound()) emergency() = OMIT_VALUE;
-else emergency().set_implicit_omit();
-if (imsi().is_bound()) imsi().set_implicit_omit();
-if (lchan__type().is_bound()) lchan__type().set_implicit_omit();
-if (lchan__mode().is_bound()) lchan__mode().set_implicit_omit();
-}
-
-void MNCC__PDU__Signal::encode_text(Text_Buf& text_buf) const
-{
-field_callref.encode_text(text_buf);
-field_bearer__cap.encode_text(text_buf);
-field_called.encode_text(text_buf);
-field_calling.encode_text(text_buf);
-field_redirecting.encode_text(text_buf);
-field_connected.encode_text(text_buf);
-field_cause.encode_text(text_buf);
-field_progress.encode_text(text_buf);
-field_useruser.encode_text(text_buf);
-field_facility.encode_text(text_buf);
-field_cccap.encode_text(text_buf);
-field_ssversion.encode_text(text_buf);
-field_clir__sup.encode_text(text_buf);
-field_clir__inv.encode_text(text_buf);
-field_signal.encode_text(text_buf);
-field_keypad.encode_text(text_buf);
-field_more.encode_text(text_buf);
-field_notify.encode_text(text_buf);
-field_emergency.encode_text(text_buf);
-field_imsi.encode_text(text_buf);
-field_lchan__type.encode_text(text_buf);
-field_lchan__mode.encode_text(text_buf);
-}
-
-void MNCC__PDU__Signal::decode_text(Text_Buf& text_buf)
-{
-field_callref.decode_text(text_buf);
-field_bearer__cap.decode_text(text_buf);
-field_called.decode_text(text_buf);
-field_calling.decode_text(text_buf);
-field_redirecting.decode_text(text_buf);
-field_connected.decode_text(text_buf);
-field_cause.decode_text(text_buf);
-field_progress.decode_text(text_buf);
-field_useruser.decode_text(text_buf);
-field_facility.decode_text(text_buf);
-field_cccap.decode_text(text_buf);
-field_ssversion.decode_text(text_buf);
-field_clir__sup.decode_text(text_buf);
-field_clir__inv.decode_text(text_buf);
-field_signal.decode_text(text_buf);
-field_keypad.decode_text(text_buf);
-field_more.decode_text(text_buf);
-field_notify.decode_text(text_buf);
-field_emergency.decode_text(text_buf);
-field_imsi.decode_text(text_buf);
-field_lchan__type.decode_text(text_buf);
-field_lchan__mode.decode_text(text_buf);
-}
-
-void MNCC__PDU__Signal::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__PDU__Signal::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__PDU__Signal::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__PDU__Signal_callref_descr_.raw->forceomit);
- decoded_field_length = field_callref.RAW_decode(MNCC__PDU__Signal_callref_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(1)) {
- field_bearer__cap = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__PDU__Signal_bearer__cap_descr_.raw->forceomit);
- decoded_field_length = field_bearer__cap().RAW_decode(MNCC__PDU__Signal_bearer__cap_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 1) {
- field_bearer__cap = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_bearer__cap=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(2)) {
- field_called = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__PDU__Signal_called_descr_.raw->forceomit);
- decoded_field_length = field_called().RAW_decode(MNCC__PDU__Signal_called_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 1) {
- field_called = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_called=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(3)) {
- field_calling = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__PDU__Signal_calling_descr_.raw->forceomit);
- decoded_field_length = field_calling().RAW_decode(MNCC__PDU__Signal_calling_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 1) {
- field_calling = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_calling=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(4)) {
- field_redirecting = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__PDU__Signal_redirecting_descr_.raw->forceomit);
- decoded_field_length = field_redirecting().RAW_decode(MNCC__PDU__Signal_redirecting_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 1) {
- field_redirecting = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_redirecting=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(5)) {
- field_connected = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_5_force_omit(5, force_omit, MNCC__PDU__Signal_connected_descr_.raw->forceomit);
- decoded_field_length = field_connected().RAW_decode(MNCC__PDU__Signal_connected_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 1) {
- field_connected = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_connected=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(6)) {
- field_cause = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_6_force_omit(6, force_omit, MNCC__PDU__Signal_cause_descr_.raw->forceomit);
- decoded_field_length = field_cause().RAW_decode(MNCC__PDU__Signal_cause_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 1) {
- field_cause = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_cause=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(7)) {
- field_progress = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_7_force_omit(7, force_omit, MNCC__PDU__Signal_progress_descr_.raw->forceomit);
- decoded_field_length = field_progress().RAW_decode(MNCC__PDU__Signal_progress_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 1) {
- field_progress = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_progress=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(8)) {
- field_useruser = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_8_force_omit(8, force_omit, MNCC__PDU__Signal_useruser_descr_.raw->forceomit);
- decoded_field_length = field_useruser().RAW_decode(MNCC__PDU__Signal_useruser_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 1) {
- field_useruser = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_useruser=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(9)) {
- field_facility = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_9_force_omit(9, force_omit, MNCC__PDU__Signal_facility_descr_.raw->forceomit);
- decoded_field_length = field_facility().RAW_decode(MNCC__PDU__Signal_facility_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 1) {
- field_facility = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_facility=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(10)) {
- field_cccap = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_10_force_omit(10, force_omit, MNCC__PDU__Signal_cccap_descr_.raw->forceomit);
- decoded_field_length = field_cccap().RAW_decode(MNCC__PDU__Signal_cccap_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_10_force_omit);
- if (decoded_field_length < 1) {
- field_cccap = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_cccap=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(11)) {
- field_ssversion = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_11_force_omit(11, force_omit, MNCC__PDU__Signal_ssversion_descr_.raw->forceomit);
- decoded_field_length = field_ssversion().RAW_decode(MNCC__PDU__Signal_ssversion_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_11_force_omit);
- if (decoded_field_length < 1) {
- field_ssversion = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_ssversion=OMIT_VALUE;
- RAW_Force_Omit field_12_force_omit(12, force_omit, MNCC__PDU__Signal_clir__sup_descr_.raw->forceomit);
- decoded_field_length = field_clir__sup.RAW_decode(MNCC__PDU__Signal_clir__sup_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_12_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_13_force_omit(13, force_omit, MNCC__PDU__Signal_clir__inv_descr_.raw->forceomit);
- decoded_field_length = field_clir__inv.RAW_decode(MNCC__PDU__Signal_clir__inv_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_13_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(14)) {
- field_signal = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_14_force_omit(14, force_omit, MNCC__PDU__Signal_signal_descr_.raw->forceomit);
- decoded_field_length = field_signal().RAW_decode(MNCC__PDU__Signal_signal_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_14_force_omit);
- if (decoded_field_length < 1) {
- field_signal = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_signal=OMIT_VALUE;
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(15)) {
- field_keypad = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_15_force_omit(15, force_omit, MNCC__PDU__Signal_keypad_descr_.raw->forceomit);
- decoded_field_length = field_keypad().RAW_decode(MNCC__PDU__Signal_keypad_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_15_force_omit);
- if (decoded_field_length < 1) {
- field_keypad = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_keypad=OMIT_VALUE;
- RAW_Force_Omit field_16_force_omit(16, force_omit, MNCC__PDU__Signal_more_descr_.raw->forceomit);
- decoded_field_length = field_more.RAW_decode(MNCC__PDU__Signal_more_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_16_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_17_force_omit(17, force_omit, MNCC__PDU__Signal_notify_descr_.raw->forceomit);
- decoded_field_length = field_notify.RAW_decode(MNCC__PDU__Signal_notify_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_17_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (limit > 0){
- if (force_omit != NULL && (*force_omit)(18)) {
- field_emergency = OMIT_VALUE;
- }
- else {
- size_t fl_start_pos = p_buf.get_pos_bit();
- RAW_Force_Omit field_18_force_omit(18, force_omit, MNCC__PDU__Signal_emergency_descr_.raw->forceomit);
- decoded_field_length = field_emergency().RAW_decode(MNCC__PDU__Signal_emergency_descr_, p_buf, limit, local_top_order, TRUE, -1, TRUE, &field_18_force_omit);
- if (decoded_field_length < 1) {
- field_emergency = OMIT_VALUE;
- p_buf.set_pos_bit(fl_start_pos);
- } else {
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- }
- }
- }
- else field_emergency=OMIT_VALUE;
- RAW_Force_Omit field_19_force_omit(19, force_omit, MNCC__PDU__Signal_imsi_descr_.raw->forceomit);
- decoded_field_length = field_imsi.RAW_decode(MNCC__PDU__Signal_imsi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_19_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_20_force_omit(20, force_omit, MNCC__PDU__Signal_lchan__type_descr_.raw->forceomit);
- decoded_field_length = field_lchan__type.RAW_decode(MNCC__PDU__Signal_lchan__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_20_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_21_force_omit(21, force_omit, MNCC__PDU__Signal_lchan__mode_descr_.raw->forceomit);
- decoded_field_length = field_lchan__mode.RAW_decode(MNCC__PDU__Signal_lchan__mode_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_21_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__PDU__Signal::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 22;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(22);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__PDU__Signal_callref_descr_.raw);
- if (field_bearer__cap.ispresent()) {
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__PDU__Signal_bearer__cap_descr_.raw);
- }
- else myleaf.body.node.nodes[1] = NULL;
- if (field_called.ispresent()) {
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__PDU__Signal_called_descr_.raw);
- }
- else myleaf.body.node.nodes[2] = NULL;
- if (field_calling.ispresent()) {
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__PDU__Signal_calling_descr_.raw);
- }
- else myleaf.body.node.nodes[3] = NULL;
- if (field_redirecting.ispresent()) {
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__PDU__Signal_redirecting_descr_.raw);
- }
- else myleaf.body.node.nodes[4] = NULL;
- if (field_connected.ispresent()) {
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, MNCC__PDU__Signal_connected_descr_.raw);
- }
- else myleaf.body.node.nodes[5] = NULL;
- if (field_cause.ispresent()) {
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, MNCC__PDU__Signal_cause_descr_.raw);
- }
- else myleaf.body.node.nodes[6] = NULL;
- if (field_progress.ispresent()) {
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, MNCC__PDU__Signal_progress_descr_.raw);
- }
- else myleaf.body.node.nodes[7] = NULL;
- if (field_useruser.ispresent()) {
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, MNCC__PDU__Signal_useruser_descr_.raw);
- }
- else myleaf.body.node.nodes[8] = NULL;
- if (field_facility.ispresent()) {
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, MNCC__PDU__Signal_facility_descr_.raw);
- }
- else myleaf.body.node.nodes[9] = NULL;
- if (field_cccap.ispresent()) {
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 10, MNCC__PDU__Signal_cccap_descr_.raw);
- }
- else myleaf.body.node.nodes[10] = NULL;
- if (field_ssversion.ispresent()) {
- myleaf.body.node.nodes[11] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 11, MNCC__PDU__Signal_ssversion_descr_.raw);
- }
- else myleaf.body.node.nodes[11] = NULL;
- myleaf.body.node.nodes[12] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 12, MNCC__PDU__Signal_clir__sup_descr_.raw);
- myleaf.body.node.nodes[13] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 13, MNCC__PDU__Signal_clir__inv_descr_.raw);
- if (field_signal.ispresent()) {
- myleaf.body.node.nodes[14] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 14, MNCC__PDU__Signal_signal_descr_.raw);
- }
- else myleaf.body.node.nodes[14] = NULL;
- if (field_keypad.ispresent()) {
- myleaf.body.node.nodes[15] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 15, MNCC__PDU__Signal_keypad_descr_.raw);
- }
- else myleaf.body.node.nodes[15] = NULL;
- myleaf.body.node.nodes[16] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 16, MNCC__PDU__Signal_more_descr_.raw);
- myleaf.body.node.nodes[17] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 17, MNCC__PDU__Signal_notify_descr_.raw);
- if (field_emergency.ispresent()) {
- myleaf.body.node.nodes[18] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 18, MNCC__PDU__Signal_emergency_descr_.raw);
- }
- else myleaf.body.node.nodes[18] = NULL;
- myleaf.body.node.nodes[19] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 19, MNCC__PDU__Signal_imsi_descr_.raw);
- myleaf.body.node.nodes[20] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 20, MNCC__PDU__Signal_lchan__type_descr_.raw);
- myleaf.body.node.nodes[21] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 21, MNCC__PDU__Signal_lchan__mode_descr_.raw);
- encoded_length += field_callref.RAW_encode(MNCC__PDU__Signal_callref_descr_, *myleaf.body.node.nodes[0]);
- if (field_bearer__cap.ispresent()) {
- encoded_length += field_bearer__cap().RAW_encode(MNCC__PDU__Signal_bearer__cap_descr_, *myleaf.body.node.nodes[1]);
- }
- if (field_called.ispresent()) {
- encoded_length += field_called().RAW_encode(MNCC__PDU__Signal_called_descr_, *myleaf.body.node.nodes[2]);
- }
- if (field_calling.ispresent()) {
- encoded_length += field_calling().RAW_encode(MNCC__PDU__Signal_calling_descr_, *myleaf.body.node.nodes[3]);
- }
- if (field_redirecting.ispresent()) {
- encoded_length += field_redirecting().RAW_encode(MNCC__PDU__Signal_redirecting_descr_, *myleaf.body.node.nodes[4]);
- }
- if (field_connected.ispresent()) {
- encoded_length += field_connected().RAW_encode(MNCC__PDU__Signal_connected_descr_, *myleaf.body.node.nodes[5]);
- }
- if (field_cause.ispresent()) {
- encoded_length += field_cause().RAW_encode(MNCC__PDU__Signal_cause_descr_, *myleaf.body.node.nodes[6]);
- }
- if (field_progress.ispresent()) {
- encoded_length += field_progress().RAW_encode(MNCC__PDU__Signal_progress_descr_, *myleaf.body.node.nodes[7]);
- }
- if (field_useruser.ispresent()) {
- encoded_length += field_useruser().RAW_encode(MNCC__PDU__Signal_useruser_descr_, *myleaf.body.node.nodes[8]);
- }
- if (field_facility.ispresent()) {
- encoded_length += field_facility().RAW_encode(MNCC__PDU__Signal_facility_descr_, *myleaf.body.node.nodes[9]);
- }
- if (field_cccap.ispresent()) {
- encoded_length += field_cccap().RAW_encode(MNCC__PDU__Signal_cccap_descr_, *myleaf.body.node.nodes[10]);
- }
- if (field_ssversion.ispresent()) {
- encoded_length += field_ssversion().RAW_encode(MNCC__PDU__Signal_ssversion_descr_, *myleaf.body.node.nodes[11]);
- }
- encoded_length += field_clir__sup.RAW_encode(MNCC__PDU__Signal_clir__sup_descr_, *myleaf.body.node.nodes[12]);
- encoded_length += field_clir__inv.RAW_encode(MNCC__PDU__Signal_clir__inv_descr_, *myleaf.body.node.nodes[13]);
- if (field_signal.ispresent()) {
- encoded_length += field_signal().RAW_encode(MNCC__PDU__Signal_signal_descr_, *myleaf.body.node.nodes[14]);
- }
- if (field_keypad.ispresent()) {
- encoded_length += field_keypad().RAW_encode(MNCC__PDU__Signal_keypad_descr_, *myleaf.body.node.nodes[15]);
- }
- encoded_length += field_more.RAW_encode(MNCC__PDU__Signal_more_descr_, *myleaf.body.node.nodes[16]);
- encoded_length += field_notify.RAW_encode(MNCC__PDU__Signal_notify_descr_, *myleaf.body.node.nodes[17]);
- if (field_emergency.ispresent()) {
- encoded_length += field_emergency().RAW_encode(MNCC__PDU__Signal_emergency_descr_, *myleaf.body.node.nodes[18]);
- }
- encoded_length += field_imsi.RAW_encode(MNCC__PDU__Signal_imsi_descr_, *myleaf.body.node.nodes[19]);
- encoded_length += field_lchan__type.RAW_encode(MNCC__PDU__Signal_lchan__type_descr_, *myleaf.body.node.nodes[20]);
- encoded_length += field_lchan__mode.RAW_encode(MNCC__PDU__Signal_lchan__mode_descr_, *myleaf.body.node.nodes[21]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__PDU__Signal_template::single_value_struct {
-INTEGER_template field_callref;
-MNCC__bearer__cap_template field_bearer__cap;
-MNCC__number_template field_called;
-MNCC__number_template field_calling;
-MNCC__number_template field_redirecting;
-MNCC__number_template field_connected;
-MNCC__cause_template field_cause;
-MNCC__progress_template field_progress;
-MNCC__useruser_template field_useruser;
-CHARSTRING_template field_facility;
-MNCC__cccap_template field_cccap;
-CHARSTRING_template field_ssversion;
-INTEGER_template field_clir__sup;
-INTEGER_template field_clir__inv;
-INTEGER_template field_signal;
-CHARSTRING_template field_keypad;
-INTEGER_template field_more;
-INTEGER_template field_notify;
-INTEGER_template field_emergency;
-CHARSTRING_template field_imsi;
-INTEGER_template field_lchan__type;
-INTEGER_template field_lchan__mode;
-};
-
-void MNCC__PDU__Signal_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_callref = ANY_VALUE;
-single_value->field_bearer__cap = ANY_OR_OMIT;
-single_value->field_called = ANY_OR_OMIT;
-single_value->field_calling = ANY_OR_OMIT;
-single_value->field_redirecting = ANY_OR_OMIT;
-single_value->field_connected = ANY_OR_OMIT;
-single_value->field_cause = ANY_OR_OMIT;
-single_value->field_progress = ANY_OR_OMIT;
-single_value->field_useruser = ANY_OR_OMIT;
-single_value->field_facility = ANY_OR_OMIT;
-single_value->field_cccap = ANY_OR_OMIT;
-single_value->field_ssversion = ANY_OR_OMIT;
-single_value->field_clir__sup = ANY_VALUE;
-single_value->field_clir__inv = ANY_VALUE;
-single_value->field_signal = ANY_OR_OMIT;
-single_value->field_keypad = ANY_OR_OMIT;
-single_value->field_more = ANY_VALUE;
-single_value->field_notify = ANY_VALUE;
-single_value->field_emergency = ANY_OR_OMIT;
-single_value->field_imsi = ANY_VALUE;
-single_value->field_lchan__type = ANY_VALUE;
-single_value->field_lchan__mode = ANY_VALUE;
-}
-}
-}
-
-void MNCC__PDU__Signal_template::copy_value(const MNCC__PDU__Signal& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.callref().is_bound()) {
- single_value->field_callref = other_value.callref();
-} else {
- single_value->field_callref.clean_up();
-}
-if (other_value.bearer__cap().is_bound()) {
- if (other_value.bearer__cap().ispresent()) single_value->field_bearer__cap = other_value.bearer__cap()();
- else single_value->field_bearer__cap = OMIT_VALUE;
-} else {
- single_value->field_bearer__cap.clean_up();
-}
-if (other_value.called().is_bound()) {
- if (other_value.called().ispresent()) single_value->field_called = other_value.called()();
- else single_value->field_called = OMIT_VALUE;
-} else {
- single_value->field_called.clean_up();
-}
-if (other_value.calling().is_bound()) {
- if (other_value.calling().ispresent()) single_value->field_calling = other_value.calling()();
- else single_value->field_calling = OMIT_VALUE;
-} else {
- single_value->field_calling.clean_up();
-}
-if (other_value.redirecting().is_bound()) {
- if (other_value.redirecting().ispresent()) single_value->field_redirecting = other_value.redirecting()();
- else single_value->field_redirecting = OMIT_VALUE;
-} else {
- single_value->field_redirecting.clean_up();
-}
-if (other_value.connected().is_bound()) {
- if (other_value.connected().ispresent()) single_value->field_connected = other_value.connected()();
- else single_value->field_connected = OMIT_VALUE;
-} else {
- single_value->field_connected.clean_up();
-}
-if (other_value.cause().is_bound()) {
- if (other_value.cause().ispresent()) single_value->field_cause = other_value.cause()();
- else single_value->field_cause = OMIT_VALUE;
-} else {
- single_value->field_cause.clean_up();
-}
-if (other_value.progress().is_bound()) {
- if (other_value.progress().ispresent()) single_value->field_progress = other_value.progress()();
- else single_value->field_progress = OMIT_VALUE;
-} else {
- single_value->field_progress.clean_up();
-}
-if (other_value.useruser().is_bound()) {
- if (other_value.useruser().ispresent()) single_value->field_useruser = other_value.useruser()();
- else single_value->field_useruser = OMIT_VALUE;
-} else {
- single_value->field_useruser.clean_up();
-}
-if (other_value.facility().is_bound()) {
- if (other_value.facility().ispresent()) single_value->field_facility = other_value.facility()();
- else single_value->field_facility = OMIT_VALUE;
-} else {
- single_value->field_facility.clean_up();
-}
-if (other_value.cccap().is_bound()) {
- if (other_value.cccap().ispresent()) single_value->field_cccap = other_value.cccap()();
- else single_value->field_cccap = OMIT_VALUE;
-} else {
- single_value->field_cccap.clean_up();
-}
-if (other_value.ssversion().is_bound()) {
- if (other_value.ssversion().ispresent()) single_value->field_ssversion = other_value.ssversion()();
- else single_value->field_ssversion = OMIT_VALUE;
-} else {
- single_value->field_ssversion.clean_up();
-}
-if (other_value.clir__sup().is_bound()) {
- single_value->field_clir__sup = other_value.clir__sup();
-} else {
- single_value->field_clir__sup.clean_up();
-}
-if (other_value.clir__inv().is_bound()) {
- single_value->field_clir__inv = other_value.clir__inv();
-} else {
- single_value->field_clir__inv.clean_up();
-}
-if (other_value.signal().is_bound()) {
- if (other_value.signal().ispresent()) single_value->field_signal = other_value.signal()();
- else single_value->field_signal = OMIT_VALUE;
-} else {
- single_value->field_signal.clean_up();
-}
-if (other_value.keypad().is_bound()) {
- if (other_value.keypad().ispresent()) single_value->field_keypad = other_value.keypad()();
- else single_value->field_keypad = OMIT_VALUE;
-} else {
- single_value->field_keypad.clean_up();
-}
-if (other_value.more().is_bound()) {
- single_value->field_more = other_value.more();
-} else {
- single_value->field_more.clean_up();
-}
-if (other_value.notify().is_bound()) {
- single_value->field_notify = other_value.notify();
-} else {
- single_value->field_notify.clean_up();
-}
-if (other_value.emergency().is_bound()) {
- if (other_value.emergency().ispresent()) single_value->field_emergency = other_value.emergency()();
- else single_value->field_emergency = OMIT_VALUE;
-} else {
- single_value->field_emergency.clean_up();
-}
-if (other_value.imsi().is_bound()) {
- single_value->field_imsi = other_value.imsi();
-} else {
- single_value->field_imsi.clean_up();
-}
-if (other_value.lchan__type().is_bound()) {
- single_value->field_lchan__type = other_value.lchan__type();
-} else {
- single_value->field_lchan__type.clean_up();
-}
-if (other_value.lchan__mode().is_bound()) {
- single_value->field_lchan__mode = other_value.lchan__mode();
-} else {
- single_value->field_lchan__mode.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__PDU__Signal_template::copy_template(const MNCC__PDU__Signal_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.callref().get_selection()) {
-single_value->field_callref = other_value.callref();
-} else {
-single_value->field_callref.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.bearer__cap().get_selection()) {
-single_value->field_bearer__cap = other_value.bearer__cap();
-} else {
-single_value->field_bearer__cap.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.called().get_selection()) {
-single_value->field_called = other_value.called();
-} else {
-single_value->field_called.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.calling().get_selection()) {
-single_value->field_calling = other_value.calling();
-} else {
-single_value->field_calling.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.redirecting().get_selection()) {
-single_value->field_redirecting = other_value.redirecting();
-} else {
-single_value->field_redirecting.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.connected().get_selection()) {
-single_value->field_connected = other_value.connected();
-} else {
-single_value->field_connected.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cause().get_selection()) {
-single_value->field_cause = other_value.cause();
-} else {
-single_value->field_cause.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.progress().get_selection()) {
-single_value->field_progress = other_value.progress();
-} else {
-single_value->field_progress.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.useruser().get_selection()) {
-single_value->field_useruser = other_value.useruser();
-} else {
-single_value->field_useruser.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.facility().get_selection()) {
-single_value->field_facility = other_value.facility();
-} else {
-single_value->field_facility.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cccap().get_selection()) {
-single_value->field_cccap = other_value.cccap();
-} else {
-single_value->field_cccap.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ssversion().get_selection()) {
-single_value->field_ssversion = other_value.ssversion();
-} else {
-single_value->field_ssversion.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.clir__sup().get_selection()) {
-single_value->field_clir__sup = other_value.clir__sup();
-} else {
-single_value->field_clir__sup.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.clir__inv().get_selection()) {
-single_value->field_clir__inv = other_value.clir__inv();
-} else {
-single_value->field_clir__inv.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.signal().get_selection()) {
-single_value->field_signal = other_value.signal();
-} else {
-single_value->field_signal.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.keypad().get_selection()) {
-single_value->field_keypad = other_value.keypad();
-} else {
-single_value->field_keypad.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.more().get_selection()) {
-single_value->field_more = other_value.more();
-} else {
-single_value->field_more.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.notify().get_selection()) {
-single_value->field_notify = other_value.notify();
-} else {
-single_value->field_notify.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.emergency().get_selection()) {
-single_value->field_emergency = other_value.emergency();
-} else {
-single_value->field_emergency.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.imsi().get_selection()) {
-single_value->field_imsi = other_value.imsi();
-} else {
-single_value->field_imsi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lchan__type().get_selection()) {
-single_value->field_lchan__type = other_value.lchan__type();
-} else {
-single_value->field_lchan__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lchan__mode().get_selection()) {
-single_value->field_lchan__mode = other_value.lchan__mode();
-} else {
-single_value->field_lchan__mode.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__PDU__Signal_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Signal.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__PDU__Signal_template::MNCC__PDU__Signal_template()
-{
-}
-
-MNCC__PDU__Signal_template::MNCC__PDU__Signal_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__PDU__Signal_template::MNCC__PDU__Signal_template(const MNCC__PDU__Signal& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__PDU__Signal_template::MNCC__PDU__Signal_template(const OPTIONAL<MNCC__PDU__Signal>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Signal&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_PDU_Signal from an unbound optional field.");
-}
-}
-
-MNCC__PDU__Signal_template::MNCC__PDU__Signal_template(const MNCC__PDU__Signal_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__PDU__Signal_template::~MNCC__PDU__Signal_template()
-{
-clean_up();
-}
-
-MNCC__PDU__Signal_template& MNCC__PDU__Signal_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__PDU__Signal_template& MNCC__PDU__Signal_template::operator=(const MNCC__PDU__Signal& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__PDU__Signal_template& MNCC__PDU__Signal_template::operator=(const OPTIONAL<MNCC__PDU__Signal>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Signal&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_PDU_Signal.");
-}
-return *this;
-}
-
-MNCC__PDU__Signal_template& MNCC__PDU__Signal_template::operator=(const MNCC__PDU__Signal_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__PDU__Signal_template::match(const MNCC__PDU__Signal& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.callref().is_bound()) return FALSE;
-if(!single_value->field_callref.match(other_value.callref(), legacy))return FALSE;
-if(!other_value.bearer__cap().is_bound()) return FALSE;
-if((other_value.bearer__cap().ispresent() ? !single_value->field_bearer__cap.match((const MNCC__bearer__cap&)other_value.bearer__cap(), legacy) : !single_value->field_bearer__cap.match_omit(legacy)))return FALSE;
-if(!other_value.called().is_bound()) return FALSE;
-if((other_value.called().ispresent() ? !single_value->field_called.match((const MNCC__number&)other_value.called(), legacy) : !single_value->field_called.match_omit(legacy)))return FALSE;
-if(!other_value.calling().is_bound()) return FALSE;
-if((other_value.calling().ispresent() ? !single_value->field_calling.match((const MNCC__number&)other_value.calling(), legacy) : !single_value->field_calling.match_omit(legacy)))return FALSE;
-if(!other_value.redirecting().is_bound()) return FALSE;
-if((other_value.redirecting().ispresent() ? !single_value->field_redirecting.match((const MNCC__number&)other_value.redirecting(), legacy) : !single_value->field_redirecting.match_omit(legacy)))return FALSE;
-if(!other_value.connected().is_bound()) return FALSE;
-if((other_value.connected().ispresent() ? !single_value->field_connected.match((const MNCC__number&)other_value.connected(), legacy) : !single_value->field_connected.match_omit(legacy)))return FALSE;
-if(!other_value.cause().is_bound()) return FALSE;
-if((other_value.cause().ispresent() ? !single_value->field_cause.match((const MNCC__cause&)other_value.cause(), legacy) : !single_value->field_cause.match_omit(legacy)))return FALSE;
-if(!other_value.progress().is_bound()) return FALSE;
-if((other_value.progress().ispresent() ? !single_value->field_progress.match((const MNCC__progress&)other_value.progress(), legacy) : !single_value->field_progress.match_omit(legacy)))return FALSE;
-if(!other_value.useruser().is_bound()) return FALSE;
-if((other_value.useruser().ispresent() ? !single_value->field_useruser.match((const MNCC__useruser&)other_value.useruser(), legacy) : !single_value->field_useruser.match_omit(legacy)))return FALSE;
-if(!other_value.facility().is_bound()) return FALSE;
-if((other_value.facility().ispresent() ? !single_value->field_facility.match((const CHARSTRING&)other_value.facility(), legacy) : !single_value->field_facility.match_omit(legacy)))return FALSE;
-if(!other_value.cccap().is_bound()) return FALSE;
-if((other_value.cccap().ispresent() ? !single_value->field_cccap.match((const MNCC__cccap&)other_value.cccap(), legacy) : !single_value->field_cccap.match_omit(legacy)))return FALSE;
-if(!other_value.ssversion().is_bound()) return FALSE;
-if((other_value.ssversion().ispresent() ? !single_value->field_ssversion.match((const CHARSTRING&)other_value.ssversion(), legacy) : !single_value->field_ssversion.match_omit(legacy)))return FALSE;
-if(!other_value.clir__sup().is_bound()) return FALSE;
-if(!single_value->field_clir__sup.match(other_value.clir__sup(), legacy))return FALSE;
-if(!other_value.clir__inv().is_bound()) return FALSE;
-if(!single_value->field_clir__inv.match(other_value.clir__inv(), legacy))return FALSE;
-if(!other_value.signal().is_bound()) return FALSE;
-if((other_value.signal().ispresent() ? !single_value->field_signal.match((const INTEGER&)other_value.signal(), legacy) : !single_value->field_signal.match_omit(legacy)))return FALSE;
-if(!other_value.keypad().is_bound()) return FALSE;
-if((other_value.keypad().ispresent() ? !single_value->field_keypad.match((const CHARSTRING&)other_value.keypad(), legacy) : !single_value->field_keypad.match_omit(legacy)))return FALSE;
-if(!other_value.more().is_bound()) return FALSE;
-if(!single_value->field_more.match(other_value.more(), legacy))return FALSE;
-if(!other_value.notify().is_bound()) return FALSE;
-if(!single_value->field_notify.match(other_value.notify(), legacy))return FALSE;
-if(!other_value.emergency().is_bound()) return FALSE;
-if((other_value.emergency().ispresent() ? !single_value->field_emergency.match((const INTEGER&)other_value.emergency(), legacy) : !single_value->field_emergency.match_omit(legacy)))return FALSE;
-if(!other_value.imsi().is_bound()) return FALSE;
-if(!single_value->field_imsi.match(other_value.imsi(), legacy))return FALSE;
-if(!other_value.lchan__type().is_bound()) return FALSE;
-if(!single_value->field_lchan__type.match(other_value.lchan__type(), legacy))return FALSE;
-if(!other_value.lchan__mode().is_bound()) return FALSE;
-if(!single_value->field_lchan__mode.match(other_value.lchan__mode(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Signal.");
-}
-return FALSE;
-}
-
-boolean MNCC__PDU__Signal_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_callref.is_bound()) return TRUE;
-if (single_value->field_bearer__cap.is_omit() || single_value->field_bearer__cap.is_bound()) return TRUE;
-if (single_value->field_called.is_omit() || single_value->field_called.is_bound()) return TRUE;
-if (single_value->field_calling.is_omit() || single_value->field_calling.is_bound()) return TRUE;
-if (single_value->field_redirecting.is_omit() || single_value->field_redirecting.is_bound()) return TRUE;
-if (single_value->field_connected.is_omit() || single_value->field_connected.is_bound()) return TRUE;
-if (single_value->field_cause.is_omit() || single_value->field_cause.is_bound()) return TRUE;
-if (single_value->field_progress.is_omit() || single_value->field_progress.is_bound()) return TRUE;
-if (single_value->field_useruser.is_omit() || single_value->field_useruser.is_bound()) return TRUE;
-if (single_value->field_facility.is_omit() || single_value->field_facility.is_bound()) return TRUE;
-if (single_value->field_cccap.is_omit() || single_value->field_cccap.is_bound()) return TRUE;
-if (single_value->field_ssversion.is_omit() || single_value->field_ssversion.is_bound()) return TRUE;
-if (single_value->field_clir__sup.is_bound()) return TRUE;
-if (single_value->field_clir__inv.is_bound()) return TRUE;
-if (single_value->field_signal.is_omit() || single_value->field_signal.is_bound()) return TRUE;
-if (single_value->field_keypad.is_omit() || single_value->field_keypad.is_bound()) return TRUE;
-if (single_value->field_more.is_bound()) return TRUE;
-if (single_value->field_notify.is_bound()) return TRUE;
-if (single_value->field_emergency.is_omit() || single_value->field_emergency.is_bound()) return TRUE;
-if (single_value->field_imsi.is_bound()) return TRUE;
-if (single_value->field_lchan__type.is_bound()) return TRUE;
-if (single_value->field_lchan__mode.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__PDU__Signal_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_callref.is_value()) return FALSE;
-if (!single_value->field_bearer__cap.is_omit() && !single_value->field_bearer__cap.is_value()) return FALSE;
-if (!single_value->field_called.is_omit() && !single_value->field_called.is_value()) return FALSE;
-if (!single_value->field_calling.is_omit() && !single_value->field_calling.is_value()) return FALSE;
-if (!single_value->field_redirecting.is_omit() && !single_value->field_redirecting.is_value()) return FALSE;
-if (!single_value->field_connected.is_omit() && !single_value->field_connected.is_value()) return FALSE;
-if (!single_value->field_cause.is_omit() && !single_value->field_cause.is_value()) return FALSE;
-if (!single_value->field_progress.is_omit() && !single_value->field_progress.is_value()) return FALSE;
-if (!single_value->field_useruser.is_omit() && !single_value->field_useruser.is_value()) return FALSE;
-if (!single_value->field_facility.is_omit() && !single_value->field_facility.is_value()) return FALSE;
-if (!single_value->field_cccap.is_omit() && !single_value->field_cccap.is_value()) return FALSE;
-if (!single_value->field_ssversion.is_omit() && !single_value->field_ssversion.is_value()) return FALSE;
-if (!single_value->field_clir__sup.is_value()) return FALSE;
-if (!single_value->field_clir__inv.is_value()) return FALSE;
-if (!single_value->field_signal.is_omit() && !single_value->field_signal.is_value()) return FALSE;
-if (!single_value->field_keypad.is_omit() && !single_value->field_keypad.is_value()) return FALSE;
-if (!single_value->field_more.is_value()) return FALSE;
-if (!single_value->field_notify.is_value()) return FALSE;
-if (!single_value->field_emergency.is_omit() && !single_value->field_emergency.is_value()) return FALSE;
-if (!single_value->field_imsi.is_value()) return FALSE;
-if (!single_value->field_lchan__type.is_value()) return FALSE;
-if (!single_value->field_lchan__mode.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__PDU__Signal_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__PDU__Signal MNCC__PDU__Signal_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-MNCC__PDU__Signal ret_val;
-if (single_value->field_callref.is_bound()) {
-ret_val.callref() = single_value->field_callref.valueof();
-}
-if (single_value->field_bearer__cap.is_omit()) ret_val.bearer__cap() = OMIT_VALUE;
-else if (single_value->field_bearer__cap.is_bound()) {
-ret_val.bearer__cap() = single_value->field_bearer__cap.valueof();
-}
-if (single_value->field_called.is_omit()) ret_val.called() = OMIT_VALUE;
-else if (single_value->field_called.is_bound()) {
-ret_val.called() = single_value->field_called.valueof();
-}
-if (single_value->field_calling.is_omit()) ret_val.calling() = OMIT_VALUE;
-else if (single_value->field_calling.is_bound()) {
-ret_val.calling() = single_value->field_calling.valueof();
-}
-if (single_value->field_redirecting.is_omit()) ret_val.redirecting() = OMIT_VALUE;
-else if (single_value->field_redirecting.is_bound()) {
-ret_val.redirecting() = single_value->field_redirecting.valueof();
-}
-if (single_value->field_connected.is_omit()) ret_val.connected() = OMIT_VALUE;
-else if (single_value->field_connected.is_bound()) {
-ret_val.connected() = single_value->field_connected.valueof();
-}
-if (single_value->field_cause.is_omit()) ret_val.cause() = OMIT_VALUE;
-else if (single_value->field_cause.is_bound()) {
-ret_val.cause() = single_value->field_cause.valueof();
-}
-if (single_value->field_progress.is_omit()) ret_val.progress() = OMIT_VALUE;
-else if (single_value->field_progress.is_bound()) {
-ret_val.progress() = single_value->field_progress.valueof();
-}
-if (single_value->field_useruser.is_omit()) ret_val.useruser() = OMIT_VALUE;
-else if (single_value->field_useruser.is_bound()) {
-ret_val.useruser() = single_value->field_useruser.valueof();
-}
-if (single_value->field_facility.is_omit()) ret_val.facility() = OMIT_VALUE;
-else if (single_value->field_facility.is_bound()) {
-ret_val.facility() = single_value->field_facility.valueof();
-}
-if (single_value->field_cccap.is_omit()) ret_val.cccap() = OMIT_VALUE;
-else if (single_value->field_cccap.is_bound()) {
-ret_val.cccap() = single_value->field_cccap.valueof();
-}
-if (single_value->field_ssversion.is_omit()) ret_val.ssversion() = OMIT_VALUE;
-else if (single_value->field_ssversion.is_bound()) {
-ret_val.ssversion() = single_value->field_ssversion.valueof();
-}
-if (single_value->field_clir__sup.is_bound()) {
-ret_val.clir__sup() = single_value->field_clir__sup.valueof();
-}
-if (single_value->field_clir__inv.is_bound()) {
-ret_val.clir__inv() = single_value->field_clir__inv.valueof();
-}
-if (single_value->field_signal.is_omit()) ret_val.signal() = OMIT_VALUE;
-else if (single_value->field_signal.is_bound()) {
-ret_val.signal() = single_value->field_signal.valueof();
-}
-if (single_value->field_keypad.is_omit()) ret_val.keypad() = OMIT_VALUE;
-else if (single_value->field_keypad.is_bound()) {
-ret_val.keypad() = single_value->field_keypad.valueof();
-}
-if (single_value->field_more.is_bound()) {
-ret_val.more() = single_value->field_more.valueof();
-}
-if (single_value->field_notify.is_bound()) {
-ret_val.notify() = single_value->field_notify.valueof();
-}
-if (single_value->field_emergency.is_omit()) ret_val.emergency() = OMIT_VALUE;
-else if (single_value->field_emergency.is_bound()) {
-ret_val.emergency() = single_value->field_emergency.valueof();
-}
-if (single_value->field_imsi.is_bound()) {
-ret_val.imsi() = single_value->field_imsi.valueof();
-}
-if (single_value->field_lchan__type.is_bound()) {
-ret_val.lchan__type() = single_value->field_lchan__type.valueof();
-}
-if (single_value->field_lchan__mode.is_bound()) {
-ret_val.lchan__mode() = single_value->field_lchan__mode.valueof();
-}
-return ret_val;
-}
-
-void MNCC__PDU__Signal_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_PDU_Signal.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__PDU__Signal_template[list_length];
-}
-
-MNCC__PDU__Signal_template& MNCC__PDU__Signal_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_PDU_Signal.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_PDU_Signal.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::callref()
-{
-set_specific();
-return single_value->field_callref;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::callref() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field callref of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_callref;
-}
-
-MNCC__bearer__cap_template& MNCC__PDU__Signal_template::bearer__cap()
-{
-set_specific();
-return single_value->field_bearer__cap;
-}
-
-const MNCC__bearer__cap_template& MNCC__PDU__Signal_template::bearer__cap() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field bearer_cap of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_bearer__cap;
-}
-
-MNCC__number_template& MNCC__PDU__Signal_template::called()
-{
-set_specific();
-return single_value->field_called;
-}
-
-const MNCC__number_template& MNCC__PDU__Signal_template::called() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field called of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_called;
-}
-
-MNCC__number_template& MNCC__PDU__Signal_template::calling()
-{
-set_specific();
-return single_value->field_calling;
-}
-
-const MNCC__number_template& MNCC__PDU__Signal_template::calling() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field calling of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_calling;
-}
-
-MNCC__number_template& MNCC__PDU__Signal_template::redirecting()
-{
-set_specific();
-return single_value->field_redirecting;
-}
-
-const MNCC__number_template& MNCC__PDU__Signal_template::redirecting() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field redirecting of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_redirecting;
-}
-
-MNCC__number_template& MNCC__PDU__Signal_template::connected()
-{
-set_specific();
-return single_value->field_connected;
-}
-
-const MNCC__number_template& MNCC__PDU__Signal_template::connected() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field connected of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_connected;
-}
-
-MNCC__cause_template& MNCC__PDU__Signal_template::cause()
-{
-set_specific();
-return single_value->field_cause;
-}
-
-const MNCC__cause_template& MNCC__PDU__Signal_template::cause() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cause of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_cause;
-}
-
-MNCC__progress_template& MNCC__PDU__Signal_template::progress()
-{
-set_specific();
-return single_value->field_progress;
-}
-
-const MNCC__progress_template& MNCC__PDU__Signal_template::progress() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field progress of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_progress;
-}
-
-MNCC__useruser_template& MNCC__PDU__Signal_template::useruser()
-{
-set_specific();
-return single_value->field_useruser;
-}
-
-const MNCC__useruser_template& MNCC__PDU__Signal_template::useruser() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field useruser of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_useruser;
-}
-
-CHARSTRING_template& MNCC__PDU__Signal_template::facility()
-{
-set_specific();
-return single_value->field_facility;
-}
-
-const CHARSTRING_template& MNCC__PDU__Signal_template::facility() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field facility of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_facility;
-}
-
-MNCC__cccap_template& MNCC__PDU__Signal_template::cccap()
-{
-set_specific();
-return single_value->field_cccap;
-}
-
-const MNCC__cccap_template& MNCC__PDU__Signal_template::cccap() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cccap of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_cccap;
-}
-
-CHARSTRING_template& MNCC__PDU__Signal_template::ssversion()
-{
-set_specific();
-return single_value->field_ssversion;
-}
-
-const CHARSTRING_template& MNCC__PDU__Signal_template::ssversion() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ssversion of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_ssversion;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::clir__sup()
-{
-set_specific();
-return single_value->field_clir__sup;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::clir__sup() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field clir_sup of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_clir__sup;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::clir__inv()
-{
-set_specific();
-return single_value->field_clir__inv;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::clir__inv() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field clir_inv of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_clir__inv;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::signal()
-{
-set_specific();
-return single_value->field_signal;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::signal() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field signal of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_signal;
-}
-
-CHARSTRING_template& MNCC__PDU__Signal_template::keypad()
-{
-set_specific();
-return single_value->field_keypad;
-}
-
-const CHARSTRING_template& MNCC__PDU__Signal_template::keypad() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field keypad of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_keypad;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::more()
-{
-set_specific();
-return single_value->field_more;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::more() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field more of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_more;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::notify()
-{
-set_specific();
-return single_value->field_notify;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::notify() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field notify of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_notify;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::emergency()
-{
-set_specific();
-return single_value->field_emergency;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::emergency() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field emergency of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_emergency;
-}
-
-CHARSTRING_template& MNCC__PDU__Signal_template::imsi()
-{
-set_specific();
-return single_value->field_imsi;
-}
-
-const CHARSTRING_template& MNCC__PDU__Signal_template::imsi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field imsi of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_imsi;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::lchan__type()
-{
-set_specific();
-return single_value->field_lchan__type;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::lchan__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lchan_type of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_lchan__type;
-}
-
-INTEGER_template& MNCC__PDU__Signal_template::lchan__mode()
-{
-set_specific();
-return single_value->field_lchan__mode;
-}
-
-const INTEGER_template& MNCC__PDU__Signal_template::lchan__mode() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lchan_mode of a non-specific template of type @MNCC_Types.MNCC_PDU_Signal.");
-return single_value->field_lchan__mode;
-}
-
-int MNCC__PDU__Signal_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- { int ret_val = 8;
- if (single_value->field_bearer__cap.is_present()) ret_val++;
- if (single_value->field_called.is_present()) ret_val++;
- if (single_value->field_calling.is_present()) ret_val++;
- if (single_value->field_redirecting.is_present()) ret_val++;
- if (single_value->field_connected.is_present()) ret_val++;
- if (single_value->field_cause.is_present()) ret_val++;
- if (single_value->field_progress.is_present()) ret_val++;
- if (single_value->field_useruser.is_present()) ret_val++;
- if (single_value->field_facility.is_present()) ret_val++;
- if (single_value->field_cccap.is_present()) ret_val++;
- if (single_value->field_ssversion.is_present()) ret_val++;
- if (single_value->field_signal.is_present()) ret_val++;
- if (single_value->field_keypad.is_present()) ret_val++;
- if (single_value->field_emergency.is_present()) ret_val++;
- return ret_val;
- }
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Signal containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Signal.");
- }
- return 0;
-}
-
-void MNCC__PDU__Signal_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log();
-TTCN_Logger::log_event_str(", bearer_cap := ");
-single_value->field_bearer__cap.log();
-TTCN_Logger::log_event_str(", called := ");
-single_value->field_called.log();
-TTCN_Logger::log_event_str(", calling := ");
-single_value->field_calling.log();
-TTCN_Logger::log_event_str(", redirecting := ");
-single_value->field_redirecting.log();
-TTCN_Logger::log_event_str(", connected := ");
-single_value->field_connected.log();
-TTCN_Logger::log_event_str(", cause := ");
-single_value->field_cause.log();
-TTCN_Logger::log_event_str(", progress := ");
-single_value->field_progress.log();
-TTCN_Logger::log_event_str(", useruser := ");
-single_value->field_useruser.log();
-TTCN_Logger::log_event_str(", facility := ");
-single_value->field_facility.log();
-TTCN_Logger::log_event_str(", cccap := ");
-single_value->field_cccap.log();
-TTCN_Logger::log_event_str(", ssversion := ");
-single_value->field_ssversion.log();
-TTCN_Logger::log_event_str(", clir_sup := ");
-single_value->field_clir__sup.log();
-TTCN_Logger::log_event_str(", clir_inv := ");
-single_value->field_clir__inv.log();
-TTCN_Logger::log_event_str(", signal := ");
-single_value->field_signal.log();
-TTCN_Logger::log_event_str(", keypad := ");
-single_value->field_keypad.log();
-TTCN_Logger::log_event_str(", more := ");
-single_value->field_more.log();
-TTCN_Logger::log_event_str(", notify := ");
-single_value->field_notify.log();
-TTCN_Logger::log_event_str(", emergency := ");
-single_value->field_emergency.log();
-TTCN_Logger::log_event_str(", imsi := ");
-single_value->field_imsi.log();
-TTCN_Logger::log_event_str(", lchan_type := ");
-single_value->field_lchan__type.log();
-TTCN_Logger::log_event_str(", lchan_mode := ");
-single_value->field_lchan__mode.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__PDU__Signal_template::log_match(const MNCC__PDU__Signal& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_callref.match(match_value.callref(), legacy)){
-TTCN_Logger::log_logmatch_info(".callref");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if (match_value.bearer__cap().ispresent()){
-if(!single_value->field_bearer__cap.match(match_value.bearer__cap(), legacy)){
-TTCN_Logger::log_logmatch_info(".bearer_cap");
-single_value->field_bearer__cap.log_match(match_value.bearer__cap(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_bearer__cap.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".bearer_cap := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_bearer__cap.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.called().ispresent()){
-if(!single_value->field_called.match(match_value.called(), legacy)){
-TTCN_Logger::log_logmatch_info(".called");
-single_value->field_called.log_match(match_value.called(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_called.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".called := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_called.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.calling().ispresent()){
-if(!single_value->field_calling.match(match_value.calling(), legacy)){
-TTCN_Logger::log_logmatch_info(".calling");
-single_value->field_calling.log_match(match_value.calling(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_calling.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".calling := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_calling.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.redirecting().ispresent()){
-if(!single_value->field_redirecting.match(match_value.redirecting(), legacy)){
-TTCN_Logger::log_logmatch_info(".redirecting");
-single_value->field_redirecting.log_match(match_value.redirecting(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_redirecting.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".redirecting := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_redirecting.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.connected().ispresent()){
-if(!single_value->field_connected.match(match_value.connected(), legacy)){
-TTCN_Logger::log_logmatch_info(".connected");
-single_value->field_connected.log_match(match_value.connected(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_connected.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".connected := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_connected.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.cause().ispresent()){
-if(!single_value->field_cause.match(match_value.cause(), legacy)){
-TTCN_Logger::log_logmatch_info(".cause");
-single_value->field_cause.log_match(match_value.cause(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_cause.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".cause := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_cause.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.progress().ispresent()){
-if(!single_value->field_progress.match(match_value.progress(), legacy)){
-TTCN_Logger::log_logmatch_info(".progress");
-single_value->field_progress.log_match(match_value.progress(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_progress.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".progress := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_progress.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.useruser().ispresent()){
-if(!single_value->field_useruser.match(match_value.useruser(), legacy)){
-TTCN_Logger::log_logmatch_info(".useruser");
-single_value->field_useruser.log_match(match_value.useruser(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_useruser.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".useruser := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_useruser.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.facility().ispresent()){
-if(!single_value->field_facility.match(match_value.facility(), legacy)){
-TTCN_Logger::log_logmatch_info(".facility");
-single_value->field_facility.log_match(match_value.facility(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_facility.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".facility := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_facility.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.cccap().ispresent()){
-if(!single_value->field_cccap.match(match_value.cccap(), legacy)){
-TTCN_Logger::log_logmatch_info(".cccap");
-single_value->field_cccap.log_match(match_value.cccap(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_cccap.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".cccap := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_cccap.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.ssversion().ispresent()){
-if(!single_value->field_ssversion.match(match_value.ssversion(), legacy)){
-TTCN_Logger::log_logmatch_info(".ssversion");
-single_value->field_ssversion.log_match(match_value.ssversion(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_ssversion.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".ssversion := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_ssversion.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if(!single_value->field_clir__sup.match(match_value.clir__sup(), legacy)){
-TTCN_Logger::log_logmatch_info(".clir_sup");
-single_value->field_clir__sup.log_match(match_value.clir__sup(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_clir__inv.match(match_value.clir__inv(), legacy)){
-TTCN_Logger::log_logmatch_info(".clir_inv");
-single_value->field_clir__inv.log_match(match_value.clir__inv(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if (match_value.signal().ispresent()){
-if(!single_value->field_signal.match(match_value.signal(), legacy)){
-TTCN_Logger::log_logmatch_info(".signal");
-single_value->field_signal.log_match(match_value.signal(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_signal.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".signal := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_signal.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if (match_value.keypad().ispresent()){
-if(!single_value->field_keypad.match(match_value.keypad(), legacy)){
-TTCN_Logger::log_logmatch_info(".keypad");
-single_value->field_keypad.log_match(match_value.keypad(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_keypad.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".keypad := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_keypad.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if(!single_value->field_more.match(match_value.more(), legacy)){
-TTCN_Logger::log_logmatch_info(".more");
-single_value->field_more.log_match(match_value.more(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_notify.match(match_value.notify(), legacy)){
-TTCN_Logger::log_logmatch_info(".notify");
-single_value->field_notify.log_match(match_value.notify(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if (match_value.emergency().ispresent()){
-if(!single_value->field_emergency.match(match_value.emergency(), legacy)){
-TTCN_Logger::log_logmatch_info(".emergency");
-single_value->field_emergency.log_match(match_value.emergency(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-} else {
-if (!single_value->field_emergency.match_omit(legacy)){
- TTCN_Logger::log_logmatch_info(".emergency := omit with ");
-TTCN_Logger::print_logmatch_buffer();
-single_value->field_emergency.log();
-TTCN_Logger::log_event_str(" unmatched");
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-if(!single_value->field_imsi.match(match_value.imsi(), legacy)){
-TTCN_Logger::log_logmatch_info(".imsi");
-single_value->field_imsi.log_match(match_value.imsi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lchan__type.match(match_value.lchan__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".lchan_type");
-single_value->field_lchan__type.log_match(match_value.lchan__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lchan__mode.match(match_value.lchan__mode(), legacy)){
-TTCN_Logger::log_logmatch_info(".lchan_mode");
-single_value->field_lchan__mode.log_match(match_value.lchan__mode(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::log_event_str(", bearer_cap := ");
-if (match_value.bearer__cap().ispresent()) single_value->field_bearer__cap.log_match(match_value.bearer__cap(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_bearer__cap.log();
-if (single_value->field_bearer__cap.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", called := ");
-if (match_value.called().ispresent()) single_value->field_called.log_match(match_value.called(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_called.log();
-if (single_value->field_called.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", calling := ");
-if (match_value.calling().ispresent()) single_value->field_calling.log_match(match_value.calling(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_calling.log();
-if (single_value->field_calling.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", redirecting := ");
-if (match_value.redirecting().ispresent()) single_value->field_redirecting.log_match(match_value.redirecting(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_redirecting.log();
-if (single_value->field_redirecting.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", connected := ");
-if (match_value.connected().ispresent()) single_value->field_connected.log_match(match_value.connected(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_connected.log();
-if (single_value->field_connected.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", cause := ");
-if (match_value.cause().ispresent()) single_value->field_cause.log_match(match_value.cause(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_cause.log();
-if (single_value->field_cause.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", progress := ");
-if (match_value.progress().ispresent()) single_value->field_progress.log_match(match_value.progress(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_progress.log();
-if (single_value->field_progress.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", useruser := ");
-if (match_value.useruser().ispresent()) single_value->field_useruser.log_match(match_value.useruser(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_useruser.log();
-if (single_value->field_useruser.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", facility := ");
-if (match_value.facility().ispresent()) single_value->field_facility.log_match(match_value.facility(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_facility.log();
-if (single_value->field_facility.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", cccap := ");
-if (match_value.cccap().ispresent()) single_value->field_cccap.log_match(match_value.cccap(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_cccap.log();
-if (single_value->field_cccap.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", ssversion := ");
-if (match_value.ssversion().ispresent()) single_value->field_ssversion.log_match(match_value.ssversion(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_ssversion.log();
-if (single_value->field_ssversion.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", clir_sup := ");
-single_value->field_clir__sup.log_match(match_value.clir__sup(), legacy);
-TTCN_Logger::log_event_str(", clir_inv := ");
-single_value->field_clir__inv.log_match(match_value.clir__inv(), legacy);
-TTCN_Logger::log_event_str(", signal := ");
-if (match_value.signal().ispresent()) single_value->field_signal.log_match(match_value.signal(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_signal.log();
-if (single_value->field_signal.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", keypad := ");
-if (match_value.keypad().ispresent()) single_value->field_keypad.log_match(match_value.keypad(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_keypad.log();
-if (single_value->field_keypad.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", more := ");
-single_value->field_more.log_match(match_value.more(), legacy);
-TTCN_Logger::log_event_str(", notify := ");
-single_value->field_notify.log_match(match_value.notify(), legacy);
-TTCN_Logger::log_event_str(", emergency := ");
-if (match_value.emergency().ispresent()) single_value->field_emergency.log_match(match_value.emergency(), legacy);
-else {
-TTCN_Logger::log_event_str("omit with ");
-single_value->field_emergency.log();
-if (single_value->field_emergency.match_omit(legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-TTCN_Logger::log_event_str(", imsi := ");
-single_value->field_imsi.log_match(match_value.imsi(), legacy);
-TTCN_Logger::log_event_str(", lchan_type := ");
-single_value->field_lchan__type.log_match(match_value.lchan__type(), legacy);
-TTCN_Logger::log_event_str(", lchan_mode := ");
-single_value->field_lchan__mode.log_match(match_value.lchan__mode(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__PDU__Signal_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_callref.encode_text(text_buf);
-single_value->field_bearer__cap.encode_text(text_buf);
-single_value->field_called.encode_text(text_buf);
-single_value->field_calling.encode_text(text_buf);
-single_value->field_redirecting.encode_text(text_buf);
-single_value->field_connected.encode_text(text_buf);
-single_value->field_cause.encode_text(text_buf);
-single_value->field_progress.encode_text(text_buf);
-single_value->field_useruser.encode_text(text_buf);
-single_value->field_facility.encode_text(text_buf);
-single_value->field_cccap.encode_text(text_buf);
-single_value->field_ssversion.encode_text(text_buf);
-single_value->field_clir__sup.encode_text(text_buf);
-single_value->field_clir__inv.encode_text(text_buf);
-single_value->field_signal.encode_text(text_buf);
-single_value->field_keypad.encode_text(text_buf);
-single_value->field_more.encode_text(text_buf);
-single_value->field_notify.encode_text(text_buf);
-single_value->field_emergency.encode_text(text_buf);
-single_value->field_imsi.encode_text(text_buf);
-single_value->field_lchan__type.encode_text(text_buf);
-single_value->field_lchan__mode.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Signal.");
-}
-}
-
-void MNCC__PDU__Signal_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_callref.decode_text(text_buf);
-single_value->field_bearer__cap.decode_text(text_buf);
-single_value->field_called.decode_text(text_buf);
-single_value->field_calling.decode_text(text_buf);
-single_value->field_redirecting.decode_text(text_buf);
-single_value->field_connected.decode_text(text_buf);
-single_value->field_cause.decode_text(text_buf);
-single_value->field_progress.decode_text(text_buf);
-single_value->field_useruser.decode_text(text_buf);
-single_value->field_facility.decode_text(text_buf);
-single_value->field_cccap.decode_text(text_buf);
-single_value->field_ssversion.decode_text(text_buf);
-single_value->field_clir__sup.decode_text(text_buf);
-single_value->field_clir__inv.decode_text(text_buf);
-single_value->field_signal.decode_text(text_buf);
-single_value->field_keypad.decode_text(text_buf);
-single_value->field_more.decode_text(text_buf);
-single_value->field_notify.decode_text(text_buf);
-single_value->field_emergency.decode_text(text_buf);
-single_value->field_imsi.decode_text(text_buf);
-single_value->field_lchan__type.decode_text(text_buf);
-single_value->field_lchan__mode.decode_text(text_buf);
-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 MNCC__PDU__Signal_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_PDU_Signal.");
-}
-}
-
-void MNCC__PDU__Signal_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__PDU__Signal_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (22<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_PDU_Signal has 22 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) bearer__cap().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) called().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) calling().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) redirecting().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) connected().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) cause().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) progress().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) useruser().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) facility().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) cccap().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) ssversion().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) clir__sup().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) clir__inv().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) signal().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) keypad().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) more().set_param(*param.get_elem(16));
- if (param.get_size()>17 && param.get_elem(17)->get_type()!=Module_Param::MP_NotUsed) notify().set_param(*param.get_elem(17));
- if (param.get_size()>18 && param.get_elem(18)->get_type()!=Module_Param::MP_NotUsed) emergency().set_param(*param.get_elem(18));
- if (param.get_size()>19 && param.get_elem(19)->get_type()!=Module_Param::MP_NotUsed) imsi().set_param(*param.get_elem(19));
- if (param.get_size()>20 && param.get_elem(20)->get_type()!=Module_Param::MP_NotUsed) lchan__type().set_param(*param.get_elem(20));
- if (param.get_size()>21 && param.get_elem(21)->get_type()!=Module_Param::MP_NotUsed) lchan__mode().set_param(*param.get_elem(21));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bearer_cap")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bearer__cap().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "called")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- called().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "calling")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- calling().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "redirecting")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- redirecting().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "connected")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- connected().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cause")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cause().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "progress")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- progress().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "useruser")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- useruser().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "facility")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- facility().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cccap")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cccap().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ssversion")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ssversion().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "clir_sup")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- clir__sup().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "clir_inv")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- clir__inv().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "signal")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- signal().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "keypad")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- keypad().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "more")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- more().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "notify")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- notify().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "emergency")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- emergency().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "imsi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- imsi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_mode")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__mode().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Signal: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_PDU_Signal");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__PDU__Signal_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_callref.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_bearer__cap.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_called.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_calling.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_redirecting.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_connected.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_cause.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_progress.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_useruser.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_facility.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_cccap.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_ssversion.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_clir__sup.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_clir__inv.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_signal.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_keypad.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_more.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_notify.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_emergency.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_imsi.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_lchan__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-single_value->field_lchan__mode.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Signal");
-return;
-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 : "@MNCC_Types.MNCC_PDU_Signal");
-}
-
-boolean MNCC__PDU__Signal_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__PDU__Signal_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__PDU__Data::MNCC__PDU__Data()
-{
-}
-
-MNCC__PDU__Data::MNCC__PDU__Data(const INTEGER& par_callref,
- const OCTETSTRING& par_data)
- : field_callref(par_callref),
- field_data(par_data)
-{
-}
-
-MNCC__PDU__Data::MNCC__PDU__Data(const MNCC__PDU__Data& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_PDU_Data.");
-if (other_value.callref().is_bound()) field_callref = other_value.callref();
-else field_callref.clean_up();
-if (other_value.data().is_bound()) field_data = other_value.data();
-else field_data.clean_up();
-}
-
-void MNCC__PDU__Data::clean_up()
-{
-field_callref.clean_up();
-field_data.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__PDU__Data::get_descriptor() const { return &MNCC__PDU__Data_descr_; }
-MNCC__PDU__Data& MNCC__PDU__Data::operator=(const MNCC__PDU__Data& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_PDU_Data.");
- if (other_value.callref().is_bound()) field_callref = other_value.callref();
- else field_callref.clean_up();
- if (other_value.data().is_bound()) field_data = other_value.data();
- else field_data.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__PDU__Data::operator==(const MNCC__PDU__Data& other_value) const
-{
-return field_callref==other_value.field_callref
- && field_data==other_value.field_data;
-}
-
-boolean MNCC__PDU__Data::is_bound() const
-{
-if(field_callref.is_bound()) return TRUE;
-if(field_data.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__PDU__Data::is_value() const
-{
-if(!field_callref.is_value()) return FALSE;
-if(!field_data.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__PDU__Data::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ callref := ");
-field_callref.log();
-TTCN_Logger::log_event_str(", data := ");
-field_data.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__PDU__Data::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_PDU_Data has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_PDU_Data");
- }
-}
-
-void MNCC__PDU__Data::set_implicit_omit()
-{
-if (callref().is_bound()) callref().set_implicit_omit();
-if (data().is_bound()) data().set_implicit_omit();
-}
-
-void MNCC__PDU__Data::encode_text(Text_Buf& text_buf) const
-{
-field_callref.encode_text(text_buf);
-field_data.encode_text(text_buf);
-}
-
-void MNCC__PDU__Data::decode_text(Text_Buf& text_buf)
-{
-field_callref.decode_text(text_buf);
-field_data.decode_text(text_buf);
-}
-
-void MNCC__PDU__Data::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__PDU__Data::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__PDU__Data::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__PDU__Data_callref_descr_.raw->forceomit);
- decoded_field_length = field_callref.RAW_decode(MNCC__PDU__Data_callref_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__PDU__Data_data_descr_.raw->forceomit);
- decoded_field_length = field_data.RAW_decode(MNCC__PDU__Data_data_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__PDU__Data::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__PDU__Data_callref_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__PDU__Data_data_descr_.raw);
- encoded_length += field_callref.RAW_encode(MNCC__PDU__Data_callref_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_data.RAW_encode(MNCC__PDU__Data_data_descr_, *myleaf.body.node.nodes[1]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__PDU__Data_template::single_value_struct {
-INTEGER_template field_callref;
-OCTETSTRING_template field_data;
-};
-
-void MNCC__PDU__Data_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_callref = ANY_VALUE;
-single_value->field_data = ANY_VALUE;
-}
-}
-}
-
-void MNCC__PDU__Data_template::copy_value(const MNCC__PDU__Data& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.callref().is_bound()) {
- single_value->field_callref = other_value.callref();
-} else {
- single_value->field_callref.clean_up();
-}
-if (other_value.data().is_bound()) {
- single_value->field_data = other_value.data();
-} else {
- single_value->field_data.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__PDU__Data_template::copy_template(const MNCC__PDU__Data_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.callref().get_selection()) {
-single_value->field_callref = other_value.callref();
-} else {
-single_value->field_callref.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.data().get_selection()) {
-single_value->field_data = other_value.data();
-} else {
-single_value->field_data.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__PDU__Data_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Data.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__PDU__Data_template::MNCC__PDU__Data_template()
-{
-}
-
-MNCC__PDU__Data_template::MNCC__PDU__Data_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__PDU__Data_template::MNCC__PDU__Data_template(const MNCC__PDU__Data& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__PDU__Data_template::MNCC__PDU__Data_template(const OPTIONAL<MNCC__PDU__Data>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_PDU_Data from an unbound optional field.");
-}
-}
-
-MNCC__PDU__Data_template::MNCC__PDU__Data_template(const MNCC__PDU__Data_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__PDU__Data_template::~MNCC__PDU__Data_template()
-{
-clean_up();
-}
-
-MNCC__PDU__Data_template& MNCC__PDU__Data_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__PDU__Data_template& MNCC__PDU__Data_template::operator=(const MNCC__PDU__Data& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__PDU__Data_template& MNCC__PDU__Data_template::operator=(const OPTIONAL<MNCC__PDU__Data>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_PDU_Data.");
-}
-return *this;
-}
-
-MNCC__PDU__Data_template& MNCC__PDU__Data_template::operator=(const MNCC__PDU__Data_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__PDU__Data_template::match(const MNCC__PDU__Data& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.callref().is_bound()) return FALSE;
-if(!single_value->field_callref.match(other_value.callref(), legacy))return FALSE;
-if(!other_value.data().is_bound()) return FALSE;
-if(!single_value->field_data.match(other_value.data(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Data.");
-}
-return FALSE;
-}
-
-boolean MNCC__PDU__Data_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_callref.is_bound()) return TRUE;
-if (single_value->field_data.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__PDU__Data_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_callref.is_value()) return FALSE;
-if (!single_value->field_data.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__PDU__Data_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__PDU__Data MNCC__PDU__Data_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_PDU_Data.");
-MNCC__PDU__Data ret_val;
-if (single_value->field_callref.is_bound()) {
-ret_val.callref() = single_value->field_callref.valueof();
-}
-if (single_value->field_data.is_bound()) {
-ret_val.data() = single_value->field_data.valueof();
-}
-return ret_val;
-}
-
-void MNCC__PDU__Data_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_PDU_Data.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__PDU__Data_template[list_length];
-}
-
-MNCC__PDU__Data_template& MNCC__PDU__Data_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_PDU_Data.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_PDU_Data.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__PDU__Data_template::callref()
-{
-set_specific();
-return single_value->field_callref;
-}
-
-const INTEGER_template& MNCC__PDU__Data_template::callref() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field callref of a non-specific template of type @MNCC_Types.MNCC_PDU_Data.");
-return single_value->field_callref;
-}
-
-OCTETSTRING_template& MNCC__PDU__Data_template::data()
-{
-set_specific();
-return single_value->field_data;
-}
-
-const OCTETSTRING_template& MNCC__PDU__Data_template::data() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field data of a non-specific template of type @MNCC_Types.MNCC_PDU_Data.");
-return single_value->field_data;
-}
-
-int MNCC__PDU__Data_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Data containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Data.");
- }
- return 0;
-}
-
-void MNCC__PDU__Data_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log();
-TTCN_Logger::log_event_str(", data := ");
-single_value->field_data.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__PDU__Data_template::log_match(const MNCC__PDU__Data& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_callref.match(match_value.callref(), legacy)){
-TTCN_Logger::log_logmatch_info(".callref");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_data.match(match_value.data(), legacy)){
-TTCN_Logger::log_logmatch_info(".data");
-single_value->field_data.log_match(match_value.data(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::log_event_str(", data := ");
-single_value->field_data.log_match(match_value.data(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__PDU__Data_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_callref.encode_text(text_buf);
-single_value->field_data.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Data.");
-}
-}
-
-void MNCC__PDU__Data_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_callref.decode_text(text_buf);
-single_value->field_data.decode_text(text_buf);
-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 MNCC__PDU__Data_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_PDU_Data.");
-}
-}
-
-void MNCC__PDU__Data_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__PDU__Data_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_PDU_Data has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_PDU_Data");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__PDU__Data_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_callref.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Data");
-single_value->field_data.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Data");
-return;
-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 : "@MNCC_Types.MNCC_PDU_Data");
-}
-
-boolean MNCC__PDU__Data_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__PDU__Data_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__PDU__Rtp::MNCC__PDU__Rtp()
-{
-}
-
-MNCC__PDU__Rtp::MNCC__PDU__Rtp(const INTEGER& par_callref,
- const INTEGER& par_ip,
- const INTEGER& par_rtp__port,
- const INTEGER& par_payload__type,
- const INTEGER& par_payload__msg__type)
- : field_callref(par_callref),
- field_ip(par_ip),
- field_rtp__port(par_rtp__port),
- field_payload__type(par_payload__type),
- field_payload__msg__type(par_payload__msg__type)
-{
-}
-
-MNCC__PDU__Rtp::MNCC__PDU__Rtp(const MNCC__PDU__Rtp& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_PDU_Rtp.");
-if (other_value.callref().is_bound()) field_callref = other_value.callref();
-else field_callref.clean_up();
-if (other_value.ip().is_bound()) field_ip = other_value.ip();
-else field_ip.clean_up();
-if (other_value.rtp__port().is_bound()) field_rtp__port = other_value.rtp__port();
-else field_rtp__port.clean_up();
-if (other_value.payload__type().is_bound()) field_payload__type = other_value.payload__type();
-else field_payload__type.clean_up();
-if (other_value.payload__msg__type().is_bound()) field_payload__msg__type = other_value.payload__msg__type();
-else field_payload__msg__type.clean_up();
-}
-
-void MNCC__PDU__Rtp::clean_up()
-{
-field_callref.clean_up();
-field_ip.clean_up();
-field_rtp__port.clean_up();
-field_payload__type.clean_up();
-field_payload__msg__type.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__PDU__Rtp::get_descriptor() const { return &MNCC__PDU__Rtp_descr_; }
-MNCC__PDU__Rtp& MNCC__PDU__Rtp::operator=(const MNCC__PDU__Rtp& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_PDU_Rtp.");
- if (other_value.callref().is_bound()) field_callref = other_value.callref();
- else field_callref.clean_up();
- if (other_value.ip().is_bound()) field_ip = other_value.ip();
- else field_ip.clean_up();
- if (other_value.rtp__port().is_bound()) field_rtp__port = other_value.rtp__port();
- else field_rtp__port.clean_up();
- if (other_value.payload__type().is_bound()) field_payload__type = other_value.payload__type();
- else field_payload__type.clean_up();
- if (other_value.payload__msg__type().is_bound()) field_payload__msg__type = other_value.payload__msg__type();
- else field_payload__msg__type.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__PDU__Rtp::operator==(const MNCC__PDU__Rtp& other_value) const
-{
-return field_callref==other_value.field_callref
- && field_ip==other_value.field_ip
- && field_rtp__port==other_value.field_rtp__port
- && field_payload__type==other_value.field_payload__type
- && field_payload__msg__type==other_value.field_payload__msg__type;
-}
-
-boolean MNCC__PDU__Rtp::is_bound() const
-{
-if(field_callref.is_bound()) return TRUE;
-if(field_ip.is_bound()) return TRUE;
-if(field_rtp__port.is_bound()) return TRUE;
-if(field_payload__type.is_bound()) return TRUE;
-if(field_payload__msg__type.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__PDU__Rtp::is_value() const
-{
-if(!field_callref.is_value()) return FALSE;
-if(!field_ip.is_value()) return FALSE;
-if(!field_rtp__port.is_value()) return FALSE;
-if(!field_payload__type.is_value()) return FALSE;
-if(!field_payload__msg__type.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__PDU__Rtp::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ callref := ");
-field_callref.log();
-TTCN_Logger::log_event_str(", ip := ");
-field_ip.log();
-TTCN_Logger::log_event_str(", rtp_port := ");
-field_rtp__port.log();
-TTCN_Logger::log_event_str(", payload_type := ");
-field_payload__type.log();
-TTCN_Logger::log_event_str(", payload_msg_type := ");
-field_payload__msg__type.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__PDU__Rtp::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_PDU_Rtp has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ip().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) rtp__port().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) payload__type().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) payload__msg__type().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ip")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ip().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rtp_port")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rtp__port().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "payload_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- payload__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "payload_msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- payload__msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Rtp: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_PDU_Rtp");
- }
-}
-
-void MNCC__PDU__Rtp::set_implicit_omit()
-{
-if (callref().is_bound()) callref().set_implicit_omit();
-if (ip().is_bound()) ip().set_implicit_omit();
-if (rtp__port().is_bound()) rtp__port().set_implicit_omit();
-if (payload__type().is_bound()) payload__type().set_implicit_omit();
-if (payload__msg__type().is_bound()) payload__msg__type().set_implicit_omit();
-}
-
-void MNCC__PDU__Rtp::encode_text(Text_Buf& text_buf) const
-{
-field_callref.encode_text(text_buf);
-field_ip.encode_text(text_buf);
-field_rtp__port.encode_text(text_buf);
-field_payload__type.encode_text(text_buf);
-field_payload__msg__type.encode_text(text_buf);
-}
-
-void MNCC__PDU__Rtp::decode_text(Text_Buf& text_buf)
-{
-field_callref.decode_text(text_buf);
-field_ip.decode_text(text_buf);
-field_rtp__port.decode_text(text_buf);
-field_payload__type.decode_text(text_buf);
-field_payload__msg__type.decode_text(text_buf);
-}
-
-void MNCC__PDU__Rtp::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__PDU__Rtp::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__PDU__Rtp::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__PDU__Rtp_callref_descr_.raw->forceomit);
- decoded_field_length = field_callref.RAW_decode(MNCC__PDU__Rtp_callref_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__PDU__Rtp_ip_descr_.raw->forceomit);
- decoded_field_length = field_ip.RAW_decode(MNCC__PDU__Rtp_ip_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__PDU__Rtp_rtp__port_descr_.raw->forceomit);
- decoded_field_length = field_rtp__port.RAW_decode(MNCC__PDU__Rtp_rtp__port_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__PDU__Rtp_payload__type_descr_.raw->forceomit);
- decoded_field_length = field_payload__type.RAW_decode(MNCC__PDU__Rtp_payload__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__PDU__Rtp_payload__msg__type_descr_.raw->forceomit);
- decoded_field_length = field_payload__msg__type.RAW_decode(MNCC__PDU__Rtp_payload__msg__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__PDU__Rtp::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 5;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(5);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__PDU__Rtp_callref_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__PDU__Rtp_ip_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__PDU__Rtp_rtp__port_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__PDU__Rtp_payload__type_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__PDU__Rtp_payload__msg__type_descr_.raw);
- encoded_length += field_callref.RAW_encode(MNCC__PDU__Rtp_callref_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_ip.RAW_encode(MNCC__PDU__Rtp_ip_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_rtp__port.RAW_encode(MNCC__PDU__Rtp_rtp__port_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_payload__type.RAW_encode(MNCC__PDU__Rtp_payload__type_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_payload__msg__type.RAW_encode(MNCC__PDU__Rtp_payload__msg__type_descr_, *myleaf.body.node.nodes[4]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__PDU__Rtp_template::single_value_struct {
-INTEGER_template field_callref;
-INTEGER_template field_ip;
-INTEGER_template field_rtp__port;
-INTEGER_template field_payload__type;
-INTEGER_template field_payload__msg__type;
-};
-
-void MNCC__PDU__Rtp_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_callref = ANY_VALUE;
-single_value->field_ip = ANY_VALUE;
-single_value->field_rtp__port = ANY_VALUE;
-single_value->field_payload__type = ANY_VALUE;
-single_value->field_payload__msg__type = ANY_VALUE;
-}
-}
-}
-
-void MNCC__PDU__Rtp_template::copy_value(const MNCC__PDU__Rtp& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.callref().is_bound()) {
- single_value->field_callref = other_value.callref();
-} else {
- single_value->field_callref.clean_up();
-}
-if (other_value.ip().is_bound()) {
- single_value->field_ip = other_value.ip();
-} else {
- single_value->field_ip.clean_up();
-}
-if (other_value.rtp__port().is_bound()) {
- single_value->field_rtp__port = other_value.rtp__port();
-} else {
- single_value->field_rtp__port.clean_up();
-}
-if (other_value.payload__type().is_bound()) {
- single_value->field_payload__type = other_value.payload__type();
-} else {
- single_value->field_payload__type.clean_up();
-}
-if (other_value.payload__msg__type().is_bound()) {
- single_value->field_payload__msg__type = other_value.payload__msg__type();
-} else {
- single_value->field_payload__msg__type.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__PDU__Rtp_template::copy_template(const MNCC__PDU__Rtp_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.callref().get_selection()) {
-single_value->field_callref = other_value.callref();
-} else {
-single_value->field_callref.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ip().get_selection()) {
-single_value->field_ip = other_value.ip();
-} else {
-single_value->field_ip.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rtp__port().get_selection()) {
-single_value->field_rtp__port = other_value.rtp__port();
-} else {
-single_value->field_rtp__port.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.payload__type().get_selection()) {
-single_value->field_payload__type = other_value.payload__type();
-} else {
-single_value->field_payload__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.payload__msg__type().get_selection()) {
-single_value->field_payload__msg__type = other_value.payload__msg__type();
-} else {
-single_value->field_payload__msg__type.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__PDU__Rtp_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Rtp.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__PDU__Rtp_template::MNCC__PDU__Rtp_template()
-{
-}
-
-MNCC__PDU__Rtp_template::MNCC__PDU__Rtp_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__PDU__Rtp_template::MNCC__PDU__Rtp_template(const MNCC__PDU__Rtp& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__PDU__Rtp_template::MNCC__PDU__Rtp_template(const OPTIONAL<MNCC__PDU__Rtp>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Rtp&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_PDU_Rtp from an unbound optional field.");
-}
-}
-
-MNCC__PDU__Rtp_template::MNCC__PDU__Rtp_template(const MNCC__PDU__Rtp_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__PDU__Rtp_template::~MNCC__PDU__Rtp_template()
-{
-clean_up();
-}
-
-MNCC__PDU__Rtp_template& MNCC__PDU__Rtp_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__PDU__Rtp_template& MNCC__PDU__Rtp_template::operator=(const MNCC__PDU__Rtp& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__PDU__Rtp_template& MNCC__PDU__Rtp_template::operator=(const OPTIONAL<MNCC__PDU__Rtp>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Rtp&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_PDU_Rtp.");
-}
-return *this;
-}
-
-MNCC__PDU__Rtp_template& MNCC__PDU__Rtp_template::operator=(const MNCC__PDU__Rtp_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__PDU__Rtp_template::match(const MNCC__PDU__Rtp& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.callref().is_bound()) return FALSE;
-if(!single_value->field_callref.match(other_value.callref(), legacy))return FALSE;
-if(!other_value.ip().is_bound()) return FALSE;
-if(!single_value->field_ip.match(other_value.ip(), legacy))return FALSE;
-if(!other_value.rtp__port().is_bound()) return FALSE;
-if(!single_value->field_rtp__port.match(other_value.rtp__port(), legacy))return FALSE;
-if(!other_value.payload__type().is_bound()) return FALSE;
-if(!single_value->field_payload__type.match(other_value.payload__type(), legacy))return FALSE;
-if(!other_value.payload__msg__type().is_bound()) return FALSE;
-if(!single_value->field_payload__msg__type.match(other_value.payload__msg__type(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Rtp.");
-}
-return FALSE;
-}
-
-boolean MNCC__PDU__Rtp_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_callref.is_bound()) return TRUE;
-if (single_value->field_ip.is_bound()) return TRUE;
-if (single_value->field_rtp__port.is_bound()) return TRUE;
-if (single_value->field_payload__type.is_bound()) return TRUE;
-if (single_value->field_payload__msg__type.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__PDU__Rtp_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_callref.is_value()) return FALSE;
-if (!single_value->field_ip.is_value()) return FALSE;
-if (!single_value->field_rtp__port.is_value()) return FALSE;
-if (!single_value->field_payload__type.is_value()) return FALSE;
-if (!single_value->field_payload__msg__type.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__PDU__Rtp_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__PDU__Rtp MNCC__PDU__Rtp_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-MNCC__PDU__Rtp ret_val;
-if (single_value->field_callref.is_bound()) {
-ret_val.callref() = single_value->field_callref.valueof();
-}
-if (single_value->field_ip.is_bound()) {
-ret_val.ip() = single_value->field_ip.valueof();
-}
-if (single_value->field_rtp__port.is_bound()) {
-ret_val.rtp__port() = single_value->field_rtp__port.valueof();
-}
-if (single_value->field_payload__type.is_bound()) {
-ret_val.payload__type() = single_value->field_payload__type.valueof();
-}
-if (single_value->field_payload__msg__type.is_bound()) {
-ret_val.payload__msg__type() = single_value->field_payload__msg__type.valueof();
-}
-return ret_val;
-}
-
-void MNCC__PDU__Rtp_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_PDU_Rtp.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__PDU__Rtp_template[list_length];
-}
-
-MNCC__PDU__Rtp_template& MNCC__PDU__Rtp_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_PDU_Rtp.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__PDU__Rtp_template::callref()
-{
-set_specific();
-return single_value->field_callref;
-}
-
-const INTEGER_template& MNCC__PDU__Rtp_template::callref() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field callref of a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return single_value->field_callref;
-}
-
-INTEGER_template& MNCC__PDU__Rtp_template::ip()
-{
-set_specific();
-return single_value->field_ip;
-}
-
-const INTEGER_template& MNCC__PDU__Rtp_template::ip() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ip of a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return single_value->field_ip;
-}
-
-INTEGER_template& MNCC__PDU__Rtp_template::rtp__port()
-{
-set_specific();
-return single_value->field_rtp__port;
-}
-
-const INTEGER_template& MNCC__PDU__Rtp_template::rtp__port() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rtp_port of a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return single_value->field_rtp__port;
-}
-
-INTEGER_template& MNCC__PDU__Rtp_template::payload__type()
-{
-set_specific();
-return single_value->field_payload__type;
-}
-
-const INTEGER_template& MNCC__PDU__Rtp_template::payload__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field payload_type of a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return single_value->field_payload__type;
-}
-
-INTEGER_template& MNCC__PDU__Rtp_template::payload__msg__type()
-{
-set_specific();
-return single_value->field_payload__msg__type;
-}
-
-const INTEGER_template& MNCC__PDU__Rtp_template::payload__msg__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field payload_msg_type of a non-specific template of type @MNCC_Types.MNCC_PDU_Rtp.");
-return single_value->field_payload__msg__type;
-}
-
-int MNCC__PDU__Rtp_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 5;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Rtp containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Rtp.");
- }
- return 0;
-}
-
-void MNCC__PDU__Rtp_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log();
-TTCN_Logger::log_event_str(", ip := ");
-single_value->field_ip.log();
-TTCN_Logger::log_event_str(", rtp_port := ");
-single_value->field_rtp__port.log();
-TTCN_Logger::log_event_str(", payload_type := ");
-single_value->field_payload__type.log();
-TTCN_Logger::log_event_str(", payload_msg_type := ");
-single_value->field_payload__msg__type.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__PDU__Rtp_template::log_match(const MNCC__PDU__Rtp& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_callref.match(match_value.callref(), legacy)){
-TTCN_Logger::log_logmatch_info(".callref");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ip.match(match_value.ip(), legacy)){
-TTCN_Logger::log_logmatch_info(".ip");
-single_value->field_ip.log_match(match_value.ip(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rtp__port.match(match_value.rtp__port(), legacy)){
-TTCN_Logger::log_logmatch_info(".rtp_port");
-single_value->field_rtp__port.log_match(match_value.rtp__port(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_payload__type.match(match_value.payload__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".payload_type");
-single_value->field_payload__type.log_match(match_value.payload__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_payload__msg__type.match(match_value.payload__msg__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".payload_msg_type");
-single_value->field_payload__msg__type.log_match(match_value.payload__msg__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ callref := ");
-single_value->field_callref.log_match(match_value.callref(), legacy);
-TTCN_Logger::log_event_str(", ip := ");
-single_value->field_ip.log_match(match_value.ip(), legacy);
-TTCN_Logger::log_event_str(", rtp_port := ");
-single_value->field_rtp__port.log_match(match_value.rtp__port(), legacy);
-TTCN_Logger::log_event_str(", payload_type := ");
-single_value->field_payload__type.log_match(match_value.payload__type(), legacy);
-TTCN_Logger::log_event_str(", payload_msg_type := ");
-single_value->field_payload__msg__type.log_match(match_value.payload__msg__type(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__PDU__Rtp_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_callref.encode_text(text_buf);
-single_value->field_ip.encode_text(text_buf);
-single_value->field_rtp__port.encode_text(text_buf);
-single_value->field_payload__type.encode_text(text_buf);
-single_value->field_payload__msg__type.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Rtp.");
-}
-}
-
-void MNCC__PDU__Rtp_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_callref.decode_text(text_buf);
-single_value->field_ip.decode_text(text_buf);
-single_value->field_rtp__port.decode_text(text_buf);
-single_value->field_payload__type.decode_text(text_buf);
-single_value->field_payload__msg__type.decode_text(text_buf);
-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 MNCC__PDU__Rtp_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_PDU_Rtp.");
-}
-}
-
-void MNCC__PDU__Rtp_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__PDU__Rtp_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_PDU_Rtp has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) callref().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ip().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) rtp__port().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) payload__type().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) payload__msg__type().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "callref")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- callref().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ip")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ip().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rtp_port")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rtp__port().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "payload_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- payload__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "payload_msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- payload__msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Rtp: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_PDU_Rtp");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__PDU__Rtp_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_callref.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Rtp");
-single_value->field_ip.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Rtp");
-single_value->field_rtp__port.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Rtp");
-single_value->field_payload__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Rtp");
-single_value->field_payload__msg__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Rtp");
-return;
-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 : "@MNCC_Types.MNCC_PDU_Rtp");
-}
-
-boolean MNCC__PDU__Rtp_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__PDU__Rtp_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-MNCC__PDU__Hello::MNCC__PDU__Hello()
-{
-}
-
-MNCC__PDU__Hello::MNCC__PDU__Hello(const INTEGER& par_version,
- const INTEGER& par_mncc__size,
- const INTEGER& par_data__frame__size,
- const INTEGER& par_called__offset,
- const INTEGER& par_signal__offset,
- const INTEGER& par_emergency__offset,
- const INTEGER& par_lchan__type__offset)
- : field_version(par_version),
- field_mncc__size(par_mncc__size),
- field_data__frame__size(par_data__frame__size),
- field_called__offset(par_called__offset),
- field_signal__offset(par_signal__offset),
- field_emergency__offset(par_emergency__offset),
- field_lchan__type__offset(par_lchan__type__offset)
-{
-}
-
-MNCC__PDU__Hello::MNCC__PDU__Hello(const MNCC__PDU__Hello& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_PDU_Hello.");
-if (other_value.version().is_bound()) field_version = other_value.version();
-else field_version.clean_up();
-if (other_value.mncc__size().is_bound()) field_mncc__size = other_value.mncc__size();
-else field_mncc__size.clean_up();
-if (other_value.data__frame__size().is_bound()) field_data__frame__size = other_value.data__frame__size();
-else field_data__frame__size.clean_up();
-if (other_value.called__offset().is_bound()) field_called__offset = other_value.called__offset();
-else field_called__offset.clean_up();
-if (other_value.signal__offset().is_bound()) field_signal__offset = other_value.signal__offset();
-else field_signal__offset.clean_up();
-if (other_value.emergency__offset().is_bound()) field_emergency__offset = other_value.emergency__offset();
-else field_emergency__offset.clean_up();
-if (other_value.lchan__type__offset().is_bound()) field_lchan__type__offset = other_value.lchan__type__offset();
-else field_lchan__type__offset.clean_up();
-}
-
-void MNCC__PDU__Hello::clean_up()
-{
-field_version.clean_up();
-field_mncc__size.clean_up();
-field_data__frame__size.clean_up();
-field_called__offset.clean_up();
-field_signal__offset.clean_up();
-field_emergency__offset.clean_up();
-field_lchan__type__offset.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__PDU__Hello::get_descriptor() const { return &MNCC__PDU__Hello_descr_; }
-MNCC__PDU__Hello& MNCC__PDU__Hello::operator=(const MNCC__PDU__Hello& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_PDU_Hello.");
- if (other_value.version().is_bound()) field_version = other_value.version();
- else field_version.clean_up();
- if (other_value.mncc__size().is_bound()) field_mncc__size = other_value.mncc__size();
- else field_mncc__size.clean_up();
- if (other_value.data__frame__size().is_bound()) field_data__frame__size = other_value.data__frame__size();
- else field_data__frame__size.clean_up();
- if (other_value.called__offset().is_bound()) field_called__offset = other_value.called__offset();
- else field_called__offset.clean_up();
- if (other_value.signal__offset().is_bound()) field_signal__offset = other_value.signal__offset();
- else field_signal__offset.clean_up();
- if (other_value.emergency__offset().is_bound()) field_emergency__offset = other_value.emergency__offset();
- else field_emergency__offset.clean_up();
- if (other_value.lchan__type__offset().is_bound()) field_lchan__type__offset = other_value.lchan__type__offset();
- else field_lchan__type__offset.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__PDU__Hello::operator==(const MNCC__PDU__Hello& other_value) const
-{
-return field_version==other_value.field_version
- && field_mncc__size==other_value.field_mncc__size
- && field_data__frame__size==other_value.field_data__frame__size
- && field_called__offset==other_value.field_called__offset
- && field_signal__offset==other_value.field_signal__offset
- && field_emergency__offset==other_value.field_emergency__offset
- && field_lchan__type__offset==other_value.field_lchan__type__offset;
-}
-
-boolean MNCC__PDU__Hello::is_bound() const
-{
-if(field_version.is_bound()) return TRUE;
-if(field_mncc__size.is_bound()) return TRUE;
-if(field_data__frame__size.is_bound()) return TRUE;
-if(field_called__offset.is_bound()) return TRUE;
-if(field_signal__offset.is_bound()) return TRUE;
-if(field_emergency__offset.is_bound()) return TRUE;
-if(field_lchan__type__offset.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__PDU__Hello::is_value() const
-{
-if(!field_version.is_value()) return FALSE;
-if(!field_mncc__size.is_value()) return FALSE;
-if(!field_data__frame__size.is_value()) return FALSE;
-if(!field_called__offset.is_value()) return FALSE;
-if(!field_signal__offset.is_value()) return FALSE;
-if(!field_emergency__offset.is_value()) return FALSE;
-if(!field_lchan__type__offset.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__PDU__Hello::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ version := ");
-field_version.log();
-TTCN_Logger::log_event_str(", mncc_size := ");
-field_mncc__size.log();
-TTCN_Logger::log_event_str(", data_frame_size := ");
-field_data__frame__size.log();
-TTCN_Logger::log_event_str(", called_offset := ");
-field_called__offset.log();
-TTCN_Logger::log_event_str(", signal_offset := ");
-field_signal__offset.log();
-TTCN_Logger::log_event_str(", emergency_offset := ");
-field_emergency__offset.log();
-TTCN_Logger::log_event_str(", lchan_type_offset := ");
-field_lchan__type__offset.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__PDU__Hello::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_PDU_Hello has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) version().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) mncc__size().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) data__frame__size().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) called__offset().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) signal__offset().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) emergency__offset().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) lchan__type__offset().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "version")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- version().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mncc_size")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mncc__size().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data_frame_size")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data__frame__size().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "called_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- called__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "signal_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- signal__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "emergency_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- emergency__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_type_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__type__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Hello: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_PDU_Hello");
- }
-}
-
-void MNCC__PDU__Hello::set_implicit_omit()
-{
-if (version().is_bound()) version().set_implicit_omit();
-if (mncc__size().is_bound()) mncc__size().set_implicit_omit();
-if (data__frame__size().is_bound()) data__frame__size().set_implicit_omit();
-if (called__offset().is_bound()) called__offset().set_implicit_omit();
-if (signal__offset().is_bound()) signal__offset().set_implicit_omit();
-if (emergency__offset().is_bound()) emergency__offset().set_implicit_omit();
-if (lchan__type__offset().is_bound()) lchan__type__offset().set_implicit_omit();
-}
-
-void MNCC__PDU__Hello::encode_text(Text_Buf& text_buf) const
-{
-field_version.encode_text(text_buf);
-field_mncc__size.encode_text(text_buf);
-field_data__frame__size.encode_text(text_buf);
-field_called__offset.encode_text(text_buf);
-field_signal__offset.encode_text(text_buf);
-field_emergency__offset.encode_text(text_buf);
-field_lchan__type__offset.encode_text(text_buf);
-}
-
-void MNCC__PDU__Hello::decode_text(Text_Buf& text_buf)
-{
-field_version.decode_text(text_buf);
-field_mncc__size.decode_text(text_buf);
-field_data__frame__size.decode_text(text_buf);
-field_called__offset.decode_text(text_buf);
-field_signal__offset.decode_text(text_buf);
-field_emergency__offset.decode_text(text_buf);
-field_lchan__type__offset.decode_text(text_buf);
-}
-
-void MNCC__PDU__Hello::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__PDU__Hello::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__PDU__Hello::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__PDU__Hello_version_descr_.raw->forceomit);
- decoded_field_length = field_version.RAW_decode(MNCC__PDU__Hello_version_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__PDU__Hello_mncc__size_descr_.raw->forceomit);
- decoded_field_length = field_mncc__size.RAW_decode(MNCC__PDU__Hello_mncc__size_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__PDU__Hello_data__frame__size_descr_.raw->forceomit);
- decoded_field_length = field_data__frame__size.RAW_decode(MNCC__PDU__Hello_data__frame__size_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__PDU__Hello_called__offset_descr_.raw->forceomit);
- decoded_field_length = field_called__offset.RAW_decode(MNCC__PDU__Hello_called__offset_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, MNCC__PDU__Hello_signal__offset_descr_.raw->forceomit);
- decoded_field_length = field_signal__offset.RAW_decode(MNCC__PDU__Hello_signal__offset_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, MNCC__PDU__Hello_emergency__offset_descr_.raw->forceomit);
- decoded_field_length = field_emergency__offset.RAW_decode(MNCC__PDU__Hello_emergency__offset_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, MNCC__PDU__Hello_lchan__type__offset_descr_.raw->forceomit);
- decoded_field_length = field_lchan__type__offset.RAW_decode(MNCC__PDU__Hello_lchan__type__offset_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__PDU__Hello::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 7;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(7);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__PDU__Hello_version_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__PDU__Hello_mncc__size_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, MNCC__PDU__Hello_data__frame__size_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, MNCC__PDU__Hello_called__offset_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, MNCC__PDU__Hello_signal__offset_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, MNCC__PDU__Hello_emergency__offset_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, MNCC__PDU__Hello_lchan__type__offset_descr_.raw);
- encoded_length += field_version.RAW_encode(MNCC__PDU__Hello_version_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_mncc__size.RAW_encode(MNCC__PDU__Hello_mncc__size_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_data__frame__size.RAW_encode(MNCC__PDU__Hello_data__frame__size_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_called__offset.RAW_encode(MNCC__PDU__Hello_called__offset_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_signal__offset.RAW_encode(MNCC__PDU__Hello_signal__offset_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_emergency__offset.RAW_encode(MNCC__PDU__Hello_emergency__offset_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_lchan__type__offset.RAW_encode(MNCC__PDU__Hello_lchan__type__offset_descr_, *myleaf.body.node.nodes[6]);
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__PDU__Hello_template::single_value_struct {
-INTEGER_template field_version;
-INTEGER_template field_mncc__size;
-INTEGER_template field_data__frame__size;
-INTEGER_template field_called__offset;
-INTEGER_template field_signal__offset;
-INTEGER_template field_emergency__offset;
-INTEGER_template field_lchan__type__offset;
-};
-
-void MNCC__PDU__Hello_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_version = ANY_VALUE;
-single_value->field_mncc__size = ANY_VALUE;
-single_value->field_data__frame__size = ANY_VALUE;
-single_value->field_called__offset = ANY_VALUE;
-single_value->field_signal__offset = ANY_VALUE;
-single_value->field_emergency__offset = ANY_VALUE;
-single_value->field_lchan__type__offset = ANY_VALUE;
-}
-}
-}
-
-void MNCC__PDU__Hello_template::copy_value(const MNCC__PDU__Hello& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.version().is_bound()) {
- single_value->field_version = other_value.version();
-} else {
- single_value->field_version.clean_up();
-}
-if (other_value.mncc__size().is_bound()) {
- single_value->field_mncc__size = other_value.mncc__size();
-} else {
- single_value->field_mncc__size.clean_up();
-}
-if (other_value.data__frame__size().is_bound()) {
- single_value->field_data__frame__size = other_value.data__frame__size();
-} else {
- single_value->field_data__frame__size.clean_up();
-}
-if (other_value.called__offset().is_bound()) {
- single_value->field_called__offset = other_value.called__offset();
-} else {
- single_value->field_called__offset.clean_up();
-}
-if (other_value.signal__offset().is_bound()) {
- single_value->field_signal__offset = other_value.signal__offset();
-} else {
- single_value->field_signal__offset.clean_up();
-}
-if (other_value.emergency__offset().is_bound()) {
- single_value->field_emergency__offset = other_value.emergency__offset();
-} else {
- single_value->field_emergency__offset.clean_up();
-}
-if (other_value.lchan__type__offset().is_bound()) {
- single_value->field_lchan__type__offset = other_value.lchan__type__offset();
-} else {
- single_value->field_lchan__type__offset.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__PDU__Hello_template::copy_template(const MNCC__PDU__Hello_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.version().get_selection()) {
-single_value->field_version = other_value.version();
-} else {
-single_value->field_version.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mncc__size().get_selection()) {
-single_value->field_mncc__size = other_value.mncc__size();
-} else {
-single_value->field_mncc__size.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.data__frame__size().get_selection()) {
-single_value->field_data__frame__size = other_value.data__frame__size();
-} else {
-single_value->field_data__frame__size.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.called__offset().get_selection()) {
-single_value->field_called__offset = other_value.called__offset();
-} else {
-single_value->field_called__offset.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.signal__offset().get_selection()) {
-single_value->field_signal__offset = other_value.signal__offset();
-} else {
-single_value->field_signal__offset.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.emergency__offset().get_selection()) {
-single_value->field_emergency__offset = other_value.emergency__offset();
-} else {
-single_value->field_emergency__offset.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lchan__type__offset().get_selection()) {
-single_value->field_lchan__type__offset = other_value.lchan__type__offset();
-} else {
-single_value->field_lchan__type__offset.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__PDU__Hello_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Hello.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__PDU__Hello_template::MNCC__PDU__Hello_template()
-{
-}
-
-MNCC__PDU__Hello_template::MNCC__PDU__Hello_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__PDU__Hello_template::MNCC__PDU__Hello_template(const MNCC__PDU__Hello& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__PDU__Hello_template::MNCC__PDU__Hello_template(const OPTIONAL<MNCC__PDU__Hello>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Hello&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_PDU_Hello from an unbound optional field.");
-}
-}
-
-MNCC__PDU__Hello_template::MNCC__PDU__Hello_template(const MNCC__PDU__Hello_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__PDU__Hello_template::~MNCC__PDU__Hello_template()
-{
-clean_up();
-}
-
-MNCC__PDU__Hello_template& MNCC__PDU__Hello_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__PDU__Hello_template& MNCC__PDU__Hello_template::operator=(const MNCC__PDU__Hello& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__PDU__Hello_template& MNCC__PDU__Hello_template::operator=(const OPTIONAL<MNCC__PDU__Hello>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU__Hello&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_PDU_Hello.");
-}
-return *this;
-}
-
-MNCC__PDU__Hello_template& MNCC__PDU__Hello_template::operator=(const MNCC__PDU__Hello_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__PDU__Hello_template::match(const MNCC__PDU__Hello& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.version().is_bound()) return FALSE;
-if(!single_value->field_version.match(other_value.version(), legacy))return FALSE;
-if(!other_value.mncc__size().is_bound()) return FALSE;
-if(!single_value->field_mncc__size.match(other_value.mncc__size(), legacy))return FALSE;
-if(!other_value.data__frame__size().is_bound()) return FALSE;
-if(!single_value->field_data__frame__size.match(other_value.data__frame__size(), legacy))return FALSE;
-if(!other_value.called__offset().is_bound()) return FALSE;
-if(!single_value->field_called__offset.match(other_value.called__offset(), legacy))return FALSE;
-if(!other_value.signal__offset().is_bound()) return FALSE;
-if(!single_value->field_signal__offset.match(other_value.signal__offset(), legacy))return FALSE;
-if(!other_value.emergency__offset().is_bound()) return FALSE;
-if(!single_value->field_emergency__offset.match(other_value.emergency__offset(), legacy))return FALSE;
-if(!other_value.lchan__type__offset().is_bound()) return FALSE;
-if(!single_value->field_lchan__type__offset.match(other_value.lchan__type__offset(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Hello.");
-}
-return FALSE;
-}
-
-boolean MNCC__PDU__Hello_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_version.is_bound()) return TRUE;
-if (single_value->field_mncc__size.is_bound()) return TRUE;
-if (single_value->field_data__frame__size.is_bound()) return TRUE;
-if (single_value->field_called__offset.is_bound()) return TRUE;
-if (single_value->field_signal__offset.is_bound()) return TRUE;
-if (single_value->field_emergency__offset.is_bound()) return TRUE;
-if (single_value->field_lchan__type__offset.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__PDU__Hello_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_version.is_value()) return FALSE;
-if (!single_value->field_mncc__size.is_value()) return FALSE;
-if (!single_value->field_data__frame__size.is_value()) return FALSE;
-if (!single_value->field_called__offset.is_value()) return FALSE;
-if (!single_value->field_signal__offset.is_value()) return FALSE;
-if (!single_value->field_emergency__offset.is_value()) return FALSE;
-if (!single_value->field_lchan__type__offset.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__PDU__Hello_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__PDU__Hello MNCC__PDU__Hello_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-MNCC__PDU__Hello ret_val;
-if (single_value->field_version.is_bound()) {
-ret_val.version() = single_value->field_version.valueof();
-}
-if (single_value->field_mncc__size.is_bound()) {
-ret_val.mncc__size() = single_value->field_mncc__size.valueof();
-}
-if (single_value->field_data__frame__size.is_bound()) {
-ret_val.data__frame__size() = single_value->field_data__frame__size.valueof();
-}
-if (single_value->field_called__offset.is_bound()) {
-ret_val.called__offset() = single_value->field_called__offset.valueof();
-}
-if (single_value->field_signal__offset.is_bound()) {
-ret_val.signal__offset() = single_value->field_signal__offset.valueof();
-}
-if (single_value->field_emergency__offset.is_bound()) {
-ret_val.emergency__offset() = single_value->field_emergency__offset.valueof();
-}
-if (single_value->field_lchan__type__offset.is_bound()) {
-ret_val.lchan__type__offset() = single_value->field_lchan__type__offset.valueof();
-}
-return ret_val;
-}
-
-void MNCC__PDU__Hello_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_PDU_Hello.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__PDU__Hello_template[list_length];
-}
-
-MNCC__PDU__Hello_template& MNCC__PDU__Hello_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_PDU_Hello.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_PDU_Hello.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::version()
-{
-set_specific();
-return single_value->field_version;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::version() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field version of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_version;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::mncc__size()
-{
-set_specific();
-return single_value->field_mncc__size;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::mncc__size() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mncc_size of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_mncc__size;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::data__frame__size()
-{
-set_specific();
-return single_value->field_data__frame__size;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::data__frame__size() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field data_frame_size of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_data__frame__size;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::called__offset()
-{
-set_specific();
-return single_value->field_called__offset;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::called__offset() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field called_offset of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_called__offset;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::signal__offset()
-{
-set_specific();
-return single_value->field_signal__offset;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::signal__offset() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field signal_offset of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_signal__offset;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::emergency__offset()
-{
-set_specific();
-return single_value->field_emergency__offset;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::emergency__offset() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field emergency_offset of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_emergency__offset;
-}
-
-INTEGER_template& MNCC__PDU__Hello_template::lchan__type__offset()
-{
-set_specific();
-return single_value->field_lchan__type__offset;
-}
-
-const INTEGER_template& MNCC__PDU__Hello_template::lchan__type__offset() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lchan_type_offset of a non-specific template of type @MNCC_Types.MNCC_PDU_Hello.");
-return single_value->field_lchan__type__offset;
-}
-
-int MNCC__PDU__Hello_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 7;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU_Hello containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Hello.");
- }
- return 0;
-}
-
-void MNCC__PDU__Hello_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ version := ");
-single_value->field_version.log();
-TTCN_Logger::log_event_str(", mncc_size := ");
-single_value->field_mncc__size.log();
-TTCN_Logger::log_event_str(", data_frame_size := ");
-single_value->field_data__frame__size.log();
-TTCN_Logger::log_event_str(", called_offset := ");
-single_value->field_called__offset.log();
-TTCN_Logger::log_event_str(", signal_offset := ");
-single_value->field_signal__offset.log();
-TTCN_Logger::log_event_str(", emergency_offset := ");
-single_value->field_emergency__offset.log();
-TTCN_Logger::log_event_str(", lchan_type_offset := ");
-single_value->field_lchan__type__offset.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__PDU__Hello_template::log_match(const MNCC__PDU__Hello& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_version.match(match_value.version(), legacy)){
-TTCN_Logger::log_logmatch_info(".version");
-single_value->field_version.log_match(match_value.version(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mncc__size.match(match_value.mncc__size(), legacy)){
-TTCN_Logger::log_logmatch_info(".mncc_size");
-single_value->field_mncc__size.log_match(match_value.mncc__size(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_data__frame__size.match(match_value.data__frame__size(), legacy)){
-TTCN_Logger::log_logmatch_info(".data_frame_size");
-single_value->field_data__frame__size.log_match(match_value.data__frame__size(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_called__offset.match(match_value.called__offset(), legacy)){
-TTCN_Logger::log_logmatch_info(".called_offset");
-single_value->field_called__offset.log_match(match_value.called__offset(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_signal__offset.match(match_value.signal__offset(), legacy)){
-TTCN_Logger::log_logmatch_info(".signal_offset");
-single_value->field_signal__offset.log_match(match_value.signal__offset(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_emergency__offset.match(match_value.emergency__offset(), legacy)){
-TTCN_Logger::log_logmatch_info(".emergency_offset");
-single_value->field_emergency__offset.log_match(match_value.emergency__offset(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lchan__type__offset.match(match_value.lchan__type__offset(), legacy)){
-TTCN_Logger::log_logmatch_info(".lchan_type_offset");
-single_value->field_lchan__type__offset.log_match(match_value.lchan__type__offset(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ version := ");
-single_value->field_version.log_match(match_value.version(), legacy);
-TTCN_Logger::log_event_str(", mncc_size := ");
-single_value->field_mncc__size.log_match(match_value.mncc__size(), legacy);
-TTCN_Logger::log_event_str(", data_frame_size := ");
-single_value->field_data__frame__size.log_match(match_value.data__frame__size(), legacy);
-TTCN_Logger::log_event_str(", called_offset := ");
-single_value->field_called__offset.log_match(match_value.called__offset(), legacy);
-TTCN_Logger::log_event_str(", signal_offset := ");
-single_value->field_signal__offset.log_match(match_value.signal__offset(), legacy);
-TTCN_Logger::log_event_str(", emergency_offset := ");
-single_value->field_emergency__offset.log_match(match_value.emergency__offset(), legacy);
-TTCN_Logger::log_event_str(", lchan_type_offset := ");
-single_value->field_lchan__type__offset.log_match(match_value.lchan__type__offset(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__PDU__Hello_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_version.encode_text(text_buf);
-single_value->field_mncc__size.encode_text(text_buf);
-single_value->field_data__frame__size.encode_text(text_buf);
-single_value->field_called__offset.encode_text(text_buf);
-single_value->field_signal__offset.encode_text(text_buf);
-single_value->field_emergency__offset.encode_text(text_buf);
-single_value->field_lchan__type__offset.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU_Hello.");
-}
-}
-
-void MNCC__PDU__Hello_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_version.decode_text(text_buf);
-single_value->field_mncc__size.decode_text(text_buf);
-single_value->field_data__frame__size.decode_text(text_buf);
-single_value->field_called__offset.decode_text(text_buf);
-single_value->field_signal__offset.decode_text(text_buf);
-single_value->field_emergency__offset.decode_text(text_buf);
-single_value->field_lchan__type__offset.decode_text(text_buf);
-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 MNCC__PDU__Hello_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_PDU_Hello.");
-}
-}
-
-void MNCC__PDU__Hello_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__PDU__Hello_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_PDU_Hello has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) version().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) mncc__size().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) data__frame__size().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) called__offset().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) signal__offset().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) emergency__offset().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) lchan__type__offset().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "version")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- version().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mncc_size")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mncc__size().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data_frame_size")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data__frame__size().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "called_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- called__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "signal_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- signal__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "emergency_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- emergency__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lchan_type_offset")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lchan__type__offset().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU_Hello: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_PDU_Hello");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__PDU__Hello_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_version.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_mncc__size.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_data__frame__size.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_called__offset.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_signal__offset.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_emergency__offset.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-single_value->field_lchan__type__offset.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU_Hello");
-return;
-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 : "@MNCC_Types.MNCC_PDU_Hello");
-}
-
-boolean MNCC__PDU__Hello_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__PDU__Hello_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void MNCC__MsgUnion::copy_value(const MNCC__MsgUnion& other_value)
-{
-switch (other_value.union_selection) {
-case ALT_signal:
-field_signal = new MNCC__PDU__Signal(*other_value.field_signal);
-break;
-case ALT_data:
-field_data = new MNCC__PDU__Data(*other_value.field_data);
-break;
-case ALT_rtp:
-field_rtp = new MNCC__PDU__Rtp(*other_value.field_rtp);
-break;
-case ALT_hello:
-field_hello = new MNCC__PDU__Hello(*other_value.field_hello);
-break;
-default:
-TTCN_error("Assignment of an unbound union value of type @MNCC_Types.MNCC_MsgUnion.");
-}
-union_selection = other_value.union_selection;
-}
-
-MNCC__MsgUnion::MNCC__MsgUnion()
-{
-union_selection = UNBOUND_VALUE;
-}
-
-MNCC__MsgUnion::MNCC__MsgUnion(const MNCC__MsgUnion& other_value)
-: Base_Type(){
-copy_value(other_value);
-}
-
-MNCC__MsgUnion::~MNCC__MsgUnion()
-{
-clean_up();
-}
-
-MNCC__MsgUnion& MNCC__MsgUnion::operator=(const MNCC__MsgUnion& other_value)
-{
-if (this != &other_value) {
-clean_up();
-copy_value(other_value);
-}
-return *this;
-}
-
-boolean MNCC__MsgUnion::operator==(const MNCC__MsgUnion& other_value) const
-{
-if (union_selection == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of union type @MNCC_Types.MNCC_MsgUnion.");
-if (other_value.union_selection == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of union type @MNCC_Types.MNCC_MsgUnion.");
-if (union_selection != other_value.union_selection) return FALSE;
-switch (union_selection) {
-case ALT_signal:
-return *field_signal == *other_value.field_signal;
-case ALT_data:
-return *field_data == *other_value.field_data;
-case ALT_rtp:
-return *field_rtp == *other_value.field_rtp;
-case ALT_hello:
-return *field_hello == *other_value.field_hello;
-default:
-return FALSE;
-}
-}
-
-MNCC__PDU__Signal& MNCC__MsgUnion::signal()
-{
-if (union_selection != ALT_signal) {
-clean_up();
-field_signal = new MNCC__PDU__Signal;
-union_selection = ALT_signal;
-}
-return *field_signal;
-}
-
-const MNCC__PDU__Signal& MNCC__MsgUnion::signal() const
-{
-if (union_selection != ALT_signal) TTCN_error("Using non-selected field signal in a value of union type @MNCC_Types.MNCC_MsgUnion.");
-return *field_signal;
-}
-
-MNCC__PDU__Data& MNCC__MsgUnion::data()
-{
-if (union_selection != ALT_data) {
-clean_up();
-field_data = new MNCC__PDU__Data;
-union_selection = ALT_data;
-}
-return *field_data;
-}
-
-const MNCC__PDU__Data& MNCC__MsgUnion::data() const
-{
-if (union_selection != ALT_data) TTCN_error("Using non-selected field data in a value of union type @MNCC_Types.MNCC_MsgUnion.");
-return *field_data;
-}
-
-MNCC__PDU__Rtp& MNCC__MsgUnion::rtp()
-{
-if (union_selection != ALT_rtp) {
-clean_up();
-field_rtp = new MNCC__PDU__Rtp;
-union_selection = ALT_rtp;
-}
-return *field_rtp;
-}
-
-const MNCC__PDU__Rtp& MNCC__MsgUnion::rtp() const
-{
-if (union_selection != ALT_rtp) TTCN_error("Using non-selected field rtp in a value of union type @MNCC_Types.MNCC_MsgUnion.");
-return *field_rtp;
-}
-
-MNCC__PDU__Hello& MNCC__MsgUnion::hello()
-{
-if (union_selection != ALT_hello) {
-clean_up();
-field_hello = new MNCC__PDU__Hello;
-union_selection = ALT_hello;
-}
-return *field_hello;
-}
-
-const MNCC__PDU__Hello& MNCC__MsgUnion::hello() const
-{
-if (union_selection != ALT_hello) TTCN_error("Using non-selected field hello in a value of union type @MNCC_Types.MNCC_MsgUnion.");
-return *field_hello;
-}
-
-boolean MNCC__MsgUnion::ischosen(union_selection_type checked_selection) const
-{
-if (checked_selection == UNBOUND_VALUE) TTCN_error("Internal error: Performing ischosen() operation on an invalid field of union type @MNCC_Types.MNCC_MsgUnion.");
-return union_selection == checked_selection;
-}
-
-boolean MNCC__MsgUnion::is_bound() const
-{
- return union_selection != UNBOUND_VALUE;
-}
-
-boolean MNCC__MsgUnion::is_value() const
-{
-switch (union_selection) {
-case UNBOUND_VALUE: return FALSE;
-case ALT_signal: return field_signal->is_value();
-case ALT_data: return field_data->is_value();
-case ALT_rtp: return field_rtp->is_value();
-case ALT_hello: return field_hello->is_value();
-default: TTCN_error("Invalid selection in union is_bound");}
-}
-
-void MNCC__MsgUnion::clean_up()
-{
-switch (union_selection) {
-case ALT_signal:
- delete field_signal;
- break;
-case ALT_data:
- delete field_data;
- break;
-case ALT_rtp:
- delete field_rtp;
- break;
-case ALT_hello:
- delete field_hello;
- break;
-default:
- break;
-}
-union_selection = UNBOUND_VALUE;
-}
-
-void MNCC__MsgUnion::log() const
-{
-switch (union_selection) {
-case ALT_signal:
-TTCN_Logger::log_event_str("{ signal := ");
-field_signal->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_data:
-TTCN_Logger::log_event_str("{ data := ");
-field_data->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_rtp:
-TTCN_Logger::log_event_str("{ rtp := ");
-field_rtp->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_hello:
-TTCN_Logger::log_event_str("{ hello := ");
-field_hello->log();
-TTCN_Logger::log_event_str(" }");
-break;
-default:
-TTCN_Logger::log_event_unbound();
-}
-}
-
-void MNCC__MsgUnion::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "union value");
- Module_Param_Ptr m_p = &param;
- if (m_p->get_type()==Module_Param::MP_Value_List && m_p->get_size()==0) return;
- if (m_p->get_type()!=Module_Param::MP_Assignment_List) {
- param.error("union value with field name was expected");
- }
- Module_Param* mp_last = m_p->get_elem(m_p->get_size()-1);
- char* last_name = mp_last->get_id()->get_name();
- if (!strcmp(last_name, "signal")) {
- signal().set_param(*mp_last);
- if (!signal().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "data")) {
- data().set_param(*mp_last);
- if (!data().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "rtp")) {
- rtp().set_param(*mp_last);
- if (!rtp().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "hello")) {
- hello().set_param(*mp_last);
- if (!hello().is_bound()) clean_up();
- return;
- }
- mp_last->error("Field %s does not exist in type @MNCC_Types.MNCC_MsgUnion.", last_name);
-}
-
-void MNCC__MsgUnion::set_implicit_omit()
-{
-switch (union_selection) {
-case ALT_signal:
-field_signal->set_implicit_omit(); break;
-case ALT_data:
-field_data->set_implicit_omit(); break;
-case ALT_rtp:
-field_rtp->set_implicit_omit(); break;
-case ALT_hello:
-field_hello->set_implicit_omit(); break;
-default: break;
-}
-}
-
-void MNCC__MsgUnion::encode_text(Text_Buf& text_buf) const
-{
-text_buf.push_int(union_selection);
-switch (union_selection) {
-case ALT_signal:
-field_signal->encode_text(text_buf);
-break;
-case ALT_data:
-field_data->encode_text(text_buf);
-break;
-case ALT_rtp:
-field_rtp->encode_text(text_buf);
-break;
-case ALT_hello:
-field_hello->encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an unbound value of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-
-void MNCC__MsgUnion::decode_text(Text_Buf& text_buf)
-{
-switch ((union_selection_type)text_buf.pull_int().get_val()) {
-case ALT_signal:
-signal().decode_text(text_buf);
-break;
-case ALT_data:
-data().decode_text(text_buf);
-break;
-case ALT_rtp:
-rtp().decode_text(text_buf);
-break;
-case ALT_hello:
-hello().decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized union selector was received for type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-
-void MNCC__MsgUnion::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__MsgUnion::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__MsgUnion::RAW_decode(
-const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit,
-raw_order_t top_bit_ord, boolean no_err, int sel_field, boolean, const RAW_Force_Omit* force_omit)
-{
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- int decoded_length=0;
- int starting_pos=p_buf.get_pos_bit();
- if(sel_field!=-1){
- switch(sel_field){
- case 0: {
- RAW_Force_Omit field_force_omit(0, force_omit, MNCC__MsgUnion_signal_descr_.raw->forceomit);
- decoded_length = signal().RAW_decode(MNCC__MsgUnion_signal_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 1: {
- RAW_Force_Omit field_force_omit(1, force_omit, MNCC__MsgUnion_data_descr_.raw->forceomit);
- decoded_length = data().RAW_decode(MNCC__MsgUnion_data_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 2: {
- RAW_Force_Omit field_force_omit(2, force_omit, MNCC__MsgUnion_rtp_descr_.raw->forceomit);
- decoded_length = rtp().RAW_decode(MNCC__MsgUnion_rtp_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 3: {
- RAW_Force_Omit field_force_omit(3, force_omit, MNCC__MsgUnion_hello_descr_.raw->forceomit);
- decoded_length = hello().RAW_decode(MNCC__MsgUnion_hello_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- default: break;
- }
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- } else {
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__MsgUnion_signal_descr_.raw->forceomit);
- decoded_length = signal().RAW_decode(MNCC__MsgUnion_signal_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_0_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__MsgUnion_data_descr_.raw->forceomit);
- decoded_length = data().RAW_decode(MNCC__MsgUnion_data_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_1_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_2_force_omit(2, force_omit, MNCC__MsgUnion_rtp_descr_.raw->forceomit);
- decoded_length = rtp().RAW_decode(MNCC__MsgUnion_rtp_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_2_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_3_force_omit(3, force_omit, MNCC__MsgUnion_hello_descr_.raw->forceomit);
- decoded_length = hello().RAW_decode(MNCC__MsgUnion_hello_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_3_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- }
- clean_up();
- return -1;
-}
-
-int MNCC__MsgUnion::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const
-{
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 4; myleaf.body.node.nodes = init_nodes_of_enc_tree(4);
- memset(myleaf.body.node.nodes, 0, 4 * sizeof(RAW_enc_tree *));
- switch (union_selection) {
- case ALT_signal:
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 0, MNCC__MsgUnion_signal_descr_.raw);
- encoded_length = field_signal->RAW_encode(MNCC__MsgUnion_signal_descr_, *myleaf.body.node.nodes[0]);
- myleaf.body.node.nodes[0]->coding_descr = &MNCC__MsgUnion_signal_descr_;
- break;
- case ALT_data:
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 1, MNCC__MsgUnion_data_descr_.raw);
- encoded_length = field_data->RAW_encode(MNCC__MsgUnion_data_descr_, *myleaf.body.node.nodes[1]);
- myleaf.body.node.nodes[1]->coding_descr = &MNCC__MsgUnion_data_descr_;
- break;
- case ALT_rtp:
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 2, MNCC__MsgUnion_rtp_descr_.raw);
- encoded_length = field_rtp->RAW_encode(MNCC__MsgUnion_rtp_descr_, *myleaf.body.node.nodes[2]);
- myleaf.body.node.nodes[2]->coding_descr = &MNCC__MsgUnion_rtp_descr_;
- break;
- case ALT_hello:
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 3, MNCC__MsgUnion_hello_descr_.raw);
- encoded_length = field_hello->RAW_encode(MNCC__MsgUnion_hello_descr_, *myleaf.body.node.nodes[3]);
- myleaf.body.node.nodes[3]->coding_descr = &MNCC__MsgUnion_hello_descr_;
- break;
- default:
- TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- }
- return encoded_length;
-}
-
-void MNCC__MsgUnion_template::copy_value(const MNCC__MsgUnion& other_value)
-{
-single_value.union_selection = other_value.get_selection();
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-single_value.field_signal = new MNCC__PDU__Signal_template(other_value.signal());
-break;
-case MNCC__MsgUnion::ALT_data:
-single_value.field_data = new MNCC__PDU__Data_template(other_value.data());
-break;
-case MNCC__MsgUnion::ALT_rtp:
-single_value.field_rtp = new MNCC__PDU__Rtp_template(other_value.rtp());
-break;
-case MNCC__MsgUnion::ALT_hello:
-single_value.field_hello = new MNCC__PDU__Hello_template(other_value.hello());
-break;
-default:
-TTCN_error("Initializing a template with an unbound value of type @MNCC_Types.MNCC_MsgUnion.");
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__MsgUnion_template::copy_template(const MNCC__MsgUnion_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.union_selection = other_value.single_value.union_selection;
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-single_value.field_signal = new MNCC__PDU__Signal_template(*other_value.single_value.field_signal);
-break;
-case MNCC__MsgUnion::ALT_data:
-single_value.field_data = new MNCC__PDU__Data_template(*other_value.single_value.field_data);
-break;
-case MNCC__MsgUnion::ALT_rtp:
-single_value.field_rtp = new MNCC__PDU__Rtp_template(*other_value.single_value.field_rtp);
-break;
-case MNCC__MsgUnion::ALT_hello:
-single_value.field_hello = new MNCC__PDU__Hello_template(*other_value.single_value.field_hello);
-break;
-default:
-TTCN_error("Internal error: Invalid union selector in a specific value when copying a template of type @MNCC_Types.MNCC_MsgUnion.");
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__MsgUnion_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;
-default:
-TTCN_error("Copying an uninitialized template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-set_selection(other_value);
-}
-
-MNCC__MsgUnion_template::MNCC__MsgUnion_template()
-{
-}
-
-MNCC__MsgUnion_template::MNCC__MsgUnion_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__MsgUnion_template::MNCC__MsgUnion_template(const MNCC__MsgUnion& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__MsgUnion_template::MNCC__MsgUnion_template(const OPTIONAL<MNCC__MsgUnion>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__MsgUnion&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of union type @MNCC_Types.MNCC_MsgUnion from an unbound optional field.");
-}
-}
-
-MNCC__MsgUnion_template::MNCC__MsgUnion_template(const MNCC__MsgUnion_template& other_value)
-: Base_Template(){
-copy_template(other_value);
-}
-
-MNCC__MsgUnion_template::~MNCC__MsgUnion_template()
-{
-clean_up();
-}
-
-void MNCC__MsgUnion_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-delete single_value.field_signal;
-break;
-case MNCC__MsgUnion::ALT_data:
-delete single_value.field_data;
-break;
-case MNCC__MsgUnion::ALT_rtp:
-delete single_value.field_rtp;
-break;
-case MNCC__MsgUnion::ALT_hello:
-delete single_value.field_hello;
-default:
-break;
-}
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__MsgUnion_template& MNCC__MsgUnion_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__MsgUnion_template& MNCC__MsgUnion_template::operator=(const MNCC__MsgUnion& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__MsgUnion_template& MNCC__MsgUnion_template::operator=(const OPTIONAL<MNCC__MsgUnion>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__MsgUnion&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-return *this;
-}
-
-MNCC__MsgUnion_template& MNCC__MsgUnion_template::operator=(const MNCC__MsgUnion_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__MsgUnion_template::match(const MNCC__MsgUnion& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-{
-MNCC__MsgUnion::union_selection_type value_selection = other_value.get_selection();
-if (value_selection == MNCC__MsgUnion::UNBOUND_VALUE) return FALSE;
-if (value_selection != single_value.union_selection) return FALSE;
-switch (value_selection) {
-case MNCC__MsgUnion::ALT_signal:
-return single_value.field_signal->match(other_value.signal(), legacy);
-case MNCC__MsgUnion::ALT_data:
-return single_value.field_data->match(other_value.data(), legacy);
-case MNCC__MsgUnion::ALT_rtp:
-return single_value.field_rtp->match(other_value.rtp(), legacy);
-case MNCC__MsgUnion::ALT_hello:
-return single_value.field_hello->match(other_value.hello(), legacy);
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when matching a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error ("Matching an uninitialized template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-return FALSE;
-}
-
-boolean MNCC__MsgUnion_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-return single_value.field_signal->is_value();
-case MNCC__MsgUnion::ALT_data:
-return single_value.field_data->is_value();
-case MNCC__MsgUnion::ALT_rtp:
-return single_value.field_rtp->is_value();
-case MNCC__MsgUnion::ALT_hello:
-return single_value.field_hello->is_value();
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing is_value operation on a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-
-MNCC__MsgUnion MNCC__MsgUnion_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of union type @MNCC_Types.MNCC_MsgUnion.");
-MNCC__MsgUnion ret_val;
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-ret_val.signal() = single_value.field_signal->valueof();
-break;
-case MNCC__MsgUnion::ALT_data:
-ret_val.data() = single_value.field_data->valueof();
-break;
-case MNCC__MsgUnion::ALT_rtp:
-ret_val.rtp() = single_value.field_rtp->valueof();
-break;
-case MNCC__MsgUnion::ALT_hello:
-ret_val.hello() = single_value.field_hello->valueof();
-break;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing valueof operation on a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-return ret_val;
-}
-
-MNCC__MsgUnion_template& MNCC__MsgUnion_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of union type @MNCC_Types.MNCC_MsgUnion.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of union type @MNCC_Types.MNCC_MsgUnion.");
-return value_list.list_value[list_index];
-}
-void MNCC__MsgUnion_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error ("Internal error: Setting an invalid list for a template of union type @MNCC_Types.MNCC_MsgUnion.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__MsgUnion_template[list_length];
-}
-
-MNCC__PDU__Signal_template& MNCC__MsgUnion_template::signal()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != MNCC__MsgUnion::ALT_signal) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_signal = new MNCC__PDU__Signal_template(ANY_VALUE);
-else single_value.field_signal = new MNCC__PDU__Signal_template;
-single_value.union_selection = MNCC__MsgUnion::ALT_signal;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_signal;
-}
-
-const MNCC__PDU__Signal_template& MNCC__MsgUnion_template::signal() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field signal in a non-specific template of union type @MNCC_Types.MNCC_MsgUnion.");
-if (single_value.union_selection != MNCC__MsgUnion::ALT_signal) TTCN_error("Accessing non-selected field signal in a template of union type @MNCC_Types.MNCC_MsgUnion.");
-return *single_value.field_signal;
-}
-
-MNCC__PDU__Data_template& MNCC__MsgUnion_template::data()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != MNCC__MsgUnion::ALT_data) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_data = new MNCC__PDU__Data_template(ANY_VALUE);
-else single_value.field_data = new MNCC__PDU__Data_template;
-single_value.union_selection = MNCC__MsgUnion::ALT_data;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_data;
-}
-
-const MNCC__PDU__Data_template& MNCC__MsgUnion_template::data() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field data in a non-specific template of union type @MNCC_Types.MNCC_MsgUnion.");
-if (single_value.union_selection != MNCC__MsgUnion::ALT_data) TTCN_error("Accessing non-selected field data in a template of union type @MNCC_Types.MNCC_MsgUnion.");
-return *single_value.field_data;
-}
-
-MNCC__PDU__Rtp_template& MNCC__MsgUnion_template::rtp()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != MNCC__MsgUnion::ALT_rtp) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_rtp = new MNCC__PDU__Rtp_template(ANY_VALUE);
-else single_value.field_rtp = new MNCC__PDU__Rtp_template;
-single_value.union_selection = MNCC__MsgUnion::ALT_rtp;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_rtp;
-}
-
-const MNCC__PDU__Rtp_template& MNCC__MsgUnion_template::rtp() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field rtp in a non-specific template of union type @MNCC_Types.MNCC_MsgUnion.");
-if (single_value.union_selection != MNCC__MsgUnion::ALT_rtp) TTCN_error("Accessing non-selected field rtp in a template of union type @MNCC_Types.MNCC_MsgUnion.");
-return *single_value.field_rtp;
-}
-
-MNCC__PDU__Hello_template& MNCC__MsgUnion_template::hello()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != MNCC__MsgUnion::ALT_hello) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_hello = new MNCC__PDU__Hello_template(ANY_VALUE);
-else single_value.field_hello = new MNCC__PDU__Hello_template;
-single_value.union_selection = MNCC__MsgUnion::ALT_hello;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_hello;
-}
-
-const MNCC__PDU__Hello_template& MNCC__MsgUnion_template::hello() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field hello in a non-specific template of union type @MNCC_Types.MNCC_MsgUnion.");
-if (single_value.union_selection != MNCC__MsgUnion::ALT_hello) TTCN_error("Accessing non-selected field hello in a template of union type @MNCC_Types.MNCC_MsgUnion.");
-return *single_value.field_hello;
-}
-
-boolean MNCC__MsgUnion_template::ischosen(MNCC__MsgUnion::union_selection_type checked_selection) const
-{
-if (checked_selection == MNCC__MsgUnion::UNBOUND_VALUE) TTCN_error("Internal error: Performing ischosen() operation on an invalid field of union type @MNCC_Types.MNCC_MsgUnion.");
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.union_selection == MNCC__MsgUnion::UNBOUND_VALUE) TTCN_error("Internal error: Invalid selector in a specific value when performing ischosen() operation on a template of union type @MNCC_Types.MNCC_MsgUnion.");
-return single_value.union_selection == checked_selection;
-case VALUE_LIST:
-{
-if (value_list.n_values < 1)
-TTCN_error("Internal error: Performing ischosen() operation on a template of union type @MNCC_Types.MNCC_MsgUnion containing an empty list.");
-boolean ret_val = value_list.list_value[0].ischosen(checked_selection);
-for (unsigned int list_count = 1; ret_val == TRUE && list_count < value_list.n_values; list_count++) {
-ret_val = value_list.list_value[list_count].ischosen(checked_selection);
-}
-return ret_val;
-}
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void MNCC__MsgUnion_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-TTCN_Logger::log_event_str("{ signal := ");
-single_value.field_signal->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case MNCC__MsgUnion::ALT_data:
-TTCN_Logger::log_event_str("{ data := ");
-single_value.field_data->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case MNCC__MsgUnion::ALT_rtp:
-TTCN_Logger::log_event_str("{ rtp := ");
-single_value.field_rtp->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case MNCC__MsgUnion::ALT_hello:
-TTCN_Logger::log_event_str("{ hello := ");
-single_value.field_hello->log();
-TTCN_Logger::log_event_str(" }");
-break;
-default:
-TTCN_Logger::log_event_str("<invalid selector>");
-}
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__MsgUnion_template::log_match(const MNCC__MsgUnion& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity() && match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.union_selection == match_value.get_selection()) {
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".signal");
-single_value.field_signal->log_match(match_value.signal(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ signal := ");
-single_value.field_signal->log_match(match_value.signal(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case MNCC__MsgUnion::ALT_data:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".data");
-single_value.field_data->log_match(match_value.data(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ data := ");
-single_value.field_data->log_match(match_value.data(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case MNCC__MsgUnion::ALT_rtp:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".rtp");
-single_value.field_rtp->log_match(match_value.rtp(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ rtp := ");
-single_value.field_rtp->log_match(match_value.rtp(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case MNCC__MsgUnion::ALT_hello:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".hello");
-single_value.field_hello->log_match(match_value.hello(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ hello := ");
-single_value.field_hello->log_match(match_value.hello(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-default:
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str("<invalid selector>");
-}
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__MsgUnion_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.union_selection);
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-single_value.field_signal->encode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_data:
-single_value.field_data->encode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_rtp:
-single_value.field_rtp->encode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_hello:
-single_value.field_hello->encode_text(text_buf);
-break;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when encoding a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized template of type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-
-void MNCC__MsgUnion_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-{
-single_value.union_selection = MNCC__MsgUnion::UNBOUND_VALUE;
-MNCC__MsgUnion::union_selection_type new_selection = (MNCC__MsgUnion::union_selection_type)text_buf.pull_int().get_val();
-switch (new_selection) {
-case MNCC__MsgUnion::ALT_signal:
-single_value.field_signal = new MNCC__PDU__Signal_template;
-single_value.field_signal->decode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_data:
-single_value.field_data = new MNCC__PDU__Data_template;
-single_value.field_data->decode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_rtp:
-single_value.field_rtp = new MNCC__PDU__Rtp_template;
-single_value.field_rtp->decode_text(text_buf);
-break;
-case MNCC__MsgUnion::ALT_hello:
-single_value.field_hello = new MNCC__PDU__Hello_template;
-single_value.field_hello->decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized union selector was received for a template of type @MNCC_Types.MNCC_MsgUnion.");
-}
-single_value.union_selection = new_selection;
-}
-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 MNCC__MsgUnion_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized selector was received in a template of type @MNCC_Types.MNCC_MsgUnion.");
-}
-}
-
-boolean MNCC__MsgUnion_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__MsgUnion_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int v_idx=0; v_idx<value_list.n_values; v_idx++)
-if (value_list.list_value[v_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void MNCC__MsgUnion_template::set_param(Module_Param& param)
-{
- if (dynamic_cast<Module_Param_Name*>(param.get_id()) != NULL &&
- param.get_id()->next_name()) {
- char* param_field = param.get_id()->get_current_name();
- if (param_field[0] >= '0' && param_field[0] <= '9') {
- param.error("Unexpected array index in module parameter, expected a valid field"
- " name for union template type `@MNCC_Types.MNCC_MsgUnion'");
- }
- if (strcmp("signal", param_field) == 0) {
- signal().set_param(param);
- return;
- } else if (strcmp("data", param_field) == 0) {
- data().set_param(param);
- return;
- } else if (strcmp("rtp", param_field) == 0) {
- rtp().set_param(param);
- return;
- } else if (strcmp("hello", param_field) == 0) {
- hello().set_param(param);
- return;
- } else param.error("Field `%s' not found in union template type `@MNCC_Types.MNCC_MsgUnion'", param_field);
- }
- param.basic_check(Module_Param::BC_TEMPLATE, "union template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- MNCC__MsgUnion_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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_Value_List:
- if (m_p->get_size()==0) break;
- param.type_error("union template", "@MNCC_Types.MNCC_MsgUnion");
- break;
- case Module_Param::MP_Assignment_List: {
- Module_Param* mp_last = m_p->get_elem(m_p->get_size()-1);
- char* last_name = mp_last->get_id()->get_name();
- if (!strcmp(last_name, "signal")) {
- signal().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "data")) {
- data().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "rtp")) {
- rtp().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "hello")) {
- hello().set_param(*mp_last);
- break;
- }
- mp_last->error("Field %s does not exist in type @MNCC_Types.MNCC_MsgUnion.", last_name);
- } break;
- default:
- param.type_error("union template", "@MNCC_Types.MNCC_MsgUnion");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__MsgUnion_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-switch (single_value.union_selection) {
-case MNCC__MsgUnion::ALT_signal:
-single_value.field_signal->check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_MsgUnion");
-return;
-case MNCC__MsgUnion::ALT_data:
-single_value.field_data->check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_MsgUnion");
-return;
-case MNCC__MsgUnion::ALT_rtp:
-single_value.field_rtp->check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_MsgUnion");
-return;
-case MNCC__MsgUnion::ALT_hello:
-single_value.field_hello->check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_MsgUnion");
-return;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing check_restriction operation on a template of union type @MNCC_Types.MNCC_MsgUnion.");
-}
-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 : "@MNCC_Types.MNCC_MsgUnion");
-}
-
-MNCC__PDU::MNCC__PDU()
-{
-}
-
-MNCC__PDU::MNCC__PDU(const MNCC__MsgType& par_msg__type,
- const MNCC__MsgUnion& par_u)
- : field_msg__type(par_msg__type),
- field_u(par_u)
-{
-}
-
-MNCC__PDU::MNCC__PDU(const MNCC__PDU& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @MNCC_Types.MNCC_PDU.");
-if (other_value.msg__type().is_bound()) field_msg__type = other_value.msg__type();
-else field_msg__type.clean_up();
-if (other_value.u().is_bound()) field_u = other_value.u();
-else field_u.clean_up();
-}
-
-void MNCC__PDU::clean_up()
-{
-field_msg__type.clean_up();
-field_u.clean_up();
-}
-
-const TTCN_Typedescriptor_t* MNCC__PDU::get_descriptor() const { return &MNCC__PDU_descr_; }
-MNCC__PDU& MNCC__PDU::operator=(const MNCC__PDU& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @MNCC_Types.MNCC_PDU.");
- if (other_value.msg__type().is_bound()) field_msg__type = other_value.msg__type();
- else field_msg__type.clean_up();
- if (other_value.u().is_bound()) field_u = other_value.u();
- else field_u.clean_up();
-}
-return *this;
-}
-
-boolean MNCC__PDU::operator==(const MNCC__PDU& other_value) const
-{
-return field_msg__type==other_value.field_msg__type
- && field_u==other_value.field_u;
-}
-
-boolean MNCC__PDU::is_bound() const
-{
-if(field_msg__type.is_bound()) return TRUE;
-if(field_u.is_bound()) return TRUE;
-return FALSE;
-}
-boolean MNCC__PDU::is_value() const
-{
-if(!field_msg__type.is_value()) return FALSE;
-if(!field_u.is_value()) return FALSE;
-return TRUE;
-}
-void MNCC__PDU::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ msg_type := ");
-field_msg__type.log();
-TTCN_Logger::log_event_str(", u := ");
-field_u.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void MNCC__PDU::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @MNCC_Types.MNCC_PDU has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) msg__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) u().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "u")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- u().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@MNCC_Types.MNCC_PDU");
- }
-}
-
-void MNCC__PDU::set_implicit_omit()
-{
-if (msg__type().is_bound()) msg__type().set_implicit_omit();
-if (u().is_bound()) u().set_implicit_omit();
-}
-
-void MNCC__PDU::encode_text(Text_Buf& text_buf) const
-{
-field_msg__type.encode_text(text_buf);
-field_u.encode_text(text_buf);
-}
-
-void MNCC__PDU::decode_text(Text_Buf& text_buf)
-{
-field_msg__type.decode_text(text_buf);
-field_u.decode_text(text_buf);
-}
-
-void MNCC__PDU::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void MNCC__PDU::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int MNCC__PDU::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- int selected_field = -1;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, MNCC__PDU_msg__type_descr_.raw->forceomit);
- decoded_field_length = field_msg__type.RAW_decode(MNCC__PDU_msg__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (field_msg__type == MNCC__MsgType::MNCC__SOCKET__HELLO) selected_field = 3;
- else if (field_msg__type == MNCC__MsgType::MNCC__RTP__CREATE || field_msg__type == MNCC__MsgType::MNCC__RTP__CONNECT || field_msg__type == MNCC__MsgType::MNCC__RTP__FREE) selected_field = 2;
- else if (field_msg__type == MNCC__MsgType::GSM__TCHF__FRAME || field_msg__type == MNCC__MsgType::GSM__TCHF__FRAME__EFR || field_msg__type == MNCC__MsgType::GSM__TCHH__FRAME || field_msg__type == MNCC__MsgType::GSM__TCH__FRAME__AMR || field_msg__type == MNCC__MsgType::GSM__BAD__FRAME) selected_field = 1;
- else selected_field = 0;
- RAW_Force_Omit field_1_force_omit(1, force_omit, MNCC__PDU_u_descr_.raw->forceomit);
- decoded_field_length = field_u.RAW_decode(MNCC__PDU_u_descr_, p_buf, limit, local_top_order, no_err, selected_field, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int MNCC__PDU::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, MNCC__PDU_msg__type_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, MNCC__PDU_u_descr_.raw);
- encoded_length += field_msg__type.RAW_encode(MNCC__PDU_msg__type_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_u.RAW_encode(MNCC__PDU_u_descr_, *myleaf.body.node.nodes[1]);
- switch (field_u.get_selection()) {
- case MNCC__MsgUnion::ALT_hello:
- if (field_msg__type != MNCC__MsgType::MNCC__SOCKET__HELLO) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- MNCC__MsgType new_val(MNCC__MsgType::MNCC__SOCKET__HELLO);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(MNCC__PDU_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case MNCC__MsgUnion::ALT_rtp:
- if (field_msg__type != MNCC__MsgType::MNCC__RTP__CREATE && field_msg__type != MNCC__MsgType::MNCC__RTP__CONNECT && field_msg__type != MNCC__MsgType::MNCC__RTP__FREE) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- MNCC__MsgType new_val(MNCC__MsgType::MNCC__RTP__CREATE);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(MNCC__PDU_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case MNCC__MsgUnion::ALT_data:
- if (field_msg__type != MNCC__MsgType::GSM__TCHF__FRAME && field_msg__type != MNCC__MsgType::GSM__TCHF__FRAME__EFR && field_msg__type != MNCC__MsgType::GSM__TCHH__FRAME && field_msg__type != MNCC__MsgType::GSM__TCH__FRAME__AMR && field_msg__type != MNCC__MsgType::GSM__BAD__FRAME) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- MNCC__MsgType new_val(MNCC__MsgType::GSM__TCHF__FRAME);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(MNCC__PDU_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- default:;
- }
- return myleaf.length = encoded_length;
-}
-
-struct MNCC__PDU_template::single_value_struct {
-MNCC__MsgType_template field_msg__type;
-MNCC__MsgUnion_template field_u;
-};
-
-void MNCC__PDU_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_msg__type = ANY_VALUE;
-single_value->field_u = ANY_VALUE;
-}
-}
-}
-
-void MNCC__PDU_template::copy_value(const MNCC__PDU& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.msg__type().is_bound()) {
- single_value->field_msg__type = other_value.msg__type();
-} else {
- single_value->field_msg__type.clean_up();
-}
-if (other_value.u().is_bound()) {
- single_value->field_u = other_value.u();
-} else {
- single_value->field_u.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void MNCC__PDU_template::copy_template(const MNCC__PDU_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.msg__type().get_selection()) {
-single_value->field_msg__type = other_value.msg__type();
-} else {
-single_value->field_msg__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.u().get_selection()) {
-single_value->field_u = other_value.u();
-} else {
-single_value->field_u.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new MNCC__PDU_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU.");
-break;
-}
-set_selection(other_value);
-}
-
-MNCC__PDU_template::MNCC__PDU_template()
-{
-}
-
-MNCC__PDU_template::MNCC__PDU_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-MNCC__PDU_template::MNCC__PDU_template(const MNCC__PDU& other_value)
-{
-copy_value(other_value);
-}
-
-MNCC__PDU_template::MNCC__PDU_template(const OPTIONAL<MNCC__PDU>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @MNCC_Types.MNCC_PDU from an unbound optional field.");
-}
-}
-
-MNCC__PDU_template::MNCC__PDU_template(const MNCC__PDU_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-MNCC__PDU_template::~MNCC__PDU_template()
-{
-clean_up();
-}
-
-MNCC__PDU_template& MNCC__PDU_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-MNCC__PDU_template& MNCC__PDU_template::operator=(const MNCC__PDU& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-MNCC__PDU_template& MNCC__PDU_template::operator=(const OPTIONAL<MNCC__PDU>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const MNCC__PDU&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @MNCC_Types.MNCC_PDU.");
-}
-return *this;
-}
-
-MNCC__PDU_template& MNCC__PDU_template::operator=(const MNCC__PDU_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean MNCC__PDU_template::match(const MNCC__PDU& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.msg__type().is_bound()) return FALSE;
-if(!single_value->field_msg__type.match(other_value.msg__type(), legacy))return FALSE;
-if(!other_value.u().is_bound()) return FALSE;
-if(!single_value->field_u.match(other_value.u(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU.");
-}
-return FALSE;
-}
-
-boolean MNCC__PDU_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_msg__type.is_bound()) return TRUE;
-if (single_value->field_u.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean MNCC__PDU_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_msg__type.is_value()) return FALSE;
-if (!single_value->field_u.is_value()) return FALSE;
-return TRUE;
-}
-
-void MNCC__PDU_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-MNCC__PDU MNCC__PDU_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @MNCC_Types.MNCC_PDU.");
-MNCC__PDU ret_val;
-if (single_value->field_msg__type.is_bound()) {
-ret_val.msg__type() = single_value->field_msg__type.valueof();
-}
-if (single_value->field_u.is_bound()) {
-ret_val.u() = single_value->field_u.valueof();
-}
-return ret_val;
-}
-
-void MNCC__PDU_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @MNCC_Types.MNCC_PDU.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new MNCC__PDU_template[list_length];
-}
-
-MNCC__PDU_template& MNCC__PDU_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @MNCC_Types.MNCC_PDU.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @MNCC_Types.MNCC_PDU.");
-return value_list.list_value[list_index];
-}
-
-MNCC__MsgType_template& MNCC__PDU_template::msg__type()
-{
-set_specific();
-return single_value->field_msg__type;
-}
-
-const MNCC__MsgType_template& MNCC__PDU_template::msg__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field msg_type of a non-specific template of type @MNCC_Types.MNCC_PDU.");
-return single_value->field_msg__type;
-}
-
-MNCC__MsgUnion_template& MNCC__PDU_template::u()
-{
-set_specific();
-return single_value->field_u;
-}
-
-const MNCC__MsgUnion_template& MNCC__PDU_template::u() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field u of a non-specific template of type @MNCC_Types.MNCC_PDU.");
-return single_value->field_u;
-}
-
-int MNCC__PDU_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @MNCC_Types.MNCC_PDU containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU.");
- }
- return 0;
-}
-
-void MNCC__PDU_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ msg_type := ");
-single_value->field_msg__type.log();
-TTCN_Logger::log_event_str(", u := ");
-single_value->field_u.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void MNCC__PDU_template::log_match(const MNCC__PDU& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_msg__type.match(match_value.msg__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".msg_type");
-single_value->field_msg__type.log_match(match_value.msg__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_u.match(match_value.u(), legacy)){
-TTCN_Logger::log_logmatch_info(".u");
-single_value->field_u.log_match(match_value.u(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ msg_type := ");
-single_value->field_msg__type.log_match(match_value.msg__type(), legacy);
-TTCN_Logger::log_event_str(", u := ");
-single_value->field_u.log_match(match_value.u(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void MNCC__PDU_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_msg__type.encode_text(text_buf);
-single_value->field_u.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @MNCC_Types.MNCC_PDU.");
-}
-}
-
-void MNCC__PDU_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_msg__type.decode_text(text_buf);
-single_value->field_u.decode_text(text_buf);
-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 MNCC__PDU_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @MNCC_Types.MNCC_PDU.");
-}
-}
-
-void MNCC__PDU_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- MNCC__PDU_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @MNCC_Types.MNCC_PDU has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) msg__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) u().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "u")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- u().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @MNCC_Types.MNCC_PDU: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@MNCC_Types.MNCC_PDU");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void MNCC__PDU_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_msg__type.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU");
-single_value->field_u.check_restriction(t_res, t_name ? t_name : "@MNCC_Types.MNCC_PDU");
-return;
-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 : "@MNCC_Types.MNCC_PDU");
-}
-
-boolean MNCC__PDU_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean MNCC__PDU_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-
-/* Bodies of functions, altsteps and testcases */
-
-void int__encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(int__descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER int__decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(int__descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__ra_encoder(const GSM48__bcap__ra& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_ra' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__ra_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__ra_decoder(OCTETSTRING& input_stream, GSM48__bcap__ra& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_ra' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__ra_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__sig__access_encoder(const GSM48__bcap__sig__access& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_sig_access' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__sig__access_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__sig__access_decoder(OCTETSTRING& input_stream, GSM48__bcap__sig__access& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_sig_access' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__sig__access_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__user__rate_encoder(const GSM48__bcap__user__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_user_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__user__rate_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__user__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__user__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_user_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__user__rate_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__parity_encoder(const GSM48__bcap__parity& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_parity' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__parity_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__parity_decoder(OCTETSTRING& input_stream, GSM48__bcap__parity& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_parity' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__parity_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__interm__rate_encoder(const GSM48__bcap__interm__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_interm_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__interm__rate_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__interm__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__interm__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_interm_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__interm__rate_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__transp_encoder(const GSM48__bcap__transp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_transp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__transp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__transp_decoder(OCTETSTRING& input_stream, GSM48__bcap__transp& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_transp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__transp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__bcap__modem__type_encoder(const GSM48__bcap__modem__type& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_modem_type' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__bcap__modem__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__bcap__modem__type_decoder(OCTETSTRING& input_stream, GSM48__bcap__modem__type& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_modem_type' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__bcap__modem__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgType_encoder(const MNCC__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgType_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgType_decoder(OCTETSTRING& input_stream, MNCC__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgType_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_rate__adaptation_encoder(const GSM48__bcap__ra& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_ra' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_rate__adaptation_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_rate__adaptation_decoder(OCTETSTRING& input_stream, GSM48__bcap__ra& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_ra' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_rate__adaptation_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_sig__access_encoder(const GSM48__bcap__sig__access& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_sig_access' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_sig__access_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_sig__access_decoder(OCTETSTRING& input_stream, GSM48__bcap__sig__access& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_sig_access' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_sig__access_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_async_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_async_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_async_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_async_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_nr__stop__bits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_nr__stop__bits_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_nr__stop__bits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_nr__stop__bits_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_nr__data__bits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_nr__data__bits_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_nr__data__bits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_nr__data__bits_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_user__rate_encoder(const GSM48__bcap__user__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_user_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_user__rate_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_user__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__user__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_user_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_user__rate_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_parity_encoder(const GSM48__bcap__parity& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_parity' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_parity_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_parity_decoder(OCTETSTRING& input_stream, GSM48__bcap__parity& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_parity' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_parity_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_interm__rate_encoder(const GSM48__bcap__interm__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_interm_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_interm__rate_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_interm__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__interm__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_interm_rate' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_interm__rate_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_transp_encoder(const GSM48__bcap__transp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_transp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_transp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_transp_decoder(OCTETSTRING& input_stream, GSM48__bcap__transp& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_transp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_transp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_modem__type_encoder(const GSM48__bcap__modem__type& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_modem_type' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_modem__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_modem__type_decoder(OCTETSTRING& input_stream, GSM48__bcap__modem__type& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_bcap_modem_type' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_modem__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap__data_encoder(const MNCC__bearer__cap__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap__data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap__data_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap__data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__speech__vers_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__speech__vers_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__speech__vers_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__speech__vers_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__speech__vers_encoder(const MNCC__speech__vers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_speech_vers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__speech__vers_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__speech__vers_decoder(OCTETSTRING& input_stream, MNCC__speech__vers& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_speech_vers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__speech__vers_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_transfer_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_transfer_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_transfer_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_transfer_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_mode_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_mode_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_mode_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_mode_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_coding_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_coding_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_coding_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_coding_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_radio_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_radio_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_radio_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_radio_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_speech__ctm_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_speech__ctm_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_speech__ctm_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_speech__ctm_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_speech__ver_encoder(const MNCC__speech__vers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_speech_vers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_speech__ver_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_speech__ver_decoder(OCTETSTRING& input_stream, MNCC__speech__vers& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_speech_vers' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_speech__ver_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_data_encoder(const MNCC__bearer__cap__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_data_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bearer__cap_encoder(const MNCC__bearer__cap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bearer__cap_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bearer__cap_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bearer__cap_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__type__of__number_encoder(const GSM48__type__of__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_type_of_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__type__of__number_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__type__of__number_decoder(OCTETSTRING& input_stream, GSM48__type__of__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_type_of_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__type__of__number_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_number__type_encoder(const GSM48__type__of__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_type_of_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_number__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_number__type_decoder(OCTETSTRING& input_stream, GSM48__type__of__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_type_of_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_number__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__num__plan__ind_encoder(const GSM48__num__plan__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_num_plan_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__num__plan__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__num__plan__ind_decoder(OCTETSTRING& input_stream, GSM48__num__plan__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_num_plan_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__num__plan__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_plan_encoder(const GSM48__num__plan__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_num_plan_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_plan_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_plan_decoder(OCTETSTRING& input_stream, GSM48__num__plan__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_num_plan_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_plan_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__present__ind_encoder(const GSM48__present__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_present_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__present__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__present__ind_decoder(OCTETSTRING& input_stream, GSM48__present__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_present_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__present__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_presence_encoder(const GSM48__present__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_present_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_presence_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_presence_decoder(OCTETSTRING& input_stream, GSM48__present__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_present_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_presence_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__screening__ind_encoder(const GSM48__screening__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_screening_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__screening__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__screening__ind_decoder(OCTETSTRING& input_stream, GSM48__screening__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_screening_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__screening__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_screen_encoder(const GSM48__screening__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_screening_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_screen_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_screen_decoder(OCTETSTRING& input_stream, GSM48__screening__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_screening_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_screen_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_number_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_number_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_number_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_number_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__number_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__number_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__number_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__number_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__cause__coding_encoder(const GSM48__cause__coding& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_coding' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__cause__coding_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__cause__coding_decoder(OCTETSTRING& input_stream, GSM48__cause__coding& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_coding' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__cause__coding_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void GSM48__cause__loc_encoder(const GSM48__cause__loc& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_loc' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(GSM48__cause__loc_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER GSM48__cause__loc_decoder(OCTETSTRING& input_stream, GSM48__cause__loc& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_loc' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(GSM48__cause__loc_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-MNCC__number_template ts__MNCC__number(const CHARSTRING& number, const GSM48__type__of__number& ton, const GSM48__num__plan__ind& npi, const GSM48__present__ind& pres, const GSM48__screening__ind& screen)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 248, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_number");
-MNCC__number_template ret_val;
-ret_val.number__type() = ton;
-ret_val.plan() = npi;
-ret_val.presence() = pres;
-ret_val.screen() = screen;
-ret_val.number() = number;
-return ret_val;
-}
-
-MNCC__number_template tr__MNCC__number(const CHARSTRING_template& number, const GSM48__type__of__number_template& ton, const GSM48__num__plan__ind_template& npi, const GSM48__present__ind_template& pres, const GSM48__screening__ind_template& screen)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 260, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_number");
-MNCC__number_template ret_val;
-ret_val.number__type() = ton;
-ret_val.plan() = npi;
-ret_val.presence() = pres;
-ret_val.screen() = screen;
-ret_val.number() = number;
-return ret_val;
-}
-
-void MNCC__cause_location_encoder(const GSM48__cause__loc& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_loc' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_location_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_location_decoder(OCTETSTRING& input_stream, GSM48__cause__loc& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_loc' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_location_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_coding_encoder(const GSM48__cause__coding& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_coding' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_coding_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_coding_decoder(OCTETSTRING& input_stream, GSM48__cause__coding& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.GSM48_cause_coding' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_coding_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_rec_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_rec_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_rec_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_rec_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_rec__val_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_rec__val_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_rec__val_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_rec__val_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_val_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_val_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_val_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_val_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_diag_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_diag_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_diag_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_diag_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cause_encoder(const MNCC__cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cause' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cause_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cause_decoder(OCTETSTRING& input_stream, MNCC__cause& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cause' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cause_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-MNCC__cause_template ts__MNCC__cause(const INTEGER& val, const GSM48__cause__loc& loc, const GSM48__cause__coding& coding, const OCTETSTRING& diag)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 284, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_cause");
-MNCC__cause_template ret_val;
-ret_val.location() = loc;
-ret_val.coding() = coding;
-ret_val.rec() = 0;
-ret_val.rec__val() = 0;
-ret_val.val() = val;
-ret_val.diag() = diag;
-return ret_val;
-}
-
-void MNCC__useruser_proto_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__useruser_proto_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__useruser_proto_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__useruser_proto_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__useruser_info_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__useruser_info_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__useruser_info_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__useruser_info_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__useruser_encoder(const MNCC__useruser& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_useruser' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__useruser_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__useruser_decoder(OCTETSTRING& input_stream, MNCC__useruser& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_useruser' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__useruser_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__progress_coding_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__progress_coding_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__progress_coding_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__progress_coding_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__progress_location_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__progress_location_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__progress_location_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__progress_location_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__progress_descr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__progress_descr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__progress_descr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__progress_descr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__progress_encoder(const MNCC__progress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_progress' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__progress_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__progress_decoder(OCTETSTRING& input_stream, MNCC__progress& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_progress' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__progress_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cccap_dtmf_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cccap_dtmf_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cccap_dtmf_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cccap_dtmf_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cccap_pcp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cccap_pcp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cccap_pcp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cccap_pcp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__cccap_encoder(const MNCC__cccap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cccap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__cccap_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__cccap_decoder(OCTETSTRING& input_stream, MNCC__cccap& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cccap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__cccap_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__notify_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__notify_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__notify_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__notify_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__keypad_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__keypad_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__keypad_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__keypad_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__bcap_encoder(const MNCC__bcap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bcap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__bcap_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__bcap_decoder(OCTETSTRING& input_stream, MNCC__bcap& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bcap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__bcap_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_callref_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_callref_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_clir__sup_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_clir__sup_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_clir__sup_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_clir__sup_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_clir__inv_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_clir__inv_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_clir__inv_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_clir__inv_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_more_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_more_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_more_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_more_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_notify_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_notify_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_notify_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_notify_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_imsi_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_imsi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_imsi_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_imsi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_lchan__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_lchan__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_lchan__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_lchan__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_lchan__mode_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_lchan__mode_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_lchan__mode_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_lchan__mode_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_bearer__cap_encoder(const MNCC__bearer__cap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_bearer__cap_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_bearer__cap_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_bearer_cap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_bearer__cap_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_called_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_called_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_called_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_called_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_calling_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_calling_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_calling_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_calling_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_redirecting_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_redirecting_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_redirecting_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_redirecting_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_connected_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_connected_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_connected_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_number' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_connected_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_cause_encoder(const MNCC__cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cause' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_cause_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_cause_decoder(OCTETSTRING& input_stream, MNCC__cause& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cause' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_cause_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_progress_encoder(const MNCC__progress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_progress' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_progress_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_progress_decoder(OCTETSTRING& input_stream, MNCC__progress& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_progress' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_progress_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_useruser_encoder(const MNCC__useruser& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_useruser' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_useruser_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_useruser_decoder(OCTETSTRING& input_stream, MNCC__useruser& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_useruser' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_useruser_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_facility_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_facility_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_facility_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_facility_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_cccap_encoder(const MNCC__cccap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cccap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_cccap_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_cccap_decoder(OCTETSTRING& input_stream, MNCC__cccap& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_cccap' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_cccap_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_ssversion_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_ssversion_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_ssversion_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_ssversion_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_signal_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_signal_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_signal_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_signal_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_keypad_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_keypad_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_keypad_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_keypad_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_emergency_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_emergency_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_emergency_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_emergency_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Signal_encoder(const MNCC__PDU__Signal& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Signal' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Signal_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Signal_decoder(OCTETSTRING& input_stream, MNCC__PDU__Signal& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Signal' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Signal_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Data_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Data_callref_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Data_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Data_callref_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Data_data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Data_data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Data_data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Data_data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Data_encoder(const MNCC__PDU__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Data_decoder(OCTETSTRING& input_stream, MNCC__PDU__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_callref_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_callref_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_ip_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_ip_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_ip_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_ip_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_rtp__port_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_rtp__port_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_rtp__port_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_rtp__port_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_payload__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_payload__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_payload__msg__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_payload__msg__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_payload__msg__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_payload__msg__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Rtp_encoder(const MNCC__PDU__Rtp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Rtp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Rtp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Rtp_decoder(OCTETSTRING& input_stream, MNCC__PDU__Rtp& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Rtp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Rtp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_version_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_version_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_mncc__size_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_mncc__size_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_mncc__size_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_mncc__size_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_data__frame__size_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_data__frame__size_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_data__frame__size_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_data__frame__size_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_called__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_called__offset_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_called__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_called__offset_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_signal__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_signal__offset_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_signal__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_signal__offset_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_emergency__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_emergency__offset_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_emergency__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_emergency__offset_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_lchan__type__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_lchan__type__offset_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_lchan__type__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_lchan__type__offset_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU__Hello_encoder(const MNCC__PDU__Hello& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Hello' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU__Hello_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU__Hello_decoder(OCTETSTRING& input_stream, MNCC__PDU__Hello& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Hello' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU__Hello_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgUnion_signal_encoder(const MNCC__PDU__Signal& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Signal' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgUnion_signal_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgUnion_signal_decoder(OCTETSTRING& input_stream, MNCC__PDU__Signal& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Signal' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgUnion_signal_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgUnion_data_encoder(const MNCC__PDU__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgUnion_data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgUnion_data_decoder(OCTETSTRING& input_stream, MNCC__PDU__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgUnion_data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgUnion_rtp_encoder(const MNCC__PDU__Rtp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Rtp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgUnion_rtp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgUnion_rtp_decoder(OCTETSTRING& input_stream, MNCC__PDU__Rtp& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Rtp' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgUnion_rtp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgUnion_hello_encoder(const MNCC__PDU__Hello& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Hello' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgUnion_hello_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgUnion_hello_decoder(OCTETSTRING& input_stream, MNCC__PDU__Hello& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU_Hello' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgUnion_hello_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__MsgUnion_encoder(const MNCC__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__MsgUnion_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__MsgUnion_decoder(OCTETSTRING& input_stream, MNCC__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__MsgUnion_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU_msg__type_encoder(const MNCC__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU_msg__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU_msg__type_decoder(OCTETSTRING& input_stream, MNCC__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU_msg__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU_u_encoder(const MNCC__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU_u_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU_u_decoder(OCTETSTRING& input_stream, MNCC__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU_u_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void MNCC__PDU_encoder(const MNCC__PDU& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(MNCC__PDU_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER MNCC__PDU_decoder(OCTETSTRING& input_stream, MNCC__PDU& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@MNCC_Types.MNCC_PDU' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(MNCC__PDU_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-MNCC__PDU_template ts__MNCC__HELLO(const INTEGER& version)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 408, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_HELLO");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SOCKET__HELLO;
-{
-MNCC__PDU__Hello_template& tmp_1 = ret_val.u().hello();
-tmp_1.version() = version;
-tmp_1.mncc__size() = 836;
-tmp_1.data__frame__size() = 8;
-tmp_1.called__offset() = 104;
-tmp_1.signal__offset() = 796;
-tmp_1.emergency__offset() = 812;
-tmp_1.lchan__type__offset() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__Sign(const MNCC__MsgType& msg__type, const MNCC__PDU__Signal& sign)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 423, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_Sign");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = msg__type;
-ret_val.u().signal() = sign;
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SIMPLE(const MNCC__MsgType& msg__type, const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 430, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SIMPLE");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = msg__type;
-{
-MNCC__PDU__Signal_template& tmp_2 = ret_val.u().signal();
-tmp_2.callref() = call__id;
-tmp_2.bearer__cap() = OMIT_VALUE;
-tmp_2.called() = OMIT_VALUE;
-tmp_2.calling() = OMIT_VALUE;
-tmp_2.redirecting() = OMIT_VALUE;
-tmp_2.connected() = OMIT_VALUE;
-tmp_2.cause() = OMIT_VALUE;
-tmp_2.progress() = OMIT_VALUE;
-tmp_2.useruser() = OMIT_VALUE;
-tmp_2.facility() = OMIT_VALUE;
-tmp_2.cccap() = OMIT_VALUE;
-tmp_2.ssversion() = OMIT_VALUE;
-tmp_2.clir__sup() = 0;
-tmp_2.clir__inv() = 0;
-tmp_2.signal() = OMIT_VALUE;
-tmp_2.keypad() = OMIT_VALUE;
-tmp_2.more() = 0;
-tmp_2.notify() = 0;
-tmp_2.emergency() = OMIT_VALUE;
-tmp_2.imsi() = cs_0;
-tmp_2.lchan__type() = 0;
-tmp_2.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SIMPLE(const MNCC__MsgType_template& msg__type, const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 460, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SIMPLE");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = msg__type;
-{
-MNCC__PDU__Signal_template& tmp_3 = ret_val.u().signal();
-tmp_3.callref() = call__id;
-tmp_3.bearer__cap() = OMIT_VALUE;
-tmp_3.called() = OMIT_VALUE;
-tmp_3.calling() = OMIT_VALUE;
-tmp_3.redirecting() = OMIT_VALUE;
-tmp_3.connected() = OMIT_VALUE;
-tmp_3.cause() = OMIT_VALUE;
-tmp_3.progress() = OMIT_VALUE;
-tmp_3.useruser() = OMIT_VALUE;
-tmp_3.facility() = OMIT_VALUE;
-tmp_3.cccap() = OMIT_VALUE;
-tmp_3.ssversion() = OMIT_VALUE;
-tmp_3.clir__sup() = 0;
-tmp_3.clir__inv() = 0;
-tmp_3.signal() = OMIT_VALUE;
-tmp_3.keypad() = OMIT_VALUE;
-tmp_3.more() = 0;
-tmp_3.notify() = 0;
-tmp_3.emergency() = ANY_OR_OMIT;
-tmp_3.imsi() = ANY_VALUE;
-tmp_3.lchan__type() = ANY_VALUE;
-tmp_3.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SETUP__req(const INTEGER& call__id, const CHARSTRING& called, const CHARSTRING& calling, const CHARSTRING& imsi)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 493, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SETUP_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__REQ;
-{
-MNCC__PDU__Signal_template& tmp_4 = ret_val.u().signal();
-tmp_4.callref() = call__id;
-tmp_4.bearer__cap() = ts__MNCC__bcap__voice;
-tmp_4.called() = ts__MNCC__number(called, ts__MNCC__number_ton_defval, ts__MNCC__number_npi_defval, ts__MNCC__number_pres_defval, ts__MNCC__number_screen_defval).valueof();
-tmp_4.calling() = ts__MNCC__number(calling, ts__MNCC__number_ton_defval, ts__MNCC__number_npi_defval, ts__MNCC__number_pres_defval, ts__MNCC__number_screen_defval).valueof();
-tmp_4.redirecting() = OMIT_VALUE;
-tmp_4.connected() = OMIT_VALUE;
-tmp_4.cause() = OMIT_VALUE;
-tmp_4.progress() = OMIT_VALUE;
-tmp_4.useruser() = OMIT_VALUE;
-tmp_4.facility() = OMIT_VALUE;
-tmp_4.cccap() = OMIT_VALUE;
-tmp_4.ssversion() = OMIT_VALUE;
-tmp_4.clir__sup() = 0;
-tmp_4.clir__inv() = 0;
-tmp_4.signal() = OMIT_VALUE;
-tmp_4.keypad() = OMIT_VALUE;
-tmp_4.more() = 0;
-tmp_4.notify() = 0;
-tmp_4.emergency() = OMIT_VALUE;
-tmp_4.imsi() = imsi;
-tmp_4.lchan__type() = 0;
-tmp_4.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__req(const INTEGER_template& call__id, const CHARSTRING_template& called, const CHARSTRING_template& calling, const CHARSTRING_template& imsi)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 522, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__REQ;
-{
-MNCC__PDU__Signal_template& tmp_5 = ret_val.u().signal();
-tmp_5.callref() = call__id;
-tmp_5.bearer__cap() = ANY_OR_OMIT;
-tmp_5.called() = tr__MNCC__number(called, tr__MNCC__number_ton_defval, tr__MNCC__number_npi_defval, tr__MNCC__number_pres_defval, tr__MNCC__number_screen_defval);
-tmp_5.calling() = tr__MNCC__number(calling, tr__MNCC__number_ton_defval, tr__MNCC__number_npi_defval, tr__MNCC__number_pres_defval, tr__MNCC__number_screen_defval);
-tmp_5.redirecting() = ANY_OR_OMIT;
-tmp_5.connected() = OMIT_VALUE;
-tmp_5.cause() = OMIT_VALUE;
-tmp_5.progress() = ANY_OR_OMIT;
-tmp_5.useruser() = ANY_OR_OMIT;
-tmp_5.facility() = ANY_OR_OMIT;
-tmp_5.cccap() = OMIT_VALUE;
-tmp_5.ssversion() = OMIT_VALUE;
-tmp_5.clir__sup() = 0;
-tmp_5.clir__inv() = 0;
-tmp_5.signal() = ANY_OR_OMIT;
-tmp_5.keypad() = OMIT_VALUE;
-tmp_5.more() = 0;
-tmp_5.notify() = 0;
-tmp_5.emergency() = ANY_OR_OMIT;
-tmp_5.imsi() = imsi;
-tmp_5.lchan__type() = ANY_VALUE;
-tmp_5.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SETUP__rsp(const INTEGER& call__id, const CHARSTRING& imsi, const MNCC__number_template& connected)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 557, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SETUP_rsp");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__RSP;
-{
-MNCC__PDU__Signal_template& tmp_6 = ret_val.u().signal();
-tmp_6.callref() = call__id;
-tmp_6.bearer__cap() = OMIT_VALUE;
-tmp_6.called() = OMIT_VALUE;
-tmp_6.calling() = OMIT_VALUE;
-tmp_6.redirecting() = OMIT_VALUE;
-tmp_6.connected() = connected;
-tmp_6.cause() = OMIT_VALUE;
-tmp_6.progress() = OMIT_VALUE;
-tmp_6.useruser() = OMIT_VALUE;
-tmp_6.facility() = OMIT_VALUE;
-tmp_6.cccap() = OMIT_VALUE;
-tmp_6.ssversion() = OMIT_VALUE;
-tmp_6.clir__sup() = 0;
-tmp_6.clir__inv() = 0;
-tmp_6.signal() = OMIT_VALUE;
-tmp_6.keypad() = OMIT_VALUE;
-tmp_6.more() = 0;
-tmp_6.notify() = 0;
-tmp_6.emergency() = OMIT_VALUE;
-tmp_6.imsi() = imsi;
-tmp_6.lchan__type() = 0;
-tmp_6.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__rsp(const INTEGER_template& call__id, const CHARSTRING_template& imsi, const MNCC__number_template& connected)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 587, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_rsp");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__RSP;
-{
-MNCC__PDU__Signal_template& tmp_7 = ret_val.u().signal();
-tmp_7.callref() = call__id;
-tmp_7.bearer__cap() = OMIT_VALUE;
-tmp_7.called() = OMIT_VALUE;
-tmp_7.calling() = OMIT_VALUE;
-tmp_7.redirecting() = OMIT_VALUE;
-tmp_7.connected() = connected;
-tmp_7.cause() = OMIT_VALUE;
-tmp_7.progress() = OMIT_VALUE;
-tmp_7.useruser() = ANY_OR_OMIT;
-tmp_7.facility() = ANY_OR_OMIT;
-tmp_7.cccap() = OMIT_VALUE;
-tmp_7.ssversion() = ANY_OR_OMIT;
-tmp_7.clir__sup() = 0;
-tmp_7.clir__inv() = 0;
-tmp_7.signal() = OMIT_VALUE;
-tmp_7.keypad() = OMIT_VALUE;
-tmp_7.more() = 0;
-tmp_7.notify() = 0;
-tmp_7.emergency() = OMIT_VALUE;
-tmp_7.imsi() = imsi;
-tmp_7.lchan__type() = ANY_VALUE;
-tmp_7.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__ind(const INTEGER_template& call__id, const MNCC__number_template& called, const MNCC__number_template& calling, const CHARSTRING_template& imsi)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 621, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__IND;
-{
-MNCC__PDU__Signal_template& tmp_8 = ret_val.u().signal();
-tmp_8.callref() = call__id;
-tmp_8.bearer__cap() = ANY_VALUE;
-tmp_8.called() = called;
-tmp_8.calling() = calling;
-tmp_8.redirecting() = OMIT_VALUE;
-tmp_8.connected() = OMIT_VALUE;
-tmp_8.cause() = OMIT_VALUE;
-tmp_8.progress() = OMIT_VALUE;
-tmp_8.useruser() = ANY_OR_OMIT;
-tmp_8.facility() = ANY_OR_OMIT;
-tmp_8.cccap() = ANY_OR_OMIT;
-tmp_8.ssversion() = ANY_OR_OMIT;
-tmp_8.clir__sup() = ANY_VALUE;
-tmp_8.clir__inv() = ANY_VALUE;
-tmp_8.signal() = OMIT_VALUE;
-tmp_8.keypad() = OMIT_VALUE;
-tmp_8.more() = 0;
-tmp_8.notify() = 0;
-tmp_8.emergency() = ANY_OR_OMIT;
-tmp_8.imsi() = imsi;
-tmp_8.lchan__type() = ANY_VALUE;
-tmp_8.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SETUP__ind(const INTEGER& call__id, const MNCC__number& called, const MNCC__number_template& calling, const CHARSTRING_template& imsi, const MNCC__bearer__cap_template& bcap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 651, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SETUP_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__IND;
-{
-MNCC__PDU__Signal_template& tmp_9 = ret_val.u().signal();
-tmp_9.callref() = call__id;
-tmp_9.bearer__cap() = bcap.valueof();
-tmp_9.called() = called;
-tmp_9.calling() = calling;
-tmp_9.redirecting() = OMIT_VALUE;
-tmp_9.connected() = OMIT_VALUE;
-tmp_9.cause() = OMIT_VALUE;
-tmp_9.progress() = OMIT_VALUE;
-tmp_9.useruser() = OMIT_VALUE;
-tmp_9.facility() = OMIT_VALUE;
-tmp_9.cccap() = OMIT_VALUE;
-tmp_9.ssversion() = OMIT_VALUE;
-tmp_9.clir__sup() = 0;
-tmp_9.clir__inv() = 0;
-tmp_9.signal() = OMIT_VALUE;
-tmp_9.keypad() = OMIT_VALUE;
-tmp_9.more() = 0;
-tmp_9.notify() = 0;
-tmp_9.emergency() = OMIT_VALUE;
-tmp_9.imsi() = imsi;
-tmp_9.lchan__type() = 0;
-tmp_9.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SETUP__CNF(const INTEGER& call__id, const MNCC__number_template& connected)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 685, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SETUP_CNF");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__CNF;
-{
-MNCC__PDU__Signal_template& tmp_10 = ret_val.u().signal();
-tmp_10.callref() = call__id;
-tmp_10.bearer__cap() = OMIT_VALUE;
-tmp_10.called() = OMIT_VALUE;
-tmp_10.calling() = OMIT_VALUE;
-tmp_10.redirecting() = OMIT_VALUE;
-tmp_10.connected() = connected;
-tmp_10.cause() = OMIT_VALUE;
-tmp_10.progress() = OMIT_VALUE;
-tmp_10.useruser() = OMIT_VALUE;
-tmp_10.facility() = OMIT_VALUE;
-tmp_10.cccap() = OMIT_VALUE;
-tmp_10.ssversion() = OMIT_VALUE;
-tmp_10.clir__sup() = 0;
-tmp_10.clir__inv() = 0;
-tmp_10.signal() = OMIT_VALUE;
-tmp_10.keypad() = OMIT_VALUE;
-tmp_10.more() = 0;
-tmp_10.notify() = 0;
-tmp_10.emergency() = OMIT_VALUE;
-tmp_10.imsi() = cs_0;
-tmp_10.lchan__type() = 0;
-tmp_10.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__cnf(const INTEGER& call__id, const MNCC__number_template& connected)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 716, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_cnf");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__SETUP__CNF;
-{
-MNCC__PDU__Signal_template& tmp_11 = ret_val.u().signal();
-tmp_11.callref() = call__id;
-tmp_11.bearer__cap() = OMIT_VALUE;
-tmp_11.called() = OMIT_VALUE;
-tmp_11.calling() = OMIT_VALUE;
-tmp_11.redirecting() = OMIT_VALUE;
-tmp_11.connected() = connected;
-tmp_11.cause() = OMIT_VALUE;
-tmp_11.progress() = ANY_OR_OMIT;
-tmp_11.useruser() = ANY_OR_OMIT;
-tmp_11.facility() = ANY_OR_OMIT;
-tmp_11.cccap() = OMIT_VALUE;
-tmp_11.ssversion() = OMIT_VALUE;
-tmp_11.clir__sup() = 0;
-tmp_11.clir__inv() = 0;
-tmp_11.signal() = OMIT_VALUE;
-tmp_11.keypad() = OMIT_VALUE;
-tmp_11.more() = 0;
-tmp_11.notify() = 0;
-tmp_11.emergency() = ANY_OR_OMIT;
-tmp_11.imsi() = ANY_VALUE;
-tmp_11.lchan__type() = ANY_VALUE;
-tmp_11.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__COMPL__req(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 747, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_COMPL_req");
-MNCC__PDU_template ret_val;
-ret_val = tr__MNCC__SIMPLE(MNCC__MsgType_template(MNCC__MsgType::MNCC__SETUP__COMPL__REQ), call__id);
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__SETUP__COMPL__ind(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 751, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_SETUP_COMPL_ind");
-MNCC__PDU_template ret_val;
-ret_val = tr__MNCC__SIMPLE(MNCC__MsgType_template(MNCC__MsgType::MNCC__SETUP__COMPL__IND), call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SETUP__COMPL__ind(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 753, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SETUP_COMPL_ind");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE(MNCC__MsgType::MNCC__SETUP__COMPL__IND, call__id);
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__REJ__req(const INTEGER_template& call__id, const MNCC__cause_template& cause)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 757, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_REJ_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REJ__REQ;
-{
-MNCC__PDU__Signal_template& tmp_12 = ret_val.u().signal();
-tmp_12.callref() = call__id;
-tmp_12.bearer__cap() = OMIT_VALUE;
-tmp_12.called() = OMIT_VALUE;
-tmp_12.calling() = OMIT_VALUE;
-tmp_12.redirecting() = OMIT_VALUE;
-tmp_12.connected() = OMIT_VALUE;
-tmp_12.cause() = cause;
-tmp_12.progress() = OMIT_VALUE;
-tmp_12.useruser() = ANY_OR_OMIT;
-tmp_12.facility() = ANY_OR_OMIT;
-tmp_12.cccap() = OMIT_VALUE;
-tmp_12.ssversion() = OMIT_VALUE;
-tmp_12.clir__sup() = 0;
-tmp_12.clir__inv() = 0;
-tmp_12.signal() = OMIT_VALUE;
-tmp_12.keypad() = OMIT_VALUE;
-tmp_12.more() = 0;
-tmp_12.notify() = 0;
-tmp_12.emergency() = OMIT_VALUE;
-tmp_12.imsi() = ANY_VALUE;
-tmp_12.lchan__type() = ANY_VALUE;
-tmp_12.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__REJ__ind(const INTEGER& call__id, const MNCC__cause_template& cause)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 788, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_REJ_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REJ__IND;
-{
-MNCC__PDU__Signal_template& tmp_13 = ret_val.u().signal();
-tmp_13.callref() = call__id;
-tmp_13.bearer__cap() = OMIT_VALUE;
-tmp_13.called() = OMIT_VALUE;
-tmp_13.calling() = OMIT_VALUE;
-tmp_13.redirecting() = OMIT_VALUE;
-tmp_13.connected() = OMIT_VALUE;
-tmp_13.cause() = cause;
-tmp_13.progress() = OMIT_VALUE;
-tmp_13.useruser() = OMIT_VALUE;
-tmp_13.facility() = OMIT_VALUE;
-tmp_13.cccap() = OMIT_VALUE;
-tmp_13.ssversion() = OMIT_VALUE;
-tmp_13.clir__sup() = 0;
-tmp_13.clir__inv() = 0;
-tmp_13.signal() = OMIT_VALUE;
-tmp_13.keypad() = OMIT_VALUE;
-tmp_13.more() = 0;
-tmp_13.notify() = 0;
-tmp_13.emergency() = OMIT_VALUE;
-tmp_13.imsi() = cs_0;
-tmp_13.lchan__type() = 0;
-tmp_13.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__CALL__CONF__ind(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__cause_template& cause, const MNCC__cccap_template& cccap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 819, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_CALL_CONF_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__CALL__CONF__IND;
-{
-MNCC__PDU__Signal_template& tmp_14 = ret_val.u().signal();
-tmp_14.callref() = call__id;
-tmp_14.bearer__cap() = bcap;
-tmp_14.called() = OMIT_VALUE;
-tmp_14.calling() = OMIT_VALUE;
-tmp_14.redirecting() = OMIT_VALUE;
-tmp_14.connected() = OMIT_VALUE;
-tmp_14.cause() = cause;
-tmp_14.progress() = OMIT_VALUE;
-tmp_14.useruser() = OMIT_VALUE;
-tmp_14.facility() = OMIT_VALUE;
-tmp_14.cccap() = cccap;
-tmp_14.ssversion() = OMIT_VALUE;
-tmp_14.clir__sup() = 0;
-tmp_14.clir__inv() = 0;
-tmp_14.signal() = OMIT_VALUE;
-tmp_14.keypad() = OMIT_VALUE;
-tmp_14.more() = 0;
-tmp_14.notify() = 0;
-tmp_14.emergency() = OMIT_VALUE;
-tmp_14.imsi() = ANY_VALUE;
-tmp_14.lchan__type() = ANY_VALUE;
-tmp_14.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__CALL__CONF__ind(const INTEGER& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__cause_template& cause, const MNCC__cccap_template& cccap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 850, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_CALL_CONF_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__CALL__CONF__IND;
-{
-MNCC__PDU__Signal_template& tmp_15 = ret_val.u().signal();
-tmp_15.callref() = call__id;
-tmp_15.bearer__cap() = bcap;
-tmp_15.called() = OMIT_VALUE;
-tmp_15.calling() = OMIT_VALUE;
-tmp_15.redirecting() = OMIT_VALUE;
-tmp_15.connected() = OMIT_VALUE;
-tmp_15.cause() = cause;
-tmp_15.progress() = OMIT_VALUE;
-tmp_15.useruser() = OMIT_VALUE;
-tmp_15.facility() = OMIT_VALUE;
-tmp_15.cccap() = cccap;
-tmp_15.ssversion() = OMIT_VALUE;
-tmp_15.clir__sup() = 0;
-tmp_15.clir__inv() = 0;
-tmp_15.signal() = OMIT_VALUE;
-tmp_15.keypad() = OMIT_VALUE;
-tmp_15.more() = 0;
-tmp_15.notify() = 0;
-tmp_15.emergency() = OMIT_VALUE;
-tmp_15.imsi() = cs_0;
-tmp_15.lchan__type() = 0;
-tmp_15.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__CALL__PROC__req(const INTEGER& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__cccap_template& cccap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 885, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_CALL_PROC_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__CALL__PROC__REQ;
-{
-MNCC__PDU__Signal_template& tmp_16 = ret_val.u().signal();
-tmp_16.callref() = call__id;
-tmp_16.bearer__cap() = bcap;
-tmp_16.called() = OMIT_VALUE;
-tmp_16.calling() = OMIT_VALUE;
-tmp_16.redirecting() = OMIT_VALUE;
-tmp_16.connected() = OMIT_VALUE;
-tmp_16.cause() = OMIT_VALUE;
-tmp_16.progress() = prog;
-tmp_16.useruser() = OMIT_VALUE;
-tmp_16.facility() = fac;
-tmp_16.cccap() = cccap;
-tmp_16.ssversion() = OMIT_VALUE;
-tmp_16.clir__sup() = 0;
-tmp_16.clir__inv() = 0;
-tmp_16.signal() = OMIT_VALUE;
-tmp_16.keypad() = OMIT_VALUE;
-tmp_16.more() = 0;
-tmp_16.notify() = 0;
-tmp_16.emergency() = OMIT_VALUE;
-tmp_16.imsi() = cs_0;
-tmp_16.lchan__type() = 0;
-tmp_16.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__CALL__PROC__req(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__cccap_template& cccap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 917, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_CALL_PROC_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__CALL__PROC__REQ;
-{
-MNCC__PDU__Signal_template& tmp_17 = ret_val.u().signal();
-tmp_17.callref() = call__id;
-tmp_17.bearer__cap() = bcap;
-tmp_17.called() = OMIT_VALUE;
-tmp_17.calling() = OMIT_VALUE;
-tmp_17.redirecting() = OMIT_VALUE;
-tmp_17.connected() = OMIT_VALUE;
-tmp_17.cause() = OMIT_VALUE;
-tmp_17.progress() = prog;
-tmp_17.useruser() = OMIT_VALUE;
-tmp_17.facility() = fac;
-tmp_17.cccap() = cccap;
-tmp_17.ssversion() = OMIT_VALUE;
-tmp_17.clir__sup() = 0;
-tmp_17.clir__inv() = 0;
-tmp_17.signal() = OMIT_VALUE;
-tmp_17.keypad() = OMIT_VALUE;
-tmp_17.more() = 0;
-tmp_17.notify() = 0;
-tmp_17.emergency() = OMIT_VALUE;
-tmp_17.imsi() = ANY_VALUE;
-tmp_17.lchan__type() = ANY_VALUE;
-tmp_17.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__PROGRESS__req(const INTEGER& call__id, const MNCC__progress& prog, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 953, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_PROGRESS_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__PROGRESS__REQ;
-{
-MNCC__PDU__Signal_template& tmp_18 = ret_val.u().signal();
-tmp_18.callref() = call__id;
-tmp_18.bearer__cap() = OMIT_VALUE;
-tmp_18.called() = OMIT_VALUE;
-tmp_18.calling() = OMIT_VALUE;
-tmp_18.redirecting() = OMIT_VALUE;
-tmp_18.connected() = OMIT_VALUE;
-tmp_18.cause() = OMIT_VALUE;
-tmp_18.progress() = prog;
-tmp_18.useruser() = uu;
-tmp_18.facility() = OMIT_VALUE;
-tmp_18.cccap() = OMIT_VALUE;
-tmp_18.ssversion() = OMIT_VALUE;
-tmp_18.clir__sup() = 0;
-tmp_18.clir__inv() = 0;
-tmp_18.signal() = OMIT_VALUE;
-tmp_18.keypad() = OMIT_VALUE;
-tmp_18.more() = 0;
-tmp_18.notify() = 0;
-tmp_18.emergency() = OMIT_VALUE;
-tmp_18.imsi() = cs_0;
-tmp_18.lchan__type() = 0;
-tmp_18.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__ALERT__req(const INTEGER& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 985, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_ALERT_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__ALERT__REQ;
-{
-MNCC__PDU__Signal_template& tmp_19 = ret_val.u().signal();
-tmp_19.callref() = call__id;
-tmp_19.bearer__cap() = OMIT_VALUE;
-tmp_19.called() = OMIT_VALUE;
-tmp_19.calling() = OMIT_VALUE;
-tmp_19.redirecting() = OMIT_VALUE;
-tmp_19.connected() = OMIT_VALUE;
-tmp_19.cause() = OMIT_VALUE;
-tmp_19.progress() = prog;
-tmp_19.useruser() = uu;
-tmp_19.facility() = fac;
-tmp_19.cccap() = OMIT_VALUE;
-tmp_19.ssversion() = OMIT_VALUE;
-tmp_19.clir__sup() = 0;
-tmp_19.clir__inv() = 0;
-tmp_19.signal() = OMIT_VALUE;
-tmp_19.keypad() = OMIT_VALUE;
-tmp_19.more() = 0;
-tmp_19.notify() = 0;
-tmp_19.emergency() = OMIT_VALUE;
-tmp_19.imsi() = cs_0;
-tmp_19.lchan__type() = 0;
-tmp_19.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__ALERT__req(const INTEGER_template& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1016, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_ALERT_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__ALERT__REQ;
-{
-MNCC__PDU__Signal_template& tmp_20 = ret_val.u().signal();
-tmp_20.callref() = call__id;
-tmp_20.bearer__cap() = OMIT_VALUE;
-tmp_20.called() = OMIT_VALUE;
-tmp_20.calling() = OMIT_VALUE;
-tmp_20.redirecting() = OMIT_VALUE;
-tmp_20.connected() = OMIT_VALUE;
-tmp_20.cause() = OMIT_VALUE;
-tmp_20.progress() = prog;
-tmp_20.useruser() = uu;
-tmp_20.facility() = fac;
-tmp_20.cccap() = OMIT_VALUE;
-tmp_20.ssversion() = OMIT_VALUE;
-tmp_20.clir__sup() = 0;
-tmp_20.clir__inv() = 0;
-tmp_20.signal() = OMIT_VALUE;
-tmp_20.keypad() = OMIT_VALUE;
-tmp_20.more() = 0;
-tmp_20.notify() = 0;
-tmp_20.emergency() = OMIT_VALUE;
-tmp_20.imsi() = ANY_VALUE;
-tmp_20.lchan__type() = ANY_VALUE;
-tmp_20.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__ALERT__ind(const INTEGER_template& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1052, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_ALERT_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__ALERT__IND;
-{
-MNCC__PDU__Signal_template& tmp_21 = ret_val.u().signal();
-tmp_21.callref() = call__id;
-tmp_21.bearer__cap() = OMIT_VALUE;
-tmp_21.called() = OMIT_VALUE;
-tmp_21.calling() = OMIT_VALUE;
-tmp_21.redirecting() = OMIT_VALUE;
-tmp_21.connected() = OMIT_VALUE;
-tmp_21.cause() = OMIT_VALUE;
-tmp_21.progress() = prog;
-tmp_21.useruser() = uu;
-tmp_21.facility() = fac;
-tmp_21.cccap() = OMIT_VALUE;
-tmp_21.ssversion() = OMIT_VALUE;
-tmp_21.clir__sup() = 0;
-tmp_21.clir__inv() = 0;
-tmp_21.signal() = OMIT_VALUE;
-tmp_21.keypad() = OMIT_VALUE;
-tmp_21.more() = 0;
-tmp_21.notify() = 0;
-tmp_21.emergency() = ANY_OR_OMIT;
-tmp_21.imsi() = ANY_VALUE;
-tmp_21.lchan__type() = ANY_VALUE;
-tmp_21.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__ALERT__ind(const INTEGER& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1083, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_ALERT_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__ALERT__IND;
-{
-MNCC__PDU__Signal_template& tmp_22 = ret_val.u().signal();
-tmp_22.callref() = call__id;
-tmp_22.bearer__cap() = OMIT_VALUE;
-tmp_22.called() = OMIT_VALUE;
-tmp_22.calling() = OMIT_VALUE;
-tmp_22.redirecting() = OMIT_VALUE;
-tmp_22.connected() = OMIT_VALUE;
-tmp_22.cause() = OMIT_VALUE;
-tmp_22.progress() = prog;
-tmp_22.useruser() = uu;
-tmp_22.facility() = fac;
-tmp_22.cccap() = OMIT_VALUE;
-tmp_22.ssversion() = OMIT_VALUE;
-tmp_22.clir__sup() = 0;
-tmp_22.clir__inv() = 0;
-tmp_22.signal() = OMIT_VALUE;
-tmp_22.keypad() = OMIT_VALUE;
-tmp_22.more() = 0;
-tmp_22.notify() = 0;
-tmp_22.emergency() = OMIT_VALUE;
-tmp_22.imsi() = cs_0;
-tmp_22.lchan__type() = 0;
-tmp_22.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__NOTIFY__req(const INTEGER& call__id, const INTEGER& notify)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1118, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_NOTIFY_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__NOTIFY__REQ;
-{
-MNCC__PDU__Signal_template& tmp_23 = ret_val.u().signal();
-tmp_23.callref() = call__id;
-tmp_23.bearer__cap() = OMIT_VALUE;
-tmp_23.called() = OMIT_VALUE;
-tmp_23.calling() = OMIT_VALUE;
-tmp_23.redirecting() = OMIT_VALUE;
-tmp_23.connected() = OMIT_VALUE;
-tmp_23.cause() = OMIT_VALUE;
-tmp_23.progress() = OMIT_VALUE;
-tmp_23.useruser() = OMIT_VALUE;
-tmp_23.facility() = OMIT_VALUE;
-tmp_23.cccap() = OMIT_VALUE;
-tmp_23.ssversion() = OMIT_VALUE;
-tmp_23.clir__sup() = 0;
-tmp_23.clir__inv() = 0;
-tmp_23.signal() = OMIT_VALUE;
-tmp_23.keypad() = OMIT_VALUE;
-tmp_23.more() = 0;
-tmp_23.notify() = notify;
-tmp_23.emergency() = OMIT_VALUE;
-tmp_23.imsi() = cs_0;
-tmp_23.lchan__type() = 0;
-tmp_23.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__NOTIFY__ind(const INTEGER_template& call__id, const INTEGER_template& notify)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1149, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_NOTIFY_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__NOTIFY__IND;
-{
-MNCC__PDU__Signal_template& tmp_24 = ret_val.u().signal();
-tmp_24.callref() = call__id;
-tmp_24.bearer__cap() = OMIT_VALUE;
-tmp_24.called() = OMIT_VALUE;
-tmp_24.calling() = OMIT_VALUE;
-tmp_24.redirecting() = OMIT_VALUE;
-tmp_24.connected() = OMIT_VALUE;
-tmp_24.cause() = OMIT_VALUE;
-tmp_24.progress() = OMIT_VALUE;
-tmp_24.useruser() = OMIT_VALUE;
-tmp_24.facility() = OMIT_VALUE;
-tmp_24.cccap() = OMIT_VALUE;
-tmp_24.ssversion() = OMIT_VALUE;
-tmp_24.clir__sup() = 0;
-tmp_24.clir__inv() = 0;
-tmp_24.signal() = OMIT_VALUE;
-tmp_24.keypad() = OMIT_VALUE;
-tmp_24.more() = 0;
-tmp_24.notify() = notify;
-tmp_24.emergency() = ANY_OR_OMIT;
-tmp_24.imsi() = ANY_VALUE;
-tmp_24.lchan__type() = ANY_VALUE;
-tmp_24.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__DISC__ind(const INTEGER_template& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1180, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_DISC_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__DISC__IND;
-{
-MNCC__PDU__Signal_template& tmp_25 = ret_val.u().signal();
-tmp_25.callref() = call__id;
-tmp_25.bearer__cap() = OMIT_VALUE;
-tmp_25.called() = OMIT_VALUE;
-tmp_25.calling() = OMIT_VALUE;
-tmp_25.redirecting() = OMIT_VALUE;
-tmp_25.connected() = OMIT_VALUE;
-tmp_25.cause() = cause;
-tmp_25.progress() = prog;
-tmp_25.useruser() = uu;
-tmp_25.facility() = fac;
-tmp_25.cccap() = OMIT_VALUE;
-tmp_25.ssversion() = OMIT_VALUE;
-tmp_25.clir__sup() = 0;
-tmp_25.clir__inv() = 0;
-tmp_25.signal() = OMIT_VALUE;
-tmp_25.keypad() = OMIT_VALUE;
-tmp_25.more() = 0;
-tmp_25.notify() = 0;
-tmp_25.emergency() = ANY_OR_OMIT;
-tmp_25.imsi() = ANY_VALUE;
-tmp_25.lchan__type() = ANY_VALUE;
-tmp_25.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__DISC__ind(const INTEGER& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1212, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_DISC_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__DISC__IND;
-{
-MNCC__PDU__Signal_template& tmp_26 = ret_val.u().signal();
-tmp_26.callref() = call__id;
-tmp_26.bearer__cap() = OMIT_VALUE;
-tmp_26.called() = OMIT_VALUE;
-tmp_26.calling() = OMIT_VALUE;
-tmp_26.redirecting() = OMIT_VALUE;
-tmp_26.connected() = OMIT_VALUE;
-tmp_26.cause() = cause;
-tmp_26.progress() = prog;
-tmp_26.useruser() = uu;
-tmp_26.facility() = fac;
-tmp_26.cccap() = OMIT_VALUE;
-tmp_26.ssversion() = OMIT_VALUE;
-tmp_26.clir__sup() = 0;
-tmp_26.clir__inv() = 0;
-tmp_26.signal() = OMIT_VALUE;
-tmp_26.keypad() = OMIT_VALUE;
-tmp_26.more() = 0;
-tmp_26.notify() = 0;
-tmp_26.emergency() = OMIT_VALUE;
-tmp_26.imsi() = cs_0;
-tmp_26.lchan__type() = 0;
-tmp_26.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__DISC__req(const INTEGER& call__id, const MNCC__cause& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1246, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_DISC_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__DISC__REQ;
-{
-MNCC__PDU__Signal_template& tmp_27 = ret_val.u().signal();
-tmp_27.callref() = call__id;
-tmp_27.bearer__cap() = OMIT_VALUE;
-tmp_27.called() = OMIT_VALUE;
-tmp_27.calling() = OMIT_VALUE;
-tmp_27.redirecting() = OMIT_VALUE;
-tmp_27.connected() = OMIT_VALUE;
-tmp_27.cause() = cause;
-tmp_27.progress() = prog;
-tmp_27.useruser() = uu;
-tmp_27.facility() = fac;
-tmp_27.cccap() = OMIT_VALUE;
-tmp_27.ssversion() = OMIT_VALUE;
-tmp_27.clir__sup() = 0;
-tmp_27.clir__inv() = 0;
-tmp_27.signal() = OMIT_VALUE;
-tmp_27.keypad() = OMIT_VALUE;
-tmp_27.more() = 0;
-tmp_27.notify() = 0;
-tmp_27.emergency() = OMIT_VALUE;
-tmp_27.imsi() = cs_0;
-tmp_27.lchan__type() = 0;
-tmp_27.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__DISC__req(const INTEGER_template& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1278, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_DISC_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__DISC__REQ;
-{
-MNCC__PDU__Signal_template& tmp_28 = ret_val.u().signal();
-tmp_28.callref() = call__id;
-tmp_28.bearer__cap() = OMIT_VALUE;
-tmp_28.called() = OMIT_VALUE;
-tmp_28.calling() = OMIT_VALUE;
-tmp_28.redirecting() = OMIT_VALUE;
-tmp_28.connected() = OMIT_VALUE;
-tmp_28.cause() = cause;
-tmp_28.progress() = prog;
-tmp_28.useruser() = uu;
-tmp_28.facility() = fac;
-tmp_28.cccap() = OMIT_VALUE;
-tmp_28.ssversion() = OMIT_VALUE;
-tmp_28.clir__sup() = 0;
-tmp_28.clir__inv() = 0;
-tmp_28.signal() = OMIT_VALUE;
-tmp_28.keypad() = OMIT_VALUE;
-tmp_28.more() = 0;
-tmp_28.notify() = 0;
-tmp_28.emergency() = ANY_OR_OMIT;
-tmp_28.imsi() = ANY_VALUE;
-tmp_28.lchan__type() = ANY_VALUE;
-tmp_28.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__REL__ind(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1314, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_REL_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__IND;
-{
-MNCC__PDU__Signal_template& tmp_29 = ret_val.u().signal();
-tmp_29.callref() = call__id;
-tmp_29.bearer__cap() = OMIT_VALUE;
-tmp_29.called() = OMIT_VALUE;
-tmp_29.calling() = OMIT_VALUE;
-tmp_29.redirecting() = OMIT_VALUE;
-tmp_29.connected() = OMIT_VALUE;
-tmp_29.cause() = cause;
-tmp_29.progress() = OMIT_VALUE;
-tmp_29.useruser() = uu;
-tmp_29.facility() = fac;
-tmp_29.cccap() = OMIT_VALUE;
-tmp_29.ssversion() = OMIT_VALUE;
-tmp_29.clir__sup() = 0;
-tmp_29.clir__inv() = 0;
-tmp_29.signal() = OMIT_VALUE;
-tmp_29.keypad() = OMIT_VALUE;
-tmp_29.more() = 0;
-tmp_29.notify() = 0;
-tmp_29.emergency() = ANY_OR_OMIT;
-tmp_29.imsi() = ANY_VALUE;
-tmp_29.lchan__type() = ANY_VALUE;
-tmp_29.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__REL__ind(const INTEGER& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1344, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_REL_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__IND;
-{
-MNCC__PDU__Signal_template& tmp_30 = ret_val.u().signal();
-tmp_30.callref() = call__id;
-tmp_30.bearer__cap() = OMIT_VALUE;
-tmp_30.called() = OMIT_VALUE;
-tmp_30.calling() = OMIT_VALUE;
-tmp_30.redirecting() = OMIT_VALUE;
-tmp_30.connected() = OMIT_VALUE;
-tmp_30.cause() = cause;
-tmp_30.progress() = OMIT_VALUE;
-tmp_30.useruser() = uu;
-tmp_30.facility() = fac;
-tmp_30.cccap() = OMIT_VALUE;
-tmp_30.ssversion() = OMIT_VALUE;
-tmp_30.clir__sup() = 0;
-tmp_30.clir__inv() = 0;
-tmp_30.signal() = OMIT_VALUE;
-tmp_30.keypad() = OMIT_VALUE;
-tmp_30.more() = 0;
-tmp_30.notify() = 0;
-tmp_30.emergency() = OMIT_VALUE;
-tmp_30.imsi() = cs_0;
-tmp_30.lchan__type() = 0;
-tmp_30.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__REL__req(const INTEGER& call__id, const MNCC__cause& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1378, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_REL_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__REQ;
-{
-MNCC__PDU__Signal_template& tmp_31 = ret_val.u().signal();
-tmp_31.callref() = call__id;
-tmp_31.bearer__cap() = OMIT_VALUE;
-tmp_31.called() = OMIT_VALUE;
-tmp_31.calling() = OMIT_VALUE;
-tmp_31.redirecting() = OMIT_VALUE;
-tmp_31.connected() = OMIT_VALUE;
-tmp_31.cause() = cause;
-tmp_31.progress() = OMIT_VALUE;
-tmp_31.useruser() = uu;
-tmp_31.facility() = fac;
-tmp_31.cccap() = OMIT_VALUE;
-tmp_31.ssversion() = OMIT_VALUE;
-tmp_31.clir__sup() = 0;
-tmp_31.clir__inv() = 0;
-tmp_31.signal() = OMIT_VALUE;
-tmp_31.keypad() = OMIT_VALUE;
-tmp_31.more() = 0;
-tmp_31.notify() = 0;
-tmp_31.emergency() = OMIT_VALUE;
-tmp_31.imsi() = cs_0;
-tmp_31.lchan__type() = 0;
-tmp_31.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__REL__req(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1408, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_REL_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__REQ;
-{
-MNCC__PDU__Signal_template& tmp_32 = ret_val.u().signal();
-tmp_32.callref() = call__id;
-tmp_32.bearer__cap() = OMIT_VALUE;
-tmp_32.called() = ANY_OR_OMIT;
-tmp_32.calling() = ANY_OR_OMIT;
-tmp_32.redirecting() = ANY_OR_OMIT;
-tmp_32.connected() = ANY_OR_OMIT;
-tmp_32.cause() = cause;
-tmp_32.progress() = OMIT_VALUE;
-tmp_32.useruser() = uu;
-tmp_32.facility() = fac;
-tmp_32.cccap() = OMIT_VALUE;
-tmp_32.ssversion() = OMIT_VALUE;
-tmp_32.clir__sup() = 0;
-tmp_32.clir__inv() = 0;
-tmp_32.signal() = OMIT_VALUE;
-tmp_32.keypad() = OMIT_VALUE;
-tmp_32.more() = 0;
-tmp_32.notify() = 0;
-tmp_32.emergency() = OMIT_VALUE;
-tmp_32.imsi() = ANY_VALUE;
-tmp_32.lchan__type() = 0;
-tmp_32.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__REL__cnf(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1441, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_REL_cnf");
-MNCC__PDU_template ret_val(tr__MNCC__REL__ind(call__id, cause, fac, uu));
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__CNF;
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__REL__cnf(const INTEGER& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1446, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_REL_cnf");
-MNCC__PDU_template ret_val(ts__MNCC__REL__ind(call__id, cause, fac, uu));
-ret_val.msg__type() = MNCC__MsgType::MNCC__REL__CNF;
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__FACILITY__req(const INTEGER& call__id, const CHARSTRING& fac)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1456, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_FACILITY_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__FACILITY__REQ;
-{
-MNCC__PDU__Signal_template& tmp_33 = ret_val.u().signal();
-tmp_33.callref() = call__id;
-tmp_33.bearer__cap() = OMIT_VALUE;
-tmp_33.called() = OMIT_VALUE;
-tmp_33.calling() = OMIT_VALUE;
-tmp_33.redirecting() = OMIT_VALUE;
-tmp_33.connected() = OMIT_VALUE;
-tmp_33.cause() = OMIT_VALUE;
-tmp_33.progress() = OMIT_VALUE;
-tmp_33.useruser() = OMIT_VALUE;
-tmp_33.facility() = fac;
-tmp_33.cccap() = OMIT_VALUE;
-tmp_33.ssversion() = OMIT_VALUE;
-tmp_33.clir__sup() = 0;
-tmp_33.clir__inv() = 0;
-tmp_33.signal() = OMIT_VALUE;
-tmp_33.keypad() = OMIT_VALUE;
-tmp_33.more() = 0;
-tmp_33.notify() = 0;
-tmp_33.emergency() = OMIT_VALUE;
-tmp_33.imsi() = cs_0;
-tmp_33.lchan__type() = 0;
-tmp_33.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__FACILITY__ind(const INTEGER_template& call__id, const CHARSTRING_template& fac)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1487, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_FACILITY_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__FACILITY__IND;
-{
-MNCC__PDU__Signal_template& tmp_34 = ret_val.u().signal();
-tmp_34.callref() = call__id;
-tmp_34.bearer__cap() = OMIT_VALUE;
-tmp_34.called() = OMIT_VALUE;
-tmp_34.calling() = OMIT_VALUE;
-tmp_34.redirecting() = OMIT_VALUE;
-tmp_34.connected() = OMIT_VALUE;
-tmp_34.cause() = OMIT_VALUE;
-tmp_34.progress() = OMIT_VALUE;
-tmp_34.useruser() = OMIT_VALUE;
-tmp_34.facility() = fac;
-tmp_34.cccap() = OMIT_VALUE;
-tmp_34.ssversion() = OMIT_VALUE;
-tmp_34.clir__sup() = 0;
-tmp_34.clir__inv() = 0;
-tmp_34.signal() = OMIT_VALUE;
-tmp_34.keypad() = OMIT_VALUE;
-tmp_34.more() = 0;
-tmp_34.notify() = 0;
-tmp_34.emergency() = ANY_OR_OMIT;
-tmp_34.imsi() = ANY_VALUE;
-tmp_34.lchan__type() = ANY_VALUE;
-tmp_34.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__START__DTMF__ind(const INTEGER_template& call__id, const CHARSTRING_template& keypad)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1518, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_START_DTMF_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__START__DTMF__IND;
-{
-MNCC__PDU__Signal_template& tmp_35 = ret_val.u().signal();
-tmp_35.callref() = call__id;
-tmp_35.bearer__cap() = OMIT_VALUE;
-tmp_35.called() = OMIT_VALUE;
-tmp_35.calling() = OMIT_VALUE;
-tmp_35.redirecting() = OMIT_VALUE;
-tmp_35.connected() = OMIT_VALUE;
-tmp_35.cause() = OMIT_VALUE;
-tmp_35.progress() = OMIT_VALUE;
-tmp_35.useruser() = OMIT_VALUE;
-tmp_35.facility() = OMIT_VALUE;
-tmp_35.cccap() = OMIT_VALUE;
-tmp_35.ssversion() = OMIT_VALUE;
-tmp_35.clir__sup() = 0;
-tmp_35.clir__inv() = 0;
-tmp_35.signal() = OMIT_VALUE;
-tmp_35.keypad() = keypad;
-tmp_35.more() = 0;
-tmp_35.notify() = 0;
-tmp_35.emergency() = ANY_OR_OMIT;
-tmp_35.imsi() = ANY_VALUE;
-tmp_35.lchan__type() = ANY_VALUE;
-tmp_35.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__START__DTMF__rsp(const INTEGER& call__id, const CHARSTRING& keypad)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1549, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_START_DTMF_rsp");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__START__DTMF__RSP;
-{
-MNCC__PDU__Signal_template& tmp_36 = ret_val.u().signal();
-tmp_36.callref() = call__id;
-tmp_36.bearer__cap() = OMIT_VALUE;
-tmp_36.called() = OMIT_VALUE;
-tmp_36.calling() = OMIT_VALUE;
-tmp_36.redirecting() = OMIT_VALUE;
-tmp_36.connected() = OMIT_VALUE;
-tmp_36.cause() = OMIT_VALUE;
-tmp_36.progress() = OMIT_VALUE;
-tmp_36.useruser() = OMIT_VALUE;
-tmp_36.facility() = OMIT_VALUE;
-tmp_36.cccap() = OMIT_VALUE;
-tmp_36.ssversion() = OMIT_VALUE;
-tmp_36.clir__sup() = 0;
-tmp_36.clir__inv() = 0;
-tmp_36.signal() = OMIT_VALUE;
-tmp_36.keypad() = keypad;
-tmp_36.more() = 0;
-tmp_36.notify() = 0;
-tmp_36.emergency() = OMIT_VALUE;
-tmp_36.imsi() = cs_0;
-tmp_36.lchan__type() = 0;
-tmp_36.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__START__DTMF__rej(const INTEGER& call__id, const MNCC__cause& cause)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1580, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_START_DTMF_rej");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__START__DTMF__REJ;
-{
-MNCC__PDU__Signal_template& tmp_37 = ret_val.u().signal();
-tmp_37.callref() = call__id;
-tmp_37.bearer__cap() = OMIT_VALUE;
-tmp_37.called() = OMIT_VALUE;
-tmp_37.calling() = OMIT_VALUE;
-tmp_37.redirecting() = OMIT_VALUE;
-tmp_37.connected() = OMIT_VALUE;
-tmp_37.cause() = cause;
-tmp_37.progress() = OMIT_VALUE;
-tmp_37.useruser() = OMIT_VALUE;
-tmp_37.facility() = OMIT_VALUE;
-tmp_37.cccap() = OMIT_VALUE;
-tmp_37.ssversion() = OMIT_VALUE;
-tmp_37.clir__sup() = 0;
-tmp_37.clir__inv() = 0;
-tmp_37.signal() = OMIT_VALUE;
-tmp_37.keypad() = OMIT_VALUE;
-tmp_37.more() = 0;
-tmp_37.notify() = 0;
-tmp_37.emergency() = OMIT_VALUE;
-tmp_37.imsi() = cs_0;
-tmp_37.lchan__type() = 0;
-tmp_37.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__STOP__DTMF__ind(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1611, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_STOP_DTMF_ind");
-MNCC__PDU_template ret_val;
-ret_val = tr__MNCC__SIMPLE(MNCC__MsgType_template(MNCC__MsgType::MNCC__STOP__DTMF__IND), call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__STOP__DTMF__rsp(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1615, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_STOP_DTMF_rsp");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE(MNCC__MsgType::MNCC__STOP__DTMF__RSP, call__id);
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__MODIFY__ind(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1619, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_MODIFY_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__MODIFY__IND;
-{
-MNCC__PDU__Signal_template& tmp_38 = ret_val.u().signal();
-tmp_38.callref() = call__id;
-tmp_38.bearer__cap() = bcap;
-tmp_38.called() = OMIT_VALUE;
-tmp_38.calling() = OMIT_VALUE;
-tmp_38.redirecting() = OMIT_VALUE;
-tmp_38.connected() = OMIT_VALUE;
-tmp_38.cause() = OMIT_VALUE;
-tmp_38.progress() = OMIT_VALUE;
-tmp_38.useruser() = OMIT_VALUE;
-tmp_38.facility() = OMIT_VALUE;
-tmp_38.cccap() = OMIT_VALUE;
-tmp_38.ssversion() = OMIT_VALUE;
-tmp_38.clir__sup() = 0;
-tmp_38.clir__inv() = 0;
-tmp_38.signal() = OMIT_VALUE;
-tmp_38.keypad() = OMIT_VALUE;
-tmp_38.more() = 0;
-tmp_38.notify() = 0;
-tmp_38.emergency() = ANY_OR_OMIT;
-tmp_38.imsi() = ANY_VALUE;
-tmp_38.lchan__type() = ANY_VALUE;
-tmp_38.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__MODIFY__rsp(const INTEGER& call__id, const MNCC__bearer__cap& bcap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1650, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_MODIFY_rsp");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__MODIFY__RSP;
-{
-MNCC__PDU__Signal_template& tmp_39 = ret_val.u().signal();
-tmp_39.callref() = call__id;
-tmp_39.bearer__cap() = bcap;
-tmp_39.called() = OMIT_VALUE;
-tmp_39.calling() = OMIT_VALUE;
-tmp_39.redirecting() = OMIT_VALUE;
-tmp_39.connected() = OMIT_VALUE;
-tmp_39.cause() = OMIT_VALUE;
-tmp_39.progress() = OMIT_VALUE;
-tmp_39.useruser() = OMIT_VALUE;
-tmp_39.facility() = OMIT_VALUE;
-tmp_39.cccap() = OMIT_VALUE;
-tmp_39.ssversion() = OMIT_VALUE;
-tmp_39.clir__sup() = 0;
-tmp_39.clir__inv() = 0;
-tmp_39.signal() = OMIT_VALUE;
-tmp_39.keypad() = OMIT_VALUE;
-tmp_39.more() = 0;
-tmp_39.notify() = 0;
-tmp_39.emergency() = OMIT_VALUE;
-tmp_39.imsi() = cs_0;
-tmp_39.lchan__type() = 0;
-tmp_39.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__MODIFY__req(const INTEGER& call__id, const MNCC__bearer__cap& bcap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1681, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_MODIFY_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__MODIFY__REQ;
-{
-MNCC__PDU__Signal_template& tmp_40 = ret_val.u().signal();
-tmp_40.callref() = call__id;
-tmp_40.bearer__cap() = bcap;
-tmp_40.called() = OMIT_VALUE;
-tmp_40.calling() = OMIT_VALUE;
-tmp_40.redirecting() = OMIT_VALUE;
-tmp_40.connected() = OMIT_VALUE;
-tmp_40.cause() = OMIT_VALUE;
-tmp_40.progress() = OMIT_VALUE;
-tmp_40.useruser() = OMIT_VALUE;
-tmp_40.facility() = OMIT_VALUE;
-tmp_40.cccap() = OMIT_VALUE;
-tmp_40.ssversion() = OMIT_VALUE;
-tmp_40.clir__sup() = 0;
-tmp_40.clir__inv() = 0;
-tmp_40.signal() = OMIT_VALUE;
-tmp_40.keypad() = OMIT_VALUE;
-tmp_40.more() = 0;
-tmp_40.notify() = 0;
-tmp_40.emergency() = OMIT_VALUE;
-tmp_40.imsi() = cs_0;
-tmp_40.lchan__type() = 0;
-tmp_40.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__MODIFY__cnf(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1712, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_MODIFY_cnf");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__MODIFY__CNF;
-{
-MNCC__PDU__Signal_template& tmp_41 = ret_val.u().signal();
-tmp_41.callref() = call__id;
-tmp_41.bearer__cap() = bcap;
-tmp_41.called() = OMIT_VALUE;
-tmp_41.calling() = OMIT_VALUE;
-tmp_41.redirecting() = OMIT_VALUE;
-tmp_41.connected() = OMIT_VALUE;
-tmp_41.cause() = OMIT_VALUE;
-tmp_41.progress() = OMIT_VALUE;
-tmp_41.useruser() = OMIT_VALUE;
-tmp_41.facility() = OMIT_VALUE;
-tmp_41.cccap() = OMIT_VALUE;
-tmp_41.ssversion() = OMIT_VALUE;
-tmp_41.clir__sup() = 0;
-tmp_41.clir__inv() = 0;
-tmp_41.signal() = OMIT_VALUE;
-tmp_41.keypad() = OMIT_VALUE;
-tmp_41.more() = 0;
-tmp_41.notify() = 0;
-tmp_41.emergency() = ANY_OR_OMIT;
-tmp_41.imsi() = ANY_VALUE;
-tmp_41.lchan__type() = ANY_VALUE;
-tmp_41.lchan__mode() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__USERINFO__req(const INTEGER& call__id, const MNCC__useruser& uu, const INTEGER& more)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1744, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_USERINFO_req");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__USERINFO__REQ;
-{
-MNCC__PDU__Signal_template& tmp_42 = ret_val.u().signal();
-tmp_42.callref() = call__id;
-tmp_42.bearer__cap() = OMIT_VALUE;
-tmp_42.called() = OMIT_VALUE;
-tmp_42.calling() = OMIT_VALUE;
-tmp_42.redirecting() = OMIT_VALUE;
-tmp_42.connected() = OMIT_VALUE;
-tmp_42.cause() = OMIT_VALUE;
-tmp_42.progress() = OMIT_VALUE;
-tmp_42.useruser() = uu;
-tmp_42.facility() = OMIT_VALUE;
-tmp_42.cccap() = OMIT_VALUE;
-tmp_42.ssversion() = OMIT_VALUE;
-tmp_42.clir__sup() = 0;
-tmp_42.clir__inv() = 0;
-tmp_42.signal() = OMIT_VALUE;
-tmp_42.keypad() = OMIT_VALUE;
-tmp_42.more() = more;
-tmp_42.notify() = 0;
-tmp_42.emergency() = OMIT_VALUE;
-tmp_42.imsi() = cs_0;
-tmp_42.lchan__type() = 0;
-tmp_42.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__USERINFO__ind(const INTEGER_template& call__id, const MNCC__useruser_template& uu, const INTEGER& more)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1775, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_USERINFO_ind");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__USERINFO__IND;
-{
-MNCC__PDU__Signal_template& tmp_43 = ret_val.u().signal();
-tmp_43.callref() = call__id;
-tmp_43.bearer__cap() = OMIT_VALUE;
-tmp_43.called() = OMIT_VALUE;
-tmp_43.calling() = OMIT_VALUE;
-tmp_43.redirecting() = OMIT_VALUE;
-tmp_43.connected() = OMIT_VALUE;
-tmp_43.cause() = OMIT_VALUE;
-tmp_43.progress() = OMIT_VALUE;
-tmp_43.useruser() = uu;
-tmp_43.facility() = OMIT_VALUE;
-tmp_43.cccap() = OMIT_VALUE;
-tmp_43.ssversion() = OMIT_VALUE;
-tmp_43.clir__sup() = 0;
-tmp_43.clir__inv() = 0;
-tmp_43.signal() = OMIT_VALUE;
-tmp_43.keypad() = OMIT_VALUE;
-tmp_43.more() = more;
-tmp_43.notify() = 0;
-tmp_43.emergency() = OMIT_VALUE;
-tmp_43.imsi() = cs_0;
-tmp_43.lchan__type() = 0;
-tmp_43.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__HOLD__ind(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1807, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_HOLD_ind");
-MNCC__PDU_template ret_val;
-ret_val = tr__MNCC__SIMPLE(MNCC__MsgType_template(MNCC__MsgType::MNCC__HOLD__IND), call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__HOLD__cnf(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1811, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_HOLD_cnf");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE(MNCC__MsgType::MNCC__HOLD__CNF, call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__HOLD__rej(const INTEGER& call__id, const MNCC__cause& cause)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1815, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_HOLD_rej");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__HOLD__REJ;
-{
-MNCC__PDU__Signal_template& tmp_44 = ret_val.u().signal();
-tmp_44.callref() = call__id;
-tmp_44.bearer__cap() = OMIT_VALUE;
-tmp_44.called() = OMIT_VALUE;
-tmp_44.calling() = OMIT_VALUE;
-tmp_44.redirecting() = OMIT_VALUE;
-tmp_44.connected() = OMIT_VALUE;
-tmp_44.cause() = cause;
-tmp_44.progress() = OMIT_VALUE;
-tmp_44.useruser() = OMIT_VALUE;
-tmp_44.facility() = OMIT_VALUE;
-tmp_44.cccap() = OMIT_VALUE;
-tmp_44.ssversion() = OMIT_VALUE;
-tmp_44.clir__sup() = 0;
-tmp_44.clir__inv() = 0;
-tmp_44.signal() = OMIT_VALUE;
-tmp_44.keypad() = OMIT_VALUE;
-tmp_44.more() = 0;
-tmp_44.notify() = 0;
-tmp_44.emergency() = OMIT_VALUE;
-tmp_44.imsi() = cs_0;
-tmp_44.lchan__type() = 0;
-tmp_44.lchan__mode() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__RETRIEVE__ind(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1846, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_RETRIEVE_ind");
-MNCC__PDU_template ret_val;
-ret_val = tr__MNCC__SIMPLE(MNCC__MsgType_template(MNCC__MsgType::MNCC__RETRIEVE__IND), call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__RETRIEVE__cnf(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1850, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_RETRIEVE_cnf");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE(MNCC__MsgType::MNCC__RETRIEVE__CNF, call__id);
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__RETRIEVE__rej(const INTEGER& call__id, const MNCC__cause& cause)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1854, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_RETRIEVE_rej");
-MNCC__PDU_template ret_val(ts__MNCC__HOLD__rej(call__id, cause));
-ret_val.msg__type() = MNCC__MsgType::MNCC__RETRIEVE__REJ;
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__SIMPLE__RTP(const MNCC__MsgType& msg__type, const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1860, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_SIMPLE_RTP");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = msg__type;
-{
-MNCC__PDU__Rtp_template& tmp_45 = ret_val.u().rtp();
-tmp_45.callref() = call__id;
-tmp_45.ip() = 0;
-tmp_45.rtp__port() = 0;
-tmp_45.payload__type() = 0;
-tmp_45.payload__msg__type() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__RTP__CREATE(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1874, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_RTP_CREATE");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE__RTP(MNCC__MsgType::MNCC__RTP__CREATE, call__id);
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__RTP__CREATE(const INTEGER_template& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1877, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_RTP_CREATE");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__RTP__CREATE;
-{
-MNCC__PDU__Rtp_template& tmp_46 = ret_val.u().rtp();
-tmp_46.callref() = call__id;
-tmp_46.ip() = ANY_VALUE;
-tmp_46.rtp__port() = ANY_VALUE;
-tmp_46.payload__type() = ANY_VALUE;
-tmp_46.payload__msg__type() = ANY_VALUE;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__RTP__CONNECT(const INTEGER& call__id, const INTEGER& ip, const INTEGER& rtp__port, const INTEGER& pt)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1891, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_RTP_CONNECT");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__RTP__CONNECT;
-{
-MNCC__PDU__Rtp_template& tmp_47 = ret_val.u().rtp();
-tmp_47.callref() = call__id;
-tmp_47.ip() = ip;
-tmp_47.rtp__port() = rtp__port;
-tmp_47.payload__type() = pt;
-tmp_47.payload__msg__type() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template tr__MNCC__RTP__CONNECT(const INTEGER_template& call__id, const INTEGER_template& ip, const INTEGER_template& rtp__port, const INTEGER_template& pt)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1903, TTCN_Location::LOCATION_TEMPLATE, "tr_MNCC_RTP_CONNECT");
-MNCC__PDU_template ret_val;
-ret_val.msg__type() = MNCC__MsgType::MNCC__RTP__CONNECT;
-{
-MNCC__PDU__Rtp_template& tmp_48 = ret_val.u().rtp();
-tmp_48.callref() = call__id;
-tmp_48.ip() = ip;
-tmp_48.rtp__port() = rtp__port;
-tmp_48.payload__type() = pt;
-tmp_48.payload__msg__type() = 0;
-}
-return ret_val;
-}
-
-MNCC__PDU_template ts__MNCC__RTP__FREE(const INTEGER& call__id)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1921, TTCN_Location::LOCATION_TEMPLATE, "ts_MNCC_RTP_FREE");
-MNCC__PDU_template ret_val;
-ret_val = ts__MNCC__SIMPLE__RTP(MNCC__MsgType::MNCC__RTP__FREE, call__id);
-return ret_val;
-}
-
-INTEGER f__mncc__get__call__id(const MNCC__PDU& pdu)
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 1923, TTCN_Location::LOCATION_FUNCTION, "f_mncc_get_call_id");
-current_location.update_lineno(1924);
-/* MNCC_Types.ttcn, line 1924 */
-{
-boolean tmp_52;
-{
-boolean tmp_49 = pdu.is_bound();
-if(tmp_49) {
-const MNCC__PDU& tmp_50 = pdu;
-const MNCC__MsgUnion& tmp_51 = tmp_50.u();
-tmp_49 = tmp_51.is_bound();
-if(tmp_49) {
-tmp_49 = tmp_51.ischosen(MNCC__MsgUnion::ALT_rtp);
-}
-}
-tmp_52 = tmp_49;
-}
-if (tmp_52) {
-current_location.update_lineno(1925);
-/* MNCC_Types.ttcn, line 1925 */
-return const_cast< const MNCC__PDU&>(pdu).u().rtp().callref();
-}
-else {
-current_location.update_lineno(1926);
-/* MNCC_Types.ttcn, line 1926 */
-boolean tmp_56;
-{
-boolean tmp_53 = pdu.is_bound();
-if(tmp_53) {
-const MNCC__PDU& tmp_54 = pdu;
-const MNCC__MsgUnion& tmp_55 = tmp_54.u();
-tmp_53 = tmp_55.is_bound();
-if(tmp_53) {
-tmp_53 = tmp_55.ischosen(MNCC__MsgUnion::ALT_data);
-}
-}
-tmp_56 = tmp_53;
-}
-if (tmp_56) {
-current_location.update_lineno(1927);
-/* MNCC_Types.ttcn, line 1927 */
-return const_cast< const MNCC__PDU&>(pdu).u().data().callref();
-}
-else {
-current_location.update_lineno(1928);
-/* MNCC_Types.ttcn, line 1928 */
-boolean tmp_60;
-{
-boolean tmp_57 = pdu.is_bound();
-if(tmp_57) {
-const MNCC__PDU& tmp_58 = pdu;
-const MNCC__MsgUnion& tmp_59 = tmp_58.u();
-tmp_57 = tmp_59.is_bound();
-if(tmp_57) {
-tmp_57 = tmp_59.ischosen(MNCC__MsgUnion::ALT_signal);
-}
-}
-tmp_60 = tmp_57;
-}
-if (tmp_60) {
-current_location.update_lineno(1929);
-/* MNCC_Types.ttcn, line 1929 */
-return const_cast< const MNCC__PDU&>(pdu).u().signal().callref();
-}
-else {
-current_location.update_lineno(1931);
-/* MNCC_Types.ttcn, line 1931 */
-TTCN_Runtime::setverdict(FAIL,(TTCN_Logger::begin_event_log2str(),TTCN_Logger::log_event_str("Unable to determine Callref for MNCC"),pdu.log(),TTCN_Logger::end_event_log2str()));
-current_location.update_lineno(1932);
-/* MNCC_Types.ttcn, line 1932 */
-TTCN_Runtime::stop_component(MTC_COMPREF);
-}
-}
-}
-}
-}
-
-
-/* Bodies of static functions */
-
-static void pre_init_module()
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "MNCC_Types");
-Osmocom__Types::module_object.pre_init_module();
-current_location.update_lineno(143);
-/* MNCC_Types.ttcn, line 143 */
-const_GSM__MAX__FACILITY = 128;
-current_location.update_lineno(144);
-/* MNCC_Types.ttcn, line 144 */
-const_GSM__MAX__SSVERSION = 128;
-current_location.update_lineno(145);
-/* MNCC_Types.ttcn, line 145 */
-const_GSM__MAX__USERUSER = 128;
-module_object.add_function("enc_MNCC_PDU", (genericfunc_t)&enc__MNCC__PDU, NULL);
-module_object.add_function("dec_MNCC_PDU", (genericfunc_t)&dec__MNCC__PDU, NULL);
-module_object.add_function("f_mncc_get_call_id", (genericfunc_t)&f__mncc__get__call__id, NULL);
-}
-
-static void post_init_module()
-{
-TTCN_Location current_location("MNCC_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "MNCC_Types");
-Osmocom__Types::module_object.post_init_module();
-current_location.update_lineno(173);
-/* MNCC_Types.ttcn, line 173 */
-template_ts__MNCC__bcap__voice.transfer() = 0;
-template_ts__MNCC__bcap__voice.mode() = 0;
-template_ts__MNCC__bcap__voice.coding() = 0;
-template_ts__MNCC__bcap__voice.radio() = 3;
-template_ts__MNCC__bcap__voice.speech__ctm() = 0;
-{
-MNCC__speech__vers_template& tmp_0 = template_ts__MNCC__bcap__voice.speech__ver();
-tmp_0.set_size(6);
-tmp_0[0] = 0;
-tmp_0[1] = 2;
-tmp_0[2] = 4;
-tmp_0[3] = 1;
-tmp_0[4] = 5;
-tmp_0[5] = -1;
-}
-template_ts__MNCC__bcap__voice.data() = OMIT_VALUE;
-const_ts__MNCC__number_ton_defval = GSM48__type__of__number::GSM48__TON__INTERNATIONAL;
-const_ts__MNCC__number_npi_defval = GSM48__num__plan__ind::GSM48__NUMPLAN__E164;
-const_ts__MNCC__number_pres_defval = GSM48__present__ind::GSM48__PRES__IND__ALLOWED;
-const_ts__MNCC__number_screen_defval = GSM48__screening__ind::GSM48__SCR__IND__NOT__SCREENED;
-template_tr__MNCC__number_ton_defval = ANY_VALUE;
-template_tr__MNCC__number_npi_defval = ANY_VALUE;
-template_tr__MNCC__number_pres_defval = ANY_VALUE;
-template_tr__MNCC__number_screen_defval = ANY_VALUE;
-const_ts__MNCC__cause_loc_defval = GSM48__cause__loc::GSM48__CAUSE__LOC__PUN__S__LU;
-const_ts__MNCC__cause_coding_defval = GSM48__cause__coding::GSM48__CAUSE__CS__GSM;
-const_ts__MNCC__cause_diag_defval = os_0;
-const_ts__MNCC__HELLO_version_defval = 5;
-const_ts__MNCC__SETUP__req_imsi_defval = cs_0;
-template_tr__MNCC__SETUP__req_call__id_defval = ANY_VALUE;
-template_tr__MNCC__SETUP__req_called_defval = ANY_VALUE;
-template_tr__MNCC__SETUP__req_calling_defval = ANY_OR_OMIT;
-template_tr__MNCC__SETUP__req_imsi_defval = ANY_VALUE;
-const_ts__MNCC__SETUP__rsp_imsi_defval = cs_0;
-template_ts__MNCC__SETUP__rsp_connected_defval = OMIT_VALUE;
-template_tr__MNCC__SETUP__rsp_imsi_defval = ANY_VALUE;
-template_tr__MNCC__SETUP__rsp_connected_defval = ANY_OR_OMIT;
-template_tr__MNCC__SETUP__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__SETUP__ind_called_defval = ANY_VALUE;
-template_tr__MNCC__SETUP__ind_calling_defval = ANY_OR_OMIT;
-template_tr__MNCC__SETUP__ind_imsi_defval = ANY_VALUE;
-template_ts__MNCC__SETUP__ind_calling_defval = OMIT_VALUE;
-template_ts__MNCC__SETUP__ind_imsi_defval = OMIT_VALUE;
-template_ts__MNCC__SETUP__ind_bcap_defval = ts__MNCC__bcap__voice;
-template_ts__MNCC__SETUP__CNF_connected_defval = OMIT_VALUE;
-template_tr__MNCC__SETUP__cnf_connected_defval = ANY_OR_OMIT;
-template_tr__MNCC__SETUP__COMPL__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__REJ__req_cause_defval = ANY_OR_OMIT;
-template_ts__MNCC__REJ__ind_cause_defval = OMIT_VALUE;
-template_tr__MNCC__CALL__CONF__ind_bcap_defval = ANY_OR_OMIT;
-template_tr__MNCC__CALL__CONF__ind_cause_defval = ANY_OR_OMIT;
-template_tr__MNCC__CALL__CONF__ind_cccap_defval = ANY_OR_OMIT;
-template_ts__MNCC__CALL__CONF__ind_bcap_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__CONF__ind_cause_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__CONF__ind_cccap_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__PROC__req_bcap_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__PROC__req_prog_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__PROC__req_fac_defval = OMIT_VALUE;
-template_ts__MNCC__CALL__PROC__req_cccap_defval = OMIT_VALUE;
-template_tr__MNCC__CALL__PROC__req_bcap_defval = ANY_OR_OMIT;
-template_tr__MNCC__CALL__PROC__req_prog_defval = ANY_OR_OMIT;
-template_tr__MNCC__CALL__PROC__req_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__CALL__PROC__req_cccap_defval = ANY_OR_OMIT;
-template_ts__MNCC__PROGRESS__req_uu_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__req_prog_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__req_fac_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__req_uu_defval = OMIT_VALUE;
-template_tr__MNCC__ALERT__req_prog_defval = ANY_OR_OMIT;
-template_tr__MNCC__ALERT__req_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__ALERT__req_uu_defval = ANY_OR_OMIT;
-template_tr__MNCC__ALERT__ind_prog_defval = OMIT_VALUE;
-template_tr__MNCC__ALERT__ind_fac_defval = OMIT_VALUE;
-template_tr__MNCC__ALERT__ind_uu_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__ind_prog_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__ind_fac_defval = OMIT_VALUE;
-template_ts__MNCC__ALERT__ind_uu_defval = OMIT_VALUE;
-template_tr__MNCC__DISC__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__DISC__ind_cause_defval = ANY_VALUE;
-template_tr__MNCC__DISC__ind_prog_defval = ANY_OR_OMIT;
-template_tr__MNCC__DISC__ind_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__DISC__ind_uu_defval = ANY_OR_OMIT;
-template_ts__MNCC__DISC__ind_prog_defval = OMIT_VALUE;
-template_ts__MNCC__DISC__ind_fac_defval = OMIT_VALUE;
-template_ts__MNCC__DISC__ind_uu_defval = OMIT_VALUE;
-template_ts__MNCC__DISC__req_prog_defval = OMIT_VALUE;
-template_ts__MNCC__DISC__req_fac_defval = OMIT_VALUE;
-template_ts__MNCC__DISC__req_uu_defval = OMIT_VALUE;
-template_tr__MNCC__DISC__req_cause_defval = ANY_OR_OMIT;
-template_tr__MNCC__DISC__req_prog_defval = OMIT_VALUE;
-template_tr__MNCC__DISC__req_fac_defval = OMIT_VALUE;
-template_tr__MNCC__DISC__req_uu_defval = OMIT_VALUE;
-template_tr__MNCC__REL__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__REL__ind_cause_defval = ANY_VALUE;
-template_tr__MNCC__REL__ind_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__REL__ind_uu_defval = ANY_OR_OMIT;
-template_ts__MNCC__REL__ind_fac_defval = OMIT_VALUE;
-template_ts__MNCC__REL__ind_uu_defval = OMIT_VALUE;
-template_ts__MNCC__REL__req_fac_defval = OMIT_VALUE;
-template_ts__MNCC__REL__req_uu_defval = OMIT_VALUE;
-template_tr__MNCC__REL__req_cause_defval = ANY_OR_OMIT;
-template_tr__MNCC__REL__req_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__REL__req_uu_defval = ANY_OR_OMIT;
-template_tr__MNCC__REL__cnf_call__id_defval = ANY_VALUE;
-template_tr__MNCC__REL__cnf_cause_defval = ANY_VALUE;
-template_tr__MNCC__REL__cnf_fac_defval = ANY_OR_OMIT;
-template_tr__MNCC__REL__cnf_uu_defval = ANY_OR_OMIT;
-template_ts__MNCC__REL__cnf_fac_defval = OMIT_VALUE;
-template_ts__MNCC__REL__cnf_uu_defval = OMIT_VALUE;
-template_tr__MNCC__FACILITY__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__FACILITY__ind_fac_defval = ANY_VALUE;
-template_tr__MNCC__START__DTMF__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__START__DTMF__ind_keypad_defval = ANY_VALUE;
-template_tr__MNCC__STOP__DTMF__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__MODIFY__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__MODIFY__ind_bcap_defval = ANY_VALUE;
-template_tr__MNCC__MODIFY__cnf_call__id_defval = ANY_VALUE;
-template_tr__MNCC__MODIFY__cnf_bcap_defval = ANY_VALUE;
-template_tr__MNCC__USERINFO__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__USERINFO__ind_uu_defval = ANY_VALUE;
-template_tr__MNCC__HOLD__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__RETRIEVE__ind_call__id_defval = ANY_VALUE;
-template_tr__MNCC__RTP__CREATE_call__id_defval = ANY_VALUE;
-template_tr__MNCC__RTP__CONNECT_ip_defval = ANY_VALUE;
-template_tr__MNCC__RTP__CONNECT_rtp__port_defval = ANY_VALUE;
-template_tr__MNCC__RTP__CONNECT_pt_defval = ANY_VALUE;
-}
-
-
-} /* end of namespace */
diff --git a/titan/MNCC_Types.hh b/titan/MNCC_Types.hh
deleted file mode 100644
index bd027ca..0000000
--- a/titan/MNCC_Types.hh
+++ /dev/null
@@ -1,4010 +0,0 @@
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef MNCC__Types_HH
-#define MNCC__Types_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-#include "Osmocom_Types.hh"
-
-#if TTCN3_VERSION != 60500
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.\
- Run make clean and rebuild the project if the version of the compiler changed recently.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef MNCC__Types_HH
-#endif
-
-namespace MNCC__Types {
-
-/* Forward declarations of classes */
-
-class GSM48__bcap__ra;
-class GSM48__bcap__ra_template;
-class GSM48__bcap__sig__access;
-class GSM48__bcap__sig__access_template;
-class GSM48__bcap__user__rate;
-class GSM48__bcap__user__rate_template;
-class GSM48__bcap__parity;
-class GSM48__bcap__parity_template;
-class GSM48__bcap__interm__rate;
-class GSM48__bcap__interm__rate_template;
-class GSM48__bcap__transp;
-class GSM48__bcap__transp_template;
-class GSM48__bcap__modem__type;
-class GSM48__bcap__modem__type_template;
-class MNCC__MsgType;
-class MNCC__MsgType_template;
-class MNCC__bearer__cap__data;
-class MNCC__bearer__cap__data_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER MNCC__speech__vers;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template MNCC__speech__vers_template;
-class MNCC__bearer__cap;
-class MNCC__bearer__cap_template;
-class GSM48__type__of__number;
-class GSM48__type__of__number_template;
-class GSM48__num__plan__ind;
-class GSM48__num__plan__ind_template;
-class GSM48__present__ind;
-class GSM48__present__ind_template;
-class GSM48__screening__ind;
-class GSM48__screening__ind_template;
-class MNCC__number;
-class MNCC__number_template;
-class GSM48__cause__coding;
-class GSM48__cause__coding_template;
-class GSM48__cause__loc;
-class GSM48__cause__loc_template;
-class MNCC__cause;
-class MNCC__cause_template;
-class MNCC__useruser;
-class MNCC__useruser_template;
-class MNCC__progress;
-class MNCC__progress_template;
-class MNCC__cccap;
-class MNCC__cccap_template;
-class MNCC__bcap;
-class MNCC__bcap_template;
-class MNCC__PDU__Signal;
-class MNCC__PDU__Signal_template;
-class MNCC__PDU__Data;
-class MNCC__PDU__Data_template;
-class MNCC__PDU__Rtp;
-class MNCC__PDU__Rtp_template;
-class MNCC__PDU__Hello;
-class MNCC__PDU__Hello_template;
-class MNCC__MsgUnion;
-class MNCC__MsgUnion_template;
-class MNCC__PDU;
-class MNCC__PDU_template;
-
-} /* end of namespace */
-
-#ifndef MNCC__Types_HH
-#define MNCC__Types_HH
-
-namespace MNCC__Types {
-
-/* Type definitions */
-
-typedef INTEGER int_;
-typedef INTEGER_template int__template;
-typedef INTEGER MNCC__notify;
-typedef INTEGER_template MNCC__notify_template;
-typedef CHARSTRING MNCC__keypad;
-typedef CHARSTRING_template MNCC__keypad_template;
-
-/* Class definitions */
-
-class GSM48__bcap__ra : public Base_Type { // enum
-friend class GSM48__bcap__ra_template;
-public:
-enum enum_type { GSM48__BCAP__RA__NONE = 0, GSM48__BCAP__RA__V110__X30 = 1, GSM48__BCAP__RA__X31 = 2, GSM48__BCAP__RA__OTHER = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__ra();
-GSM48__bcap__ra(int other_value);
-GSM48__bcap__ra(enum_type other_value);
-GSM48__bcap__ra(const GSM48__bcap__ra& other_value);
-
-GSM48__bcap__ra& operator=(int other_value);
-GSM48__bcap__ra& operator=(enum_type other_value);
-GSM48__bcap__ra& operator=(const GSM48__bcap__ra& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__ra& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__ra& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__ra& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__ra& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__ra& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__ra& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__ra& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__ra_template : public Base_Template {
-union {
-GSM48__bcap__ra::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__ra_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__ra_template& other_value);
-
-public:
-GSM48__bcap__ra_template();
-GSM48__bcap__ra_template(template_sel other_value);
-GSM48__bcap__ra_template(int other_value);
-GSM48__bcap__ra_template(GSM48__bcap__ra::enum_type other_value);
-GSM48__bcap__ra_template(const GSM48__bcap__ra& other_value);
-GSM48__bcap__ra_template(const OPTIONAL<GSM48__bcap__ra>& other_value);
-GSM48__bcap__ra_template(const GSM48__bcap__ra_template& other_value);
-~GSM48__bcap__ra_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__ra_template& operator=(template_sel other_value);
-GSM48__bcap__ra_template& operator=(int other_value);
-GSM48__bcap__ra_template& operator=(GSM48__bcap__ra::enum_type other_value);
-GSM48__bcap__ra_template& operator=(const GSM48__bcap__ra& other_value);
-GSM48__bcap__ra_template& operator=(const OPTIONAL<GSM48__bcap__ra>& other_value);
-GSM48__bcap__ra_template& operator=(const GSM48__bcap__ra_template& other_value);
-
-boolean match(GSM48__bcap__ra::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__ra& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__ra::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__ra_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__ra& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__sig__access : public Base_Type { // enum
-friend class GSM48__bcap__sig__access_template;
-public:
-enum enum_type { GSM48__BCAP__SA__NONE = 0, GSM48__BCAP__SA__I440__I450 = 1, GSM48__BCAP__SA__X21 = 2, GSM48__BCAP__SA__X28__DP__IN = 3, GSM48__BCAP__SA__X28__DP__UN = 4, GSM48__BCAP__SA__X28__NDP = 5, GSM48__BCAP__SA__X32 = 6, UNKNOWN_VALUE = 7, UNBOUND_VALUE = 8 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__sig__access();
-GSM48__bcap__sig__access(int other_value);
-GSM48__bcap__sig__access(enum_type other_value);
-GSM48__bcap__sig__access(const GSM48__bcap__sig__access& other_value);
-
-GSM48__bcap__sig__access& operator=(int other_value);
-GSM48__bcap__sig__access& operator=(enum_type other_value);
-GSM48__bcap__sig__access& operator=(const GSM48__bcap__sig__access& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__sig__access& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__sig__access& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__sig__access& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__sig__access& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__sig__access& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__sig__access& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__sig__access& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__sig__access_template : public Base_Template {
-union {
-GSM48__bcap__sig__access::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__sig__access_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__sig__access_template& other_value);
-
-public:
-GSM48__bcap__sig__access_template();
-GSM48__bcap__sig__access_template(template_sel other_value);
-GSM48__bcap__sig__access_template(int other_value);
-GSM48__bcap__sig__access_template(GSM48__bcap__sig__access::enum_type other_value);
-GSM48__bcap__sig__access_template(const GSM48__bcap__sig__access& other_value);
-GSM48__bcap__sig__access_template(const OPTIONAL<GSM48__bcap__sig__access>& other_value);
-GSM48__bcap__sig__access_template(const GSM48__bcap__sig__access_template& other_value);
-~GSM48__bcap__sig__access_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__sig__access_template& operator=(template_sel other_value);
-GSM48__bcap__sig__access_template& operator=(int other_value);
-GSM48__bcap__sig__access_template& operator=(GSM48__bcap__sig__access::enum_type other_value);
-GSM48__bcap__sig__access_template& operator=(const GSM48__bcap__sig__access& other_value);
-GSM48__bcap__sig__access_template& operator=(const OPTIONAL<GSM48__bcap__sig__access>& other_value);
-GSM48__bcap__sig__access_template& operator=(const GSM48__bcap__sig__access_template& other_value);
-
-boolean match(GSM48__bcap__sig__access::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__sig__access& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__sig__access::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__sig__access_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__sig__access& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__user__rate : public Base_Type { // enum
-friend class GSM48__bcap__user__rate_template;
-public:
-enum enum_type { GSM48__BCAP__UR__NONE = 0, GSM48__BCAP__UR__300 = 1, GSM48__BCAP__UR__1200 = 2, GSM48__BCAP__UR__2400 = 3, GSM48__BCAP__UR__4800 = 4, GSM48__BCAP__UR__9600 = 5, GSM48__BCAP__UR__12000 = 6, GSM48__BCAP__UR__1200__75 = 7, UNKNOWN_VALUE = 8, UNBOUND_VALUE = 9 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__user__rate();
-GSM48__bcap__user__rate(int other_value);
-GSM48__bcap__user__rate(enum_type other_value);
-GSM48__bcap__user__rate(const GSM48__bcap__user__rate& other_value);
-
-GSM48__bcap__user__rate& operator=(int other_value);
-GSM48__bcap__user__rate& operator=(enum_type other_value);
-GSM48__bcap__user__rate& operator=(const GSM48__bcap__user__rate& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__user__rate& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__user__rate& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__user__rate& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__user__rate& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__user__rate& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__user__rate& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__user__rate& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__user__rate_template : public Base_Template {
-union {
-GSM48__bcap__user__rate::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__user__rate_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__user__rate_template& other_value);
-
-public:
-GSM48__bcap__user__rate_template();
-GSM48__bcap__user__rate_template(template_sel other_value);
-GSM48__bcap__user__rate_template(int other_value);
-GSM48__bcap__user__rate_template(GSM48__bcap__user__rate::enum_type other_value);
-GSM48__bcap__user__rate_template(const GSM48__bcap__user__rate& other_value);
-GSM48__bcap__user__rate_template(const OPTIONAL<GSM48__bcap__user__rate>& other_value);
-GSM48__bcap__user__rate_template(const GSM48__bcap__user__rate_template& other_value);
-~GSM48__bcap__user__rate_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__user__rate_template& operator=(template_sel other_value);
-GSM48__bcap__user__rate_template& operator=(int other_value);
-GSM48__bcap__user__rate_template& operator=(GSM48__bcap__user__rate::enum_type other_value);
-GSM48__bcap__user__rate_template& operator=(const GSM48__bcap__user__rate& other_value);
-GSM48__bcap__user__rate_template& operator=(const OPTIONAL<GSM48__bcap__user__rate>& other_value);
-GSM48__bcap__user__rate_template& operator=(const GSM48__bcap__user__rate_template& other_value);
-
-boolean match(GSM48__bcap__user__rate::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__user__rate& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__user__rate::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__user__rate_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__user__rate& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__parity : public Base_Type { // enum
-friend class GSM48__bcap__parity_template;
-public:
-enum enum_type { GSM48__BCAP__PAR__ODD = 0, GSM48__BCAP__PAR__EVEN = 2, GSM48__BCAP__PAR__NONE = 3, GSM48__BCAP__PAR__ZERO = 4, GSM48__BCAP__PAR__ONE = 5, UNKNOWN_VALUE = 1, UNBOUND_VALUE = 6 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__parity();
-GSM48__bcap__parity(int other_value);
-GSM48__bcap__parity(enum_type other_value);
-GSM48__bcap__parity(const GSM48__bcap__parity& other_value);
-
-GSM48__bcap__parity& operator=(int other_value);
-GSM48__bcap__parity& operator=(enum_type other_value);
-GSM48__bcap__parity& operator=(const GSM48__bcap__parity& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__parity& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__parity& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__parity& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__parity& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__parity& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__parity& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__parity& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__parity_template : public Base_Template {
-union {
-GSM48__bcap__parity::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__parity_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__parity_template& other_value);
-
-public:
-GSM48__bcap__parity_template();
-GSM48__bcap__parity_template(template_sel other_value);
-GSM48__bcap__parity_template(int other_value);
-GSM48__bcap__parity_template(GSM48__bcap__parity::enum_type other_value);
-GSM48__bcap__parity_template(const GSM48__bcap__parity& other_value);
-GSM48__bcap__parity_template(const OPTIONAL<GSM48__bcap__parity>& other_value);
-GSM48__bcap__parity_template(const GSM48__bcap__parity_template& other_value);
-~GSM48__bcap__parity_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__parity_template& operator=(template_sel other_value);
-GSM48__bcap__parity_template& operator=(int other_value);
-GSM48__bcap__parity_template& operator=(GSM48__bcap__parity::enum_type other_value);
-GSM48__bcap__parity_template& operator=(const GSM48__bcap__parity& other_value);
-GSM48__bcap__parity_template& operator=(const OPTIONAL<GSM48__bcap__parity>& other_value);
-GSM48__bcap__parity_template& operator=(const GSM48__bcap__parity_template& other_value);
-
-boolean match(GSM48__bcap__parity::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__parity& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__parity::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__parity_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__parity& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__interm__rate : public Base_Type { // enum
-friend class GSM48__bcap__interm__rate_template;
-public:
-enum enum_type { GSM48__BCAP__IR__NONE = 0, GSM48__BCAP__IR__8k = 2, GSM48__BCAP__IR__16k = 3, UNKNOWN_VALUE = 1, UNBOUND_VALUE = 4 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__interm__rate();
-GSM48__bcap__interm__rate(int other_value);
-GSM48__bcap__interm__rate(enum_type other_value);
-GSM48__bcap__interm__rate(const GSM48__bcap__interm__rate& other_value);
-
-GSM48__bcap__interm__rate& operator=(int other_value);
-GSM48__bcap__interm__rate& operator=(enum_type other_value);
-GSM48__bcap__interm__rate& operator=(const GSM48__bcap__interm__rate& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__interm__rate& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__interm__rate& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__interm__rate& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__interm__rate& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__interm__rate& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__interm__rate& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__interm__rate& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__interm__rate_template : public Base_Template {
-union {
-GSM48__bcap__interm__rate::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__interm__rate_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__interm__rate_template& other_value);
-
-public:
-GSM48__bcap__interm__rate_template();
-GSM48__bcap__interm__rate_template(template_sel other_value);
-GSM48__bcap__interm__rate_template(int other_value);
-GSM48__bcap__interm__rate_template(GSM48__bcap__interm__rate::enum_type other_value);
-GSM48__bcap__interm__rate_template(const GSM48__bcap__interm__rate& other_value);
-GSM48__bcap__interm__rate_template(const OPTIONAL<GSM48__bcap__interm__rate>& other_value);
-GSM48__bcap__interm__rate_template(const GSM48__bcap__interm__rate_template& other_value);
-~GSM48__bcap__interm__rate_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__interm__rate_template& operator=(template_sel other_value);
-GSM48__bcap__interm__rate_template& operator=(int other_value);
-GSM48__bcap__interm__rate_template& operator=(GSM48__bcap__interm__rate::enum_type other_value);
-GSM48__bcap__interm__rate_template& operator=(const GSM48__bcap__interm__rate& other_value);
-GSM48__bcap__interm__rate_template& operator=(const OPTIONAL<GSM48__bcap__interm__rate>& other_value);
-GSM48__bcap__interm__rate_template& operator=(const GSM48__bcap__interm__rate_template& other_value);
-
-boolean match(GSM48__bcap__interm__rate::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__interm__rate& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__interm__rate::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__interm__rate_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__interm__rate& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__transp : public Base_Type { // enum
-friend class GSM48__bcap__transp_template;
-public:
-enum enum_type { GSM48__BCAP__TR__TRANSP = 0, GSM48__BCAP__TR__RLP = 1, GSM48__BCAP__TR__TR__PREF = 2, GSM48__BCAP__TR__RLP__PREF = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__transp();
-GSM48__bcap__transp(int other_value);
-GSM48__bcap__transp(enum_type other_value);
-GSM48__bcap__transp(const GSM48__bcap__transp& other_value);
-
-GSM48__bcap__transp& operator=(int other_value);
-GSM48__bcap__transp& operator=(enum_type other_value);
-GSM48__bcap__transp& operator=(const GSM48__bcap__transp& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__transp& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__transp& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__transp& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__transp& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__transp& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__transp& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__transp& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__transp_template : public Base_Template {
-union {
-GSM48__bcap__transp::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__transp_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__transp_template& other_value);
-
-public:
-GSM48__bcap__transp_template();
-GSM48__bcap__transp_template(template_sel other_value);
-GSM48__bcap__transp_template(int other_value);
-GSM48__bcap__transp_template(GSM48__bcap__transp::enum_type other_value);
-GSM48__bcap__transp_template(const GSM48__bcap__transp& other_value);
-GSM48__bcap__transp_template(const OPTIONAL<GSM48__bcap__transp>& other_value);
-GSM48__bcap__transp_template(const GSM48__bcap__transp_template& other_value);
-~GSM48__bcap__transp_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__transp_template& operator=(template_sel other_value);
-GSM48__bcap__transp_template& operator=(int other_value);
-GSM48__bcap__transp_template& operator=(GSM48__bcap__transp::enum_type other_value);
-GSM48__bcap__transp_template& operator=(const GSM48__bcap__transp& other_value);
-GSM48__bcap__transp_template& operator=(const OPTIONAL<GSM48__bcap__transp>& other_value);
-GSM48__bcap__transp_template& operator=(const GSM48__bcap__transp_template& other_value);
-
-boolean match(GSM48__bcap__transp::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__transp& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__transp::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__transp_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__transp& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__bcap__modem__type : public Base_Type { // enum
-friend class GSM48__bcap__modem__type_template;
-public:
-enum enum_type { GSM48__BCAP__MT__NONE = 0, GSM48__BCAP__MT__V21 = 1, GSM48__BCAP__MT__V22 = 2, GSM48__BCAP__MT__V22bis = 3, GSM48__BCAP__MT__V23 = 4, GSM48__BCAP__MT__V26ter = 5, GSM48__BCAP__MT__V32 = 6, GSM48__BCAP__MT__UNDEF = 7, GSM48__BCAP__MT__AUTO__1 = 8, UNKNOWN_VALUE = 9, UNBOUND_VALUE = 10 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__bcap__modem__type();
-GSM48__bcap__modem__type(int other_value);
-GSM48__bcap__modem__type(enum_type other_value);
-GSM48__bcap__modem__type(const GSM48__bcap__modem__type& other_value);
-
-GSM48__bcap__modem__type& operator=(int other_value);
-GSM48__bcap__modem__type& operator=(enum_type other_value);
-GSM48__bcap__modem__type& operator=(const GSM48__bcap__modem__type& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__bcap__modem__type& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__bcap__modem__type& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__bcap__modem__type& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__bcap__modem__type& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__bcap__modem__type& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__bcap__modem__type& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__bcap__modem__type& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__bcap__modem__type_template : public Base_Template {
-union {
-GSM48__bcap__modem__type::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__bcap__modem__type_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__bcap__modem__type_template& other_value);
-
-public:
-GSM48__bcap__modem__type_template();
-GSM48__bcap__modem__type_template(template_sel other_value);
-GSM48__bcap__modem__type_template(int other_value);
-GSM48__bcap__modem__type_template(GSM48__bcap__modem__type::enum_type other_value);
-GSM48__bcap__modem__type_template(const GSM48__bcap__modem__type& other_value);
-GSM48__bcap__modem__type_template(const OPTIONAL<GSM48__bcap__modem__type>& other_value);
-GSM48__bcap__modem__type_template(const GSM48__bcap__modem__type_template& other_value);
-~GSM48__bcap__modem__type_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__bcap__modem__type_template& operator=(template_sel other_value);
-GSM48__bcap__modem__type_template& operator=(int other_value);
-GSM48__bcap__modem__type_template& operator=(GSM48__bcap__modem__type::enum_type other_value);
-GSM48__bcap__modem__type_template& operator=(const GSM48__bcap__modem__type& other_value);
-GSM48__bcap__modem__type_template& operator=(const OPTIONAL<GSM48__bcap__modem__type>& other_value);
-GSM48__bcap__modem__type_template& operator=(const GSM48__bcap__modem__type_template& other_value);
-
-boolean match(GSM48__bcap__modem__type::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__bcap__modem__type& other_value, boolean legacy = FALSE) const;
-GSM48__bcap__modem__type::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__bcap__modem__type_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__bcap__modem__type& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__MsgType : public Base_Type { // enum
-friend class MNCC__MsgType_template;
-public:
-enum enum_type { MNCC__SETUP__REQ = 257, MNCC__SETUP__IND = 258, MNCC__SETUP__RSP = 259, MNCC__SETUP__CNF = 260, MNCC__SETUP__COMPL__REQ = 261, MNCC__SETUP__COMPL__IND = 262, MNCC__CALL__CONF__IND = 263, MNCC__CALL__PROC__REQ = 264, MNCC__PROGRESS__REQ = 265, MNCC__ALERT__REQ = 266, MNCC__ALERT__IND = 267, MNCC__NOTIFY__REQ = 268, MNCC__NOTIFY__IND = 269, MNCC__DISC__REQ = 270, MNCC__DISC__IND = 271, MNCC__REL__REQ = 272, MNCC__REL__IND = 273, MNCC__REL__CNF = 274, MNCC__FACILITY__REQ = 275, MNCC__FACILITY__IND = 276, MNCC__START__DTMF__IND = 277, MNCC__START__DTMF__RSP = 278, MNCC__START__DTMF__REJ = 279, MNCC__STOP__DTMF__IND = 280, MNCC__STOP__DTMF__RSP = 281, MNCC__MODIFY__REQ = 282, MNCC__MODIFY__IND = 283, MNCC__MODIFY__RSP = 284, MNCC__MODIFY__CNF = 285, MNCC__MODIFY__REJ = 286, MNCC__HOLD__IND = 287, MNCC__HOLD__CNF = 288, MNCC__HOLD__REJ = 289, MNCC__RETRIEVE__IND = 290, MNCC__RETRIEVE__CNF = 291, MNCC__RETRIEVE__REJ = 292, MNCC__USERINFO__REQ = 293, MNCC__USERINFO__IND = 294, MNCC__REJ__REQ = 295, MNCC__REJ__IND = 296, MNCC__PROGRESS__IND = 297, MNCC__CALL__PROC__IND = 298, MNCC__CALL__CONF__REQ = 299, MNCC__START__DTMF__REQ = 300, MNCC__STOP__DTMF__REQ = 301, MNCC__HOLD__REQ = 302, MNCC__RETRIEVE__REQ = 303, MNCC__BRIDGE = 512, MNCC__FRAME__RECV = 513, MNCC__FRAME__DROP = 514, MNCC__LCHAN__MODIFY = 515, MNCC__RTP__CREATE = 516, MNCC__RTP__CONNECT = 517, MNCC__RTP__FREE = 518, GSM__TCHF__FRAME = 768, GSM__TCHF__FRAME__EFR = 769, GSM__TCHH__FRAME = 770, GSM__TCH__FRAME__AMR = 771, GSM__BAD__FRAME = 1023, MNCC__SOCKET__HELLO = 1024, UNKNOWN_VALUE = 0, UNBOUND_VALUE = 1 };
-private:
-enum_type enum_value;
-
-public:
-MNCC__MsgType();
-MNCC__MsgType(int other_value);
-MNCC__MsgType(enum_type other_value);
-MNCC__MsgType(const MNCC__MsgType& other_value);
-
-MNCC__MsgType& operator=(int other_value);
-MNCC__MsgType& operator=(enum_type other_value);
-MNCC__MsgType& operator=(const MNCC__MsgType& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const MNCC__MsgType& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const MNCC__MsgType& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const MNCC__MsgType& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const MNCC__MsgType& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const MNCC__MsgType& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const MNCC__MsgType& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const MNCC__MsgType& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__MsgType_template : public Base_Template {
-union {
-MNCC__MsgType::enum_type single_value;
-struct {
-unsigned int n_values;
-MNCC__MsgType_template *list_value;
-} value_list;
-};
-
-void copy_template(const MNCC__MsgType_template& other_value);
-
-public:
-MNCC__MsgType_template();
-MNCC__MsgType_template(template_sel other_value);
-MNCC__MsgType_template(int other_value);
-MNCC__MsgType_template(MNCC__MsgType::enum_type other_value);
-MNCC__MsgType_template(const MNCC__MsgType& other_value);
-MNCC__MsgType_template(const OPTIONAL<MNCC__MsgType>& other_value);
-MNCC__MsgType_template(const MNCC__MsgType_template& other_value);
-~MNCC__MsgType_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__MsgType_template& operator=(template_sel other_value);
-MNCC__MsgType_template& operator=(int other_value);
-MNCC__MsgType_template& operator=(MNCC__MsgType::enum_type other_value);
-MNCC__MsgType_template& operator=(const MNCC__MsgType& other_value);
-MNCC__MsgType_template& operator=(const OPTIONAL<MNCC__MsgType>& other_value);
-MNCC__MsgType_template& operator=(const MNCC__MsgType_template& other_value);
-
-boolean match(MNCC__MsgType::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const MNCC__MsgType& other_value, boolean legacy = FALSE) const;
-MNCC__MsgType::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__MsgType_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const MNCC__MsgType& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__bearer__cap__data : public Base_Type {
- GSM48__bcap__ra field_rate__adaptation;
- GSM48__bcap__sig__access field_sig__access;
- INTEGER field_async;
- INTEGER field_nr__stop__bits;
- INTEGER field_nr__data__bits;
- GSM48__bcap__user__rate field_user__rate;
- GSM48__bcap__parity field_parity;
- GSM48__bcap__interm__rate field_interm__rate;
- GSM48__bcap__transp field_transp;
- GSM48__bcap__modem__type field_modem__type;
-public:
- MNCC__bearer__cap__data();
- MNCC__bearer__cap__data(const GSM48__bcap__ra& par_rate__adaptation,
- const GSM48__bcap__sig__access& par_sig__access,
- const INTEGER& par_async,
- const INTEGER& par_nr__stop__bits,
- const INTEGER& par_nr__data__bits,
- const GSM48__bcap__user__rate& par_user__rate,
- const GSM48__bcap__parity& par_parity,
- const GSM48__bcap__interm__rate& par_interm__rate,
- const GSM48__bcap__transp& par_transp,
- const GSM48__bcap__modem__type& par_modem__type);
- MNCC__bearer__cap__data(const MNCC__bearer__cap__data& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__bearer__cap__data& operator=(const MNCC__bearer__cap__data& other_value);
- boolean operator==(const MNCC__bearer__cap__data& other_value) const;
- inline boolean operator!=(const MNCC__bearer__cap__data& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline GSM48__bcap__ra& rate__adaptation()
- {return field_rate__adaptation;}
- inline const GSM48__bcap__ra& rate__adaptation() const
- {return field_rate__adaptation;}
- inline GSM48__bcap__sig__access& sig__access()
- {return field_sig__access;}
- inline const GSM48__bcap__sig__access& sig__access() const
- {return field_sig__access;}
- inline INTEGER& async()
- {return field_async;}
- inline const INTEGER& async() const
- {return field_async;}
- inline INTEGER& nr__stop__bits()
- {return field_nr__stop__bits;}
- inline const INTEGER& nr__stop__bits() const
- {return field_nr__stop__bits;}
- inline INTEGER& nr__data__bits()
- {return field_nr__data__bits;}
- inline const INTEGER& nr__data__bits() const
- {return field_nr__data__bits;}
- inline GSM48__bcap__user__rate& user__rate()
- {return field_user__rate;}
- inline const GSM48__bcap__user__rate& user__rate() const
- {return field_user__rate;}
- inline GSM48__bcap__parity& parity()
- {return field_parity;}
- inline const GSM48__bcap__parity& parity() const
- {return field_parity;}
- inline GSM48__bcap__interm__rate& interm__rate()
- {return field_interm__rate;}
- inline const GSM48__bcap__interm__rate& interm__rate() const
- {return field_interm__rate;}
- inline GSM48__bcap__transp& transp()
- {return field_transp;}
- inline const GSM48__bcap__transp& transp() const
- {return field_transp;}
- inline GSM48__bcap__modem__type& modem__type()
- {return field_modem__type;}
- inline const GSM48__bcap__modem__type& modem__type() const
- {return field_modem__type;}
- inline int size_of() const
- {return 10;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__bearer__cap__data_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__bearer__cap__data_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__bearer__cap__data& other_value);
-void copy_template(const MNCC__bearer__cap__data_template& other_value);
-
-public:
-MNCC__bearer__cap__data_template();
-MNCC__bearer__cap__data_template(template_sel other_value);
-MNCC__bearer__cap__data_template(const MNCC__bearer__cap__data& other_value);
-MNCC__bearer__cap__data_template(const OPTIONAL<MNCC__bearer__cap__data>& other_value);
-MNCC__bearer__cap__data_template(const MNCC__bearer__cap__data_template& other_value);
-~MNCC__bearer__cap__data_template();
-MNCC__bearer__cap__data_template& operator=(template_sel other_value);
-MNCC__bearer__cap__data_template& operator=(const MNCC__bearer__cap__data& other_value);
-MNCC__bearer__cap__data_template& operator=(const OPTIONAL<MNCC__bearer__cap__data>& other_value);
-MNCC__bearer__cap__data_template& operator=(const MNCC__bearer__cap__data_template& other_value);
-boolean match(const MNCC__bearer__cap__data& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__bearer__cap__data valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__bearer__cap__data_template& list_item(unsigned int list_index) const;
-GSM48__bcap__ra_template& rate__adaptation();
-const GSM48__bcap__ra_template& rate__adaptation() const;
-GSM48__bcap__sig__access_template& sig__access();
-const GSM48__bcap__sig__access_template& sig__access() const;
-INTEGER_template& async();
-const INTEGER_template& async() const;
-INTEGER_template& nr__stop__bits();
-const INTEGER_template& nr__stop__bits() const;
-INTEGER_template& nr__data__bits();
-const INTEGER_template& nr__data__bits() const;
-GSM48__bcap__user__rate_template& user__rate();
-const GSM48__bcap__user__rate_template& user__rate() const;
-GSM48__bcap__parity_template& parity();
-const GSM48__bcap__parity_template& parity() const;
-GSM48__bcap__interm__rate_template& interm__rate();
-const GSM48__bcap__interm__rate_template& interm__rate() const;
-GSM48__bcap__transp_template& transp();
-const GSM48__bcap__transp_template& transp() const;
-GSM48__bcap__modem__type_template& modem__type();
-const GSM48__bcap__modem__type_template& modem__type() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__bearer__cap__data& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__bearer__cap : public Base_Type {
- INTEGER field_transfer;
- INTEGER field_mode;
- INTEGER field_coding;
- INTEGER field_radio;
- INTEGER field_speech__ctm;
- MNCC__speech__vers field_speech__ver;
- OPTIONAL<MNCC__bearer__cap__data> field_data;
-public:
- MNCC__bearer__cap();
- MNCC__bearer__cap(const INTEGER& par_transfer,
- const INTEGER& par_mode,
- const INTEGER& par_coding,
- const INTEGER& par_radio,
- const INTEGER& par_speech__ctm,
- const MNCC__speech__vers& par_speech__ver,
- const OPTIONAL<MNCC__bearer__cap__data>& par_data);
- MNCC__bearer__cap(const MNCC__bearer__cap& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__bearer__cap& operator=(const MNCC__bearer__cap& other_value);
- boolean operator==(const MNCC__bearer__cap& other_value) const;
- inline boolean operator!=(const MNCC__bearer__cap& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& transfer()
- {return field_transfer;}
- inline const INTEGER& transfer() const
- {return field_transfer;}
- inline INTEGER& mode()
- {return field_mode;}
- inline const INTEGER& mode() const
- {return field_mode;}
- inline INTEGER& coding()
- {return field_coding;}
- inline const INTEGER& coding() const
- {return field_coding;}
- inline INTEGER& radio()
- {return field_radio;}
- inline const INTEGER& radio() const
- {return field_radio;}
- inline INTEGER& speech__ctm()
- {return field_speech__ctm;}
- inline const INTEGER& speech__ctm() const
- {return field_speech__ctm;}
- inline MNCC__speech__vers& speech__ver()
- {return field_speech__ver;}
- inline const MNCC__speech__vers& speech__ver() const
- {return field_speech__ver;}
- inline OPTIONAL<MNCC__bearer__cap__data>& data()
- {return field_data;}
- inline const OPTIONAL<MNCC__bearer__cap__data>& data() const
- {return field_data;}
- int size_of() const;
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__bearer__cap_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__bearer__cap_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__bearer__cap& other_value);
-void copy_template(const MNCC__bearer__cap_template& other_value);
-
-public:
-MNCC__bearer__cap_template();
-MNCC__bearer__cap_template(template_sel other_value);
-MNCC__bearer__cap_template(const MNCC__bearer__cap& other_value);
-MNCC__bearer__cap_template(const OPTIONAL<MNCC__bearer__cap>& other_value);
-MNCC__bearer__cap_template(const MNCC__bearer__cap_template& other_value);
-~MNCC__bearer__cap_template();
-MNCC__bearer__cap_template& operator=(template_sel other_value);
-MNCC__bearer__cap_template& operator=(const MNCC__bearer__cap& other_value);
-MNCC__bearer__cap_template& operator=(const OPTIONAL<MNCC__bearer__cap>& other_value);
-MNCC__bearer__cap_template& operator=(const MNCC__bearer__cap_template& other_value);
-boolean match(const MNCC__bearer__cap& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__bearer__cap valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__bearer__cap_template& list_item(unsigned int list_index) const;
-INTEGER_template& transfer();
-const INTEGER_template& transfer() const;
-INTEGER_template& mode();
-const INTEGER_template& mode() const;
-INTEGER_template& coding();
-const INTEGER_template& coding() const;
-INTEGER_template& radio();
-const INTEGER_template& radio() const;
-INTEGER_template& speech__ctm();
-const INTEGER_template& speech__ctm() const;
-MNCC__speech__vers_template& speech__ver();
-const MNCC__speech__vers_template& speech__ver() const;
-MNCC__bearer__cap__data_template& data();
-const MNCC__bearer__cap__data_template& data() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__bearer__cap& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class GSM48__type__of__number : public Base_Type { // enum
-friend class GSM48__type__of__number_template;
-public:
-enum enum_type { GSM48__TON__UNKNOWN = 0, GSM48__TON__INTERNATIONAL = 1, GSM48__TON__NATIONAL = 2, GSM48__TON__NETWORK__SPECIFIC = 3, GSM48__TON__SHORT__CODE = 4, UNKNOWN_VALUE = 5, UNBOUND_VALUE = 6 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__type__of__number();
-GSM48__type__of__number(int other_value);
-GSM48__type__of__number(enum_type other_value);
-GSM48__type__of__number(const GSM48__type__of__number& other_value);
-
-GSM48__type__of__number& operator=(int other_value);
-GSM48__type__of__number& operator=(enum_type other_value);
-GSM48__type__of__number& operator=(const GSM48__type__of__number& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__type__of__number& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__type__of__number& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__type__of__number& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__type__of__number& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__type__of__number& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__type__of__number& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__type__of__number& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__type__of__number_template : public Base_Template {
-union {
-GSM48__type__of__number::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__type__of__number_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__type__of__number_template& other_value);
-
-public:
-GSM48__type__of__number_template();
-GSM48__type__of__number_template(template_sel other_value);
-GSM48__type__of__number_template(int other_value);
-GSM48__type__of__number_template(GSM48__type__of__number::enum_type other_value);
-GSM48__type__of__number_template(const GSM48__type__of__number& other_value);
-GSM48__type__of__number_template(const OPTIONAL<GSM48__type__of__number>& other_value);
-GSM48__type__of__number_template(const GSM48__type__of__number_template& other_value);
-~GSM48__type__of__number_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__type__of__number_template& operator=(template_sel other_value);
-GSM48__type__of__number_template& operator=(int other_value);
-GSM48__type__of__number_template& operator=(GSM48__type__of__number::enum_type other_value);
-GSM48__type__of__number_template& operator=(const GSM48__type__of__number& other_value);
-GSM48__type__of__number_template& operator=(const OPTIONAL<GSM48__type__of__number>& other_value);
-GSM48__type__of__number_template& operator=(const GSM48__type__of__number_template& other_value);
-
-boolean match(GSM48__type__of__number::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__type__of__number& other_value, boolean legacy = FALSE) const;
-GSM48__type__of__number::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__type__of__number_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__type__of__number& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__num__plan__ind : public Base_Type { // enum
-friend class GSM48__num__plan__ind_template;
-public:
-enum enum_type { GSM48__NUMPLAN__UNKNOWN = 0, GSM48__NUMPLAN__E164 = 1, GSM48__NUMPLAN__X121 = 3, GSM48__NUMPLAN__F69 = 4, GSM48__NUMPLAN__NATIONAL = 8, GSM48__NUMPLAN__PRIVATE = 9, GSM48__NUMPLAN__CTS = 11, GSM48__NUMPLAN__RESERVED = 15, UNKNOWN_VALUE = 2, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__num__plan__ind();
-GSM48__num__plan__ind(int other_value);
-GSM48__num__plan__ind(enum_type other_value);
-GSM48__num__plan__ind(const GSM48__num__plan__ind& other_value);
-
-GSM48__num__plan__ind& operator=(int other_value);
-GSM48__num__plan__ind& operator=(enum_type other_value);
-GSM48__num__plan__ind& operator=(const GSM48__num__plan__ind& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__num__plan__ind& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__num__plan__ind& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__num__plan__ind& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__num__plan__ind& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__num__plan__ind& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__num__plan__ind& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__num__plan__ind& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__num__plan__ind_template : public Base_Template {
-union {
-GSM48__num__plan__ind::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__num__plan__ind_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__num__plan__ind_template& other_value);
-
-public:
-GSM48__num__plan__ind_template();
-GSM48__num__plan__ind_template(template_sel other_value);
-GSM48__num__plan__ind_template(int other_value);
-GSM48__num__plan__ind_template(GSM48__num__plan__ind::enum_type other_value);
-GSM48__num__plan__ind_template(const GSM48__num__plan__ind& other_value);
-GSM48__num__plan__ind_template(const OPTIONAL<GSM48__num__plan__ind>& other_value);
-GSM48__num__plan__ind_template(const GSM48__num__plan__ind_template& other_value);
-~GSM48__num__plan__ind_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__num__plan__ind_template& operator=(template_sel other_value);
-GSM48__num__plan__ind_template& operator=(int other_value);
-GSM48__num__plan__ind_template& operator=(GSM48__num__plan__ind::enum_type other_value);
-GSM48__num__plan__ind_template& operator=(const GSM48__num__plan__ind& other_value);
-GSM48__num__plan__ind_template& operator=(const OPTIONAL<GSM48__num__plan__ind>& other_value);
-GSM48__num__plan__ind_template& operator=(const GSM48__num__plan__ind_template& other_value);
-
-boolean match(GSM48__num__plan__ind::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__num__plan__ind& other_value, boolean legacy = FALSE) const;
-GSM48__num__plan__ind::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__num__plan__ind_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__num__plan__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__present__ind : public Base_Type { // enum
-friend class GSM48__present__ind_template;
-public:
-enum enum_type { GSM48__PRES__IND__ALLOWED = 0, GSM48__PRES__IND__RESTRICTED = 1, GSM48__PRES__IND__NUM__NOT__AVAIL = 2, GSM48__PRES__IND__RESERVED = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__present__ind();
-GSM48__present__ind(int other_value);
-GSM48__present__ind(enum_type other_value);
-GSM48__present__ind(const GSM48__present__ind& other_value);
-
-GSM48__present__ind& operator=(int other_value);
-GSM48__present__ind& operator=(enum_type other_value);
-GSM48__present__ind& operator=(const GSM48__present__ind& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__present__ind& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__present__ind& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__present__ind& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__present__ind& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__present__ind& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__present__ind& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__present__ind& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__present__ind_template : public Base_Template {
-union {
-GSM48__present__ind::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__present__ind_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__present__ind_template& other_value);
-
-public:
-GSM48__present__ind_template();
-GSM48__present__ind_template(template_sel other_value);
-GSM48__present__ind_template(int other_value);
-GSM48__present__ind_template(GSM48__present__ind::enum_type other_value);
-GSM48__present__ind_template(const GSM48__present__ind& other_value);
-GSM48__present__ind_template(const OPTIONAL<GSM48__present__ind>& other_value);
-GSM48__present__ind_template(const GSM48__present__ind_template& other_value);
-~GSM48__present__ind_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__present__ind_template& operator=(template_sel other_value);
-GSM48__present__ind_template& operator=(int other_value);
-GSM48__present__ind_template& operator=(GSM48__present__ind::enum_type other_value);
-GSM48__present__ind_template& operator=(const GSM48__present__ind& other_value);
-GSM48__present__ind_template& operator=(const OPTIONAL<GSM48__present__ind>& other_value);
-GSM48__present__ind_template& operator=(const GSM48__present__ind_template& other_value);
-
-boolean match(GSM48__present__ind::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__present__ind& other_value, boolean legacy = FALSE) const;
-GSM48__present__ind::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__present__ind_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__present__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__screening__ind : public Base_Type { // enum
-friend class GSM48__screening__ind_template;
-public:
-enum enum_type { GSM48__SCR__IND__NOT__SCREENED = 0, GSM48__SCR__IND__VERIF__PASSED = 1, GSM48__SCR__IND__VERIF__FAILED = 2, GSM48__SCR__IND__NETW__PROVIDED = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__screening__ind();
-GSM48__screening__ind(int other_value);
-GSM48__screening__ind(enum_type other_value);
-GSM48__screening__ind(const GSM48__screening__ind& other_value);
-
-GSM48__screening__ind& operator=(int other_value);
-GSM48__screening__ind& operator=(enum_type other_value);
-GSM48__screening__ind& operator=(const GSM48__screening__ind& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__screening__ind& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__screening__ind& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__screening__ind& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__screening__ind& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__screening__ind& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__screening__ind& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__screening__ind& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__screening__ind_template : public Base_Template {
-union {
-GSM48__screening__ind::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__screening__ind_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__screening__ind_template& other_value);
-
-public:
-GSM48__screening__ind_template();
-GSM48__screening__ind_template(template_sel other_value);
-GSM48__screening__ind_template(int other_value);
-GSM48__screening__ind_template(GSM48__screening__ind::enum_type other_value);
-GSM48__screening__ind_template(const GSM48__screening__ind& other_value);
-GSM48__screening__ind_template(const OPTIONAL<GSM48__screening__ind>& other_value);
-GSM48__screening__ind_template(const GSM48__screening__ind_template& other_value);
-~GSM48__screening__ind_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__screening__ind_template& operator=(template_sel other_value);
-GSM48__screening__ind_template& operator=(int other_value);
-GSM48__screening__ind_template& operator=(GSM48__screening__ind::enum_type other_value);
-GSM48__screening__ind_template& operator=(const GSM48__screening__ind& other_value);
-GSM48__screening__ind_template& operator=(const OPTIONAL<GSM48__screening__ind>& other_value);
-GSM48__screening__ind_template& operator=(const GSM48__screening__ind_template& other_value);
-
-boolean match(GSM48__screening__ind::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__screening__ind& other_value, boolean legacy = FALSE) const;
-GSM48__screening__ind::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__screening__ind_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__screening__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__number : public Base_Type {
- GSM48__type__of__number field_number__type;
- GSM48__num__plan__ind field_plan;
- GSM48__present__ind field_presence;
- GSM48__screening__ind field_screen;
- CHARSTRING field_number;
-public:
- MNCC__number();
- MNCC__number(const GSM48__type__of__number& par_number__type,
- const GSM48__num__plan__ind& par_plan,
- const GSM48__present__ind& par_presence,
- const GSM48__screening__ind& par_screen,
- const CHARSTRING& par_number);
- MNCC__number(const MNCC__number& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__number& operator=(const MNCC__number& other_value);
- boolean operator==(const MNCC__number& other_value) const;
- inline boolean operator!=(const MNCC__number& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline GSM48__type__of__number& number__type()
- {return field_number__type;}
- inline const GSM48__type__of__number& number__type() const
- {return field_number__type;}
- inline GSM48__num__plan__ind& plan()
- {return field_plan;}
- inline const GSM48__num__plan__ind& plan() const
- {return field_plan;}
- inline GSM48__present__ind& presence()
- {return field_presence;}
- inline const GSM48__present__ind& presence() const
- {return field_presence;}
- inline GSM48__screening__ind& screen()
- {return field_screen;}
- inline const GSM48__screening__ind& screen() const
- {return field_screen;}
- inline CHARSTRING& number()
- {return field_number;}
- inline const CHARSTRING& number() const
- {return field_number;}
- inline int size_of() const
- {return 5;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__number_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__number_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__number& other_value);
-void copy_template(const MNCC__number_template& other_value);
-
-public:
-MNCC__number_template();
-MNCC__number_template(template_sel other_value);
-MNCC__number_template(const MNCC__number& other_value);
-MNCC__number_template(const OPTIONAL<MNCC__number>& other_value);
-MNCC__number_template(const MNCC__number_template& other_value);
-~MNCC__number_template();
-MNCC__number_template& operator=(template_sel other_value);
-MNCC__number_template& operator=(const MNCC__number& other_value);
-MNCC__number_template& operator=(const OPTIONAL<MNCC__number>& other_value);
-MNCC__number_template& operator=(const MNCC__number_template& other_value);
-boolean match(const MNCC__number& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__number valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__number_template& list_item(unsigned int list_index) const;
-GSM48__type__of__number_template& number__type();
-const GSM48__type__of__number_template& number__type() const;
-GSM48__num__plan__ind_template& plan();
-const GSM48__num__plan__ind_template& plan() const;
-GSM48__present__ind_template& presence();
-const GSM48__present__ind_template& presence() const;
-GSM48__screening__ind_template& screen();
-const GSM48__screening__ind_template& screen() const;
-CHARSTRING_template& number();
-const CHARSTRING_template& number() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__number& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class GSM48__cause__coding : public Base_Type { // enum
-friend class GSM48__cause__coding_template;
-public:
-enum enum_type { GSM48__CAUSE__CS__Q931 = 0, GSM48__CAUSE__CS__RSVD = 1, GSM48__CAUSE__CS__NATIONAL = 2, GSM48__CAUSE__CS__GSM = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__cause__coding();
-GSM48__cause__coding(int other_value);
-GSM48__cause__coding(enum_type other_value);
-GSM48__cause__coding(const GSM48__cause__coding& other_value);
-
-GSM48__cause__coding& operator=(int other_value);
-GSM48__cause__coding& operator=(enum_type other_value);
-GSM48__cause__coding& operator=(const GSM48__cause__coding& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__cause__coding& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__cause__coding& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__cause__coding& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__cause__coding& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__cause__coding& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__cause__coding& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__cause__coding& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__cause__coding_template : public Base_Template {
-union {
-GSM48__cause__coding::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__cause__coding_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__cause__coding_template& other_value);
-
-public:
-GSM48__cause__coding_template();
-GSM48__cause__coding_template(template_sel other_value);
-GSM48__cause__coding_template(int other_value);
-GSM48__cause__coding_template(GSM48__cause__coding::enum_type other_value);
-GSM48__cause__coding_template(const GSM48__cause__coding& other_value);
-GSM48__cause__coding_template(const OPTIONAL<GSM48__cause__coding>& other_value);
-GSM48__cause__coding_template(const GSM48__cause__coding_template& other_value);
-~GSM48__cause__coding_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__cause__coding_template& operator=(template_sel other_value);
-GSM48__cause__coding_template& operator=(int other_value);
-GSM48__cause__coding_template& operator=(GSM48__cause__coding::enum_type other_value);
-GSM48__cause__coding_template& operator=(const GSM48__cause__coding& other_value);
-GSM48__cause__coding_template& operator=(const OPTIONAL<GSM48__cause__coding>& other_value);
-GSM48__cause__coding_template& operator=(const GSM48__cause__coding_template& other_value);
-
-boolean match(GSM48__cause__coding::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__cause__coding& other_value, boolean legacy = FALSE) const;
-GSM48__cause__coding::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__cause__coding_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__cause__coding& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class GSM48__cause__loc : public Base_Type { // enum
-friend class GSM48__cause__loc_template;
-public:
-enum enum_type { GSM48__CAUSE__LOC__USER = 0, GSM48__CAUSE__LOC__PRN__S__LU = 1, GSM48__CAUSE__LOC__PUN__S__LU = 2, GSM48__CAUSE__LOC__TRANS__NET = 3, GSM48__CAUSE__LOC__PUN__S__RU = 4, GSM48__CAUSE__LOC__PRN__S__RU = 5, GSM48__CAUSE__LOC__INN__NET = 7, GSM48__CAUSE__LOC__NET__BEYOND = 10, UNKNOWN_VALUE = 6, UNBOUND_VALUE = 8 };
-private:
-enum_type enum_value;
-
-public:
-GSM48__cause__loc();
-GSM48__cause__loc(int other_value);
-GSM48__cause__loc(enum_type other_value);
-GSM48__cause__loc(const GSM48__cause__loc& other_value);
-
-GSM48__cause__loc& operator=(int other_value);
-GSM48__cause__loc& operator=(enum_type other_value);
-GSM48__cause__loc& operator=(const GSM48__cause__loc& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const GSM48__cause__loc& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const GSM48__cause__loc& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const GSM48__cause__loc& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const GSM48__cause__loc& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const GSM48__cause__loc& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const GSM48__cause__loc& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const GSM48__cause__loc& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class GSM48__cause__loc_template : public Base_Template {
-union {
-GSM48__cause__loc::enum_type single_value;
-struct {
-unsigned int n_values;
-GSM48__cause__loc_template *list_value;
-} value_list;
-};
-
-void copy_template(const GSM48__cause__loc_template& other_value);
-
-public:
-GSM48__cause__loc_template();
-GSM48__cause__loc_template(template_sel other_value);
-GSM48__cause__loc_template(int other_value);
-GSM48__cause__loc_template(GSM48__cause__loc::enum_type other_value);
-GSM48__cause__loc_template(const GSM48__cause__loc& other_value);
-GSM48__cause__loc_template(const OPTIONAL<GSM48__cause__loc>& other_value);
-GSM48__cause__loc_template(const GSM48__cause__loc_template& other_value);
-~GSM48__cause__loc_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-GSM48__cause__loc_template& operator=(template_sel other_value);
-GSM48__cause__loc_template& operator=(int other_value);
-GSM48__cause__loc_template& operator=(GSM48__cause__loc::enum_type other_value);
-GSM48__cause__loc_template& operator=(const GSM48__cause__loc& other_value);
-GSM48__cause__loc_template& operator=(const OPTIONAL<GSM48__cause__loc>& other_value);
-GSM48__cause__loc_template& operator=(const GSM48__cause__loc_template& other_value);
-
-boolean match(GSM48__cause__loc::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const GSM48__cause__loc& other_value, boolean legacy = FALSE) const;
-GSM48__cause__loc::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-GSM48__cause__loc_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const GSM48__cause__loc& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__cause : public Base_Type {
- GSM48__cause__loc field_location;
- GSM48__cause__coding field_coding;
- INTEGER field_rec;
- INTEGER field_rec__val;
- INTEGER field_val;
- OCTETSTRING field_diag;
-public:
- MNCC__cause();
- MNCC__cause(const GSM48__cause__loc& par_location,
- const GSM48__cause__coding& par_coding,
- const INTEGER& par_rec,
- const INTEGER& par_rec__val,
- const INTEGER& par_val,
- const OCTETSTRING& par_diag);
- MNCC__cause(const MNCC__cause& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__cause& operator=(const MNCC__cause& other_value);
- boolean operator==(const MNCC__cause& other_value) const;
- inline boolean operator!=(const MNCC__cause& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline GSM48__cause__loc& location()
- {return field_location;}
- inline const GSM48__cause__loc& location() const
- {return field_location;}
- inline GSM48__cause__coding& coding()
- {return field_coding;}
- inline const GSM48__cause__coding& coding() const
- {return field_coding;}
- inline INTEGER& rec()
- {return field_rec;}
- inline const INTEGER& rec() const
- {return field_rec;}
- inline INTEGER& rec__val()
- {return field_rec__val;}
- inline const INTEGER& rec__val() const
- {return field_rec__val;}
- inline INTEGER& val()
- {return field_val;}
- inline const INTEGER& val() const
- {return field_val;}
- inline OCTETSTRING& diag()
- {return field_diag;}
- inline const OCTETSTRING& diag() const
- {return field_diag;}
- inline int size_of() const
- {return 6;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__cause_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__cause_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__cause& other_value);
-void copy_template(const MNCC__cause_template& other_value);
-
-public:
-MNCC__cause_template();
-MNCC__cause_template(template_sel other_value);
-MNCC__cause_template(const MNCC__cause& other_value);
-MNCC__cause_template(const OPTIONAL<MNCC__cause>& other_value);
-MNCC__cause_template(const MNCC__cause_template& other_value);
-~MNCC__cause_template();
-MNCC__cause_template& operator=(template_sel other_value);
-MNCC__cause_template& operator=(const MNCC__cause& other_value);
-MNCC__cause_template& operator=(const OPTIONAL<MNCC__cause>& other_value);
-MNCC__cause_template& operator=(const MNCC__cause_template& other_value);
-boolean match(const MNCC__cause& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__cause valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__cause_template& list_item(unsigned int list_index) const;
-GSM48__cause__loc_template& location();
-const GSM48__cause__loc_template& location() const;
-GSM48__cause__coding_template& coding();
-const GSM48__cause__coding_template& coding() const;
-INTEGER_template& rec();
-const INTEGER_template& rec() const;
-INTEGER_template& rec__val();
-const INTEGER_template& rec__val() const;
-INTEGER_template& val();
-const INTEGER_template& val() const;
-OCTETSTRING_template& diag();
-const OCTETSTRING_template& diag() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__cause& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__useruser : public Base_Type {
- INTEGER field_proto;
- CHARSTRING field_info;
-public:
- MNCC__useruser();
- MNCC__useruser(const INTEGER& par_proto,
- const CHARSTRING& par_info);
- MNCC__useruser(const MNCC__useruser& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__useruser& operator=(const MNCC__useruser& other_value);
- boolean operator==(const MNCC__useruser& other_value) const;
- inline boolean operator!=(const MNCC__useruser& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& proto()
- {return field_proto;}
- inline const INTEGER& proto() const
- {return field_proto;}
- inline CHARSTRING& info()
- {return field_info;}
- inline const CHARSTRING& info() const
- {return field_info;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__useruser_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__useruser_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__useruser& other_value);
-void copy_template(const MNCC__useruser_template& other_value);
-
-public:
-MNCC__useruser_template();
-MNCC__useruser_template(template_sel other_value);
-MNCC__useruser_template(const MNCC__useruser& other_value);
-MNCC__useruser_template(const OPTIONAL<MNCC__useruser>& other_value);
-MNCC__useruser_template(const MNCC__useruser_template& other_value);
-~MNCC__useruser_template();
-MNCC__useruser_template& operator=(template_sel other_value);
-MNCC__useruser_template& operator=(const MNCC__useruser& other_value);
-MNCC__useruser_template& operator=(const OPTIONAL<MNCC__useruser>& other_value);
-MNCC__useruser_template& operator=(const MNCC__useruser_template& other_value);
-boolean match(const MNCC__useruser& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__useruser valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__useruser_template& list_item(unsigned int list_index) const;
-INTEGER_template& proto();
-const INTEGER_template& proto() const;
-CHARSTRING_template& info();
-const CHARSTRING_template& info() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__useruser& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__progress : public Base_Type {
- INTEGER field_coding;
- INTEGER field_location;
- INTEGER field_descr;
-public:
- MNCC__progress();
- MNCC__progress(const INTEGER& par_coding,
- const INTEGER& par_location,
- const INTEGER& par_descr);
- MNCC__progress(const MNCC__progress& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__progress& operator=(const MNCC__progress& other_value);
- boolean operator==(const MNCC__progress& other_value) const;
- inline boolean operator!=(const MNCC__progress& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& coding()
- {return field_coding;}
- inline const INTEGER& coding() const
- {return field_coding;}
- inline INTEGER& location()
- {return field_location;}
- inline const INTEGER& location() const
- {return field_location;}
- inline INTEGER& descr()
- {return field_descr;}
- inline const INTEGER& descr() const
- {return field_descr;}
- inline int size_of() const
- {return 3;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__progress_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__progress_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__progress& other_value);
-void copy_template(const MNCC__progress_template& other_value);
-
-public:
-MNCC__progress_template();
-MNCC__progress_template(template_sel other_value);
-MNCC__progress_template(const MNCC__progress& other_value);
-MNCC__progress_template(const OPTIONAL<MNCC__progress>& other_value);
-MNCC__progress_template(const MNCC__progress_template& other_value);
-~MNCC__progress_template();
-MNCC__progress_template& operator=(template_sel other_value);
-MNCC__progress_template& operator=(const MNCC__progress& other_value);
-MNCC__progress_template& operator=(const OPTIONAL<MNCC__progress>& other_value);
-MNCC__progress_template& operator=(const MNCC__progress_template& other_value);
-boolean match(const MNCC__progress& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__progress valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__progress_template& list_item(unsigned int list_index) const;
-INTEGER_template& coding();
-const INTEGER_template& coding() const;
-INTEGER_template& location();
-const INTEGER_template& location() const;
-INTEGER_template& descr();
-const INTEGER_template& descr() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__progress& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__cccap : public Base_Type {
- INTEGER field_dtmf;
- INTEGER field_pcp;
-public:
- MNCC__cccap();
- MNCC__cccap(const INTEGER& par_dtmf,
- const INTEGER& par_pcp);
- MNCC__cccap(const MNCC__cccap& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__cccap& operator=(const MNCC__cccap& other_value);
- boolean operator==(const MNCC__cccap& other_value) const;
- inline boolean operator!=(const MNCC__cccap& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& dtmf()
- {return field_dtmf;}
- inline const INTEGER& dtmf() const
- {return field_dtmf;}
- inline INTEGER& pcp()
- {return field_pcp;}
- inline const INTEGER& pcp() const
- {return field_pcp;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__cccap_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__cccap_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__cccap& other_value);
-void copy_template(const MNCC__cccap_template& other_value);
-
-public:
-MNCC__cccap_template();
-MNCC__cccap_template(template_sel other_value);
-MNCC__cccap_template(const MNCC__cccap& other_value);
-MNCC__cccap_template(const OPTIONAL<MNCC__cccap>& other_value);
-MNCC__cccap_template(const MNCC__cccap_template& other_value);
-~MNCC__cccap_template();
-MNCC__cccap_template& operator=(template_sel other_value);
-MNCC__cccap_template& operator=(const MNCC__cccap& other_value);
-MNCC__cccap_template& operator=(const OPTIONAL<MNCC__cccap>& other_value);
-MNCC__cccap_template& operator=(const MNCC__cccap_template& other_value);
-boolean match(const MNCC__cccap& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__cccap valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__cccap_template& list_item(unsigned int list_index) const;
-INTEGER_template& dtmf();
-const INTEGER_template& dtmf() const;
-INTEGER_template& pcp();
-const INTEGER_template& pcp() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__cccap& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__bcap : public Base_Type { // enum
-friend class MNCC__bcap_template;
-public:
-enum enum_type { GSM__MNCC__BCAP__SPEECH = 0, GSM__MNCC__BCAP__UNR__DIG = 1, GSM__MNCC__BCAP__AUDIO = 2, GSM__MNCC__BCAP__FAX__G3 = 3, GSM__MNCC__BCAP__OTHER__ITC = 4, GSM__MNCC__BCAP__RESERVED = 7, UNKNOWN_VALUE = 5, UNBOUND_VALUE = 6 };
-private:
-enum_type enum_value;
-
-public:
-MNCC__bcap();
-MNCC__bcap(int other_value);
-MNCC__bcap(enum_type other_value);
-MNCC__bcap(const MNCC__bcap& other_value);
-
-MNCC__bcap& operator=(int other_value);
-MNCC__bcap& operator=(enum_type other_value);
-MNCC__bcap& operator=(const MNCC__bcap& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const MNCC__bcap& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const MNCC__bcap& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const MNCC__bcap& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const MNCC__bcap& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const MNCC__bcap& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const MNCC__bcap& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const MNCC__bcap& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__bcap_template : public Base_Template {
-union {
-MNCC__bcap::enum_type single_value;
-struct {
-unsigned int n_values;
-MNCC__bcap_template *list_value;
-} value_list;
-};
-
-void copy_template(const MNCC__bcap_template& other_value);
-
-public:
-MNCC__bcap_template();
-MNCC__bcap_template(template_sel other_value);
-MNCC__bcap_template(int other_value);
-MNCC__bcap_template(MNCC__bcap::enum_type other_value);
-MNCC__bcap_template(const MNCC__bcap& other_value);
-MNCC__bcap_template(const OPTIONAL<MNCC__bcap>& other_value);
-MNCC__bcap_template(const MNCC__bcap_template& other_value);
-~MNCC__bcap_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__bcap_template& operator=(template_sel other_value);
-MNCC__bcap_template& operator=(int other_value);
-MNCC__bcap_template& operator=(MNCC__bcap::enum_type other_value);
-MNCC__bcap_template& operator=(const MNCC__bcap& other_value);
-MNCC__bcap_template& operator=(const OPTIONAL<MNCC__bcap>& other_value);
-MNCC__bcap_template& operator=(const MNCC__bcap_template& other_value);
-
-boolean match(MNCC__bcap::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const MNCC__bcap& other_value, boolean legacy = FALSE) const;
-MNCC__bcap::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__bcap_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const MNCC__bcap& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__PDU__Signal : public Base_Type {
- INTEGER field_callref;
- OPTIONAL<MNCC__bearer__cap> field_bearer__cap;
- OPTIONAL<MNCC__number> field_called;
- OPTIONAL<MNCC__number> field_calling;
- OPTIONAL<MNCC__number> field_redirecting;
- OPTIONAL<MNCC__number> field_connected;
- OPTIONAL<MNCC__cause> field_cause;
- OPTIONAL<MNCC__progress> field_progress;
- OPTIONAL<MNCC__useruser> field_useruser;
- OPTIONAL<CHARSTRING> field_facility;
- OPTIONAL<MNCC__cccap> field_cccap;
- OPTIONAL<CHARSTRING> field_ssversion;
- INTEGER field_clir__sup;
- INTEGER field_clir__inv;
- OPTIONAL<INTEGER> field_signal;
- OPTIONAL<CHARSTRING> field_keypad;
- INTEGER field_more;
- INTEGER field_notify;
- OPTIONAL<INTEGER> field_emergency;
- CHARSTRING field_imsi;
- INTEGER field_lchan__type;
- INTEGER field_lchan__mode;
-public:
- MNCC__PDU__Signal();
- MNCC__PDU__Signal(const INTEGER& par_callref,
- const OPTIONAL<MNCC__bearer__cap>& par_bearer__cap,
- const OPTIONAL<MNCC__number>& par_called,
- const OPTIONAL<MNCC__number>& par_calling,
- const OPTIONAL<MNCC__number>& par_redirecting,
- const OPTIONAL<MNCC__number>& par_connected,
- const OPTIONAL<MNCC__cause>& par_cause,
- const OPTIONAL<MNCC__progress>& par_progress,
- const OPTIONAL<MNCC__useruser>& par_useruser,
- const OPTIONAL<CHARSTRING>& par_facility,
- const OPTIONAL<MNCC__cccap>& par_cccap,
- const OPTIONAL<CHARSTRING>& par_ssversion,
- const INTEGER& par_clir__sup,
- const INTEGER& par_clir__inv,
- const OPTIONAL<INTEGER>& par_signal,
- const OPTIONAL<CHARSTRING>& par_keypad,
- const INTEGER& par_more,
- const INTEGER& par_notify,
- const OPTIONAL<INTEGER>& par_emergency,
- const CHARSTRING& par_imsi,
- const INTEGER& par_lchan__type,
- const INTEGER& par_lchan__mode);
- MNCC__PDU__Signal(const MNCC__PDU__Signal& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__PDU__Signal& operator=(const MNCC__PDU__Signal& other_value);
- boolean operator==(const MNCC__PDU__Signal& other_value) const;
- inline boolean operator!=(const MNCC__PDU__Signal& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& callref()
- {return field_callref;}
- inline const INTEGER& callref() const
- {return field_callref;}
- inline OPTIONAL<MNCC__bearer__cap>& bearer__cap()
- {return field_bearer__cap;}
- inline const OPTIONAL<MNCC__bearer__cap>& bearer__cap() const
- {return field_bearer__cap;}
- inline OPTIONAL<MNCC__number>& called()
- {return field_called;}
- inline const OPTIONAL<MNCC__number>& called() const
- {return field_called;}
- inline OPTIONAL<MNCC__number>& calling()
- {return field_calling;}
- inline const OPTIONAL<MNCC__number>& calling() const
- {return field_calling;}
- inline OPTIONAL<MNCC__number>& redirecting()
- {return field_redirecting;}
- inline const OPTIONAL<MNCC__number>& redirecting() const
- {return field_redirecting;}
- inline OPTIONAL<MNCC__number>& connected()
- {return field_connected;}
- inline const OPTIONAL<MNCC__number>& connected() const
- {return field_connected;}
- inline OPTIONAL<MNCC__cause>& cause()
- {return field_cause;}
- inline const OPTIONAL<MNCC__cause>& cause() const
- {return field_cause;}
- inline OPTIONAL<MNCC__progress>& progress()
- {return field_progress;}
- inline const OPTIONAL<MNCC__progress>& progress() const
- {return field_progress;}
- inline OPTIONAL<MNCC__useruser>& useruser()
- {return field_useruser;}
- inline const OPTIONAL<MNCC__useruser>& useruser() const
- {return field_useruser;}
- inline OPTIONAL<CHARSTRING>& facility()
- {return field_facility;}
- inline const OPTIONAL<CHARSTRING>& facility() const
- {return field_facility;}
- inline OPTIONAL<MNCC__cccap>& cccap()
- {return field_cccap;}
- inline const OPTIONAL<MNCC__cccap>& cccap() const
- {return field_cccap;}
- inline OPTIONAL<CHARSTRING>& ssversion()
- {return field_ssversion;}
- inline const OPTIONAL<CHARSTRING>& ssversion() const
- {return field_ssversion;}
- inline INTEGER& clir__sup()
- {return field_clir__sup;}
- inline const INTEGER& clir__sup() const
- {return field_clir__sup;}
- inline INTEGER& clir__inv()
- {return field_clir__inv;}
- inline const INTEGER& clir__inv() const
- {return field_clir__inv;}
- inline OPTIONAL<INTEGER>& signal()
- {return field_signal;}
- inline const OPTIONAL<INTEGER>& signal() const
- {return field_signal;}
- inline OPTIONAL<CHARSTRING>& keypad()
- {return field_keypad;}
- inline const OPTIONAL<CHARSTRING>& keypad() const
- {return field_keypad;}
- inline INTEGER& more()
- {return field_more;}
- inline const INTEGER& more() const
- {return field_more;}
- inline INTEGER& notify()
- {return field_notify;}
- inline const INTEGER& notify() const
- {return field_notify;}
- inline OPTIONAL<INTEGER>& emergency()
- {return field_emergency;}
- inline const OPTIONAL<INTEGER>& emergency() const
- {return field_emergency;}
- inline CHARSTRING& imsi()
- {return field_imsi;}
- inline const CHARSTRING& imsi() const
- {return field_imsi;}
- inline INTEGER& lchan__type()
- {return field_lchan__type;}
- inline const INTEGER& lchan__type() const
- {return field_lchan__type;}
- inline INTEGER& lchan__mode()
- {return field_lchan__mode;}
- inline const INTEGER& lchan__mode() const
- {return field_lchan__mode;}
- int size_of() const;
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__PDU__Signal_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__PDU__Signal_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__PDU__Signal& other_value);
-void copy_template(const MNCC__PDU__Signal_template& other_value);
-
-public:
-MNCC__PDU__Signal_template();
-MNCC__PDU__Signal_template(template_sel other_value);
-MNCC__PDU__Signal_template(const MNCC__PDU__Signal& other_value);
-MNCC__PDU__Signal_template(const OPTIONAL<MNCC__PDU__Signal>& other_value);
-MNCC__PDU__Signal_template(const MNCC__PDU__Signal_template& other_value);
-~MNCC__PDU__Signal_template();
-MNCC__PDU__Signal_template& operator=(template_sel other_value);
-MNCC__PDU__Signal_template& operator=(const MNCC__PDU__Signal& other_value);
-MNCC__PDU__Signal_template& operator=(const OPTIONAL<MNCC__PDU__Signal>& other_value);
-MNCC__PDU__Signal_template& operator=(const MNCC__PDU__Signal_template& other_value);
-boolean match(const MNCC__PDU__Signal& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__PDU__Signal valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU__Signal_template& list_item(unsigned int list_index) const;
-INTEGER_template& callref();
-const INTEGER_template& callref() const;
-MNCC__bearer__cap_template& bearer__cap();
-const MNCC__bearer__cap_template& bearer__cap() const;
-MNCC__number_template& called();
-const MNCC__number_template& called() const;
-MNCC__number_template& calling();
-const MNCC__number_template& calling() const;
-MNCC__number_template& redirecting();
-const MNCC__number_template& redirecting() const;
-MNCC__number_template& connected();
-const MNCC__number_template& connected() const;
-MNCC__cause_template& cause();
-const MNCC__cause_template& cause() const;
-MNCC__progress_template& progress();
-const MNCC__progress_template& progress() const;
-MNCC__useruser_template& useruser();
-const MNCC__useruser_template& useruser() const;
-CHARSTRING_template& facility();
-const CHARSTRING_template& facility() const;
-MNCC__cccap_template& cccap();
-const MNCC__cccap_template& cccap() const;
-CHARSTRING_template& ssversion();
-const CHARSTRING_template& ssversion() const;
-INTEGER_template& clir__sup();
-const INTEGER_template& clir__sup() const;
-INTEGER_template& clir__inv();
-const INTEGER_template& clir__inv() const;
-INTEGER_template& signal();
-const INTEGER_template& signal() const;
-CHARSTRING_template& keypad();
-const CHARSTRING_template& keypad() const;
-INTEGER_template& more();
-const INTEGER_template& more() const;
-INTEGER_template& notify();
-const INTEGER_template& notify() const;
-INTEGER_template& emergency();
-const INTEGER_template& emergency() const;
-CHARSTRING_template& imsi();
-const CHARSTRING_template& imsi() const;
-INTEGER_template& lchan__type();
-const INTEGER_template& lchan__type() const;
-INTEGER_template& lchan__mode();
-const INTEGER_template& lchan__mode() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__PDU__Signal& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__PDU__Data : public Base_Type {
- INTEGER field_callref;
- OCTETSTRING field_data;
-public:
- MNCC__PDU__Data();
- MNCC__PDU__Data(const INTEGER& par_callref,
- const OCTETSTRING& par_data);
- MNCC__PDU__Data(const MNCC__PDU__Data& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__PDU__Data& operator=(const MNCC__PDU__Data& other_value);
- boolean operator==(const MNCC__PDU__Data& other_value) const;
- inline boolean operator!=(const MNCC__PDU__Data& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& callref()
- {return field_callref;}
- inline const INTEGER& callref() const
- {return field_callref;}
- inline OCTETSTRING& data()
- {return field_data;}
- inline const OCTETSTRING& data() const
- {return field_data;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__PDU__Data_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__PDU__Data_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__PDU__Data& other_value);
-void copy_template(const MNCC__PDU__Data_template& other_value);
-
-public:
-MNCC__PDU__Data_template();
-MNCC__PDU__Data_template(template_sel other_value);
-MNCC__PDU__Data_template(const MNCC__PDU__Data& other_value);
-MNCC__PDU__Data_template(const OPTIONAL<MNCC__PDU__Data>& other_value);
-MNCC__PDU__Data_template(const MNCC__PDU__Data_template& other_value);
-~MNCC__PDU__Data_template();
-MNCC__PDU__Data_template& operator=(template_sel other_value);
-MNCC__PDU__Data_template& operator=(const MNCC__PDU__Data& other_value);
-MNCC__PDU__Data_template& operator=(const OPTIONAL<MNCC__PDU__Data>& other_value);
-MNCC__PDU__Data_template& operator=(const MNCC__PDU__Data_template& other_value);
-boolean match(const MNCC__PDU__Data& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__PDU__Data valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU__Data_template& list_item(unsigned int list_index) const;
-INTEGER_template& callref();
-const INTEGER_template& callref() const;
-OCTETSTRING_template& data();
-const OCTETSTRING_template& data() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__PDU__Data& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__PDU__Rtp : public Base_Type {
- INTEGER field_callref;
- INTEGER field_ip;
- INTEGER field_rtp__port;
- INTEGER field_payload__type;
- INTEGER field_payload__msg__type;
-public:
- MNCC__PDU__Rtp();
- MNCC__PDU__Rtp(const INTEGER& par_callref,
- const INTEGER& par_ip,
- const INTEGER& par_rtp__port,
- const INTEGER& par_payload__type,
- const INTEGER& par_payload__msg__type);
- MNCC__PDU__Rtp(const MNCC__PDU__Rtp& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__PDU__Rtp& operator=(const MNCC__PDU__Rtp& other_value);
- boolean operator==(const MNCC__PDU__Rtp& other_value) const;
- inline boolean operator!=(const MNCC__PDU__Rtp& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& callref()
- {return field_callref;}
- inline const INTEGER& callref() const
- {return field_callref;}
- inline INTEGER& ip()
- {return field_ip;}
- inline const INTEGER& ip() const
- {return field_ip;}
- inline INTEGER& rtp__port()
- {return field_rtp__port;}
- inline const INTEGER& rtp__port() const
- {return field_rtp__port;}
- inline INTEGER& payload__type()
- {return field_payload__type;}
- inline const INTEGER& payload__type() const
- {return field_payload__type;}
- inline INTEGER& payload__msg__type()
- {return field_payload__msg__type;}
- inline const INTEGER& payload__msg__type() const
- {return field_payload__msg__type;}
- inline int size_of() const
- {return 5;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__PDU__Rtp_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__PDU__Rtp_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__PDU__Rtp& other_value);
-void copy_template(const MNCC__PDU__Rtp_template& other_value);
-
-public:
-MNCC__PDU__Rtp_template();
-MNCC__PDU__Rtp_template(template_sel other_value);
-MNCC__PDU__Rtp_template(const MNCC__PDU__Rtp& other_value);
-MNCC__PDU__Rtp_template(const OPTIONAL<MNCC__PDU__Rtp>& other_value);
-MNCC__PDU__Rtp_template(const MNCC__PDU__Rtp_template& other_value);
-~MNCC__PDU__Rtp_template();
-MNCC__PDU__Rtp_template& operator=(template_sel other_value);
-MNCC__PDU__Rtp_template& operator=(const MNCC__PDU__Rtp& other_value);
-MNCC__PDU__Rtp_template& operator=(const OPTIONAL<MNCC__PDU__Rtp>& other_value);
-MNCC__PDU__Rtp_template& operator=(const MNCC__PDU__Rtp_template& other_value);
-boolean match(const MNCC__PDU__Rtp& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__PDU__Rtp valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU__Rtp_template& list_item(unsigned int list_index) const;
-INTEGER_template& callref();
-const INTEGER_template& callref() const;
-INTEGER_template& ip();
-const INTEGER_template& ip() const;
-INTEGER_template& rtp__port();
-const INTEGER_template& rtp__port() const;
-INTEGER_template& payload__type();
-const INTEGER_template& payload__type() const;
-INTEGER_template& payload__msg__type();
-const INTEGER_template& payload__msg__type() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__PDU__Rtp& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__PDU__Hello : public Base_Type {
- INTEGER field_version;
- INTEGER field_mncc__size;
- INTEGER field_data__frame__size;
- INTEGER field_called__offset;
- INTEGER field_signal__offset;
- INTEGER field_emergency__offset;
- INTEGER field_lchan__type__offset;
-public:
- MNCC__PDU__Hello();
- MNCC__PDU__Hello(const INTEGER& par_version,
- const INTEGER& par_mncc__size,
- const INTEGER& par_data__frame__size,
- const INTEGER& par_called__offset,
- const INTEGER& par_signal__offset,
- const INTEGER& par_emergency__offset,
- const INTEGER& par_lchan__type__offset);
- MNCC__PDU__Hello(const MNCC__PDU__Hello& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__PDU__Hello& operator=(const MNCC__PDU__Hello& other_value);
- boolean operator==(const MNCC__PDU__Hello& other_value) const;
- inline boolean operator!=(const MNCC__PDU__Hello& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& version()
- {return field_version;}
- inline const INTEGER& version() const
- {return field_version;}
- inline INTEGER& mncc__size()
- {return field_mncc__size;}
- inline const INTEGER& mncc__size() const
- {return field_mncc__size;}
- inline INTEGER& data__frame__size()
- {return field_data__frame__size;}
- inline const INTEGER& data__frame__size() const
- {return field_data__frame__size;}
- inline INTEGER& called__offset()
- {return field_called__offset;}
- inline const INTEGER& called__offset() const
- {return field_called__offset;}
- inline INTEGER& signal__offset()
- {return field_signal__offset;}
- inline const INTEGER& signal__offset() const
- {return field_signal__offset;}
- inline INTEGER& emergency__offset()
- {return field_emergency__offset;}
- inline const INTEGER& emergency__offset() const
- {return field_emergency__offset;}
- inline INTEGER& lchan__type__offset()
- {return field_lchan__type__offset;}
- inline const INTEGER& lchan__type__offset() const
- {return field_lchan__type__offset;}
- inline int size_of() const
- {return 7;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__PDU__Hello_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__PDU__Hello_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__PDU__Hello& other_value);
-void copy_template(const MNCC__PDU__Hello_template& other_value);
-
-public:
-MNCC__PDU__Hello_template();
-MNCC__PDU__Hello_template(template_sel other_value);
-MNCC__PDU__Hello_template(const MNCC__PDU__Hello& other_value);
-MNCC__PDU__Hello_template(const OPTIONAL<MNCC__PDU__Hello>& other_value);
-MNCC__PDU__Hello_template(const MNCC__PDU__Hello_template& other_value);
-~MNCC__PDU__Hello_template();
-MNCC__PDU__Hello_template& operator=(template_sel other_value);
-MNCC__PDU__Hello_template& operator=(const MNCC__PDU__Hello& other_value);
-MNCC__PDU__Hello_template& operator=(const OPTIONAL<MNCC__PDU__Hello>& other_value);
-MNCC__PDU__Hello_template& operator=(const MNCC__PDU__Hello_template& other_value);
-boolean match(const MNCC__PDU__Hello& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__PDU__Hello valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU__Hello_template& list_item(unsigned int list_index) const;
-INTEGER_template& version();
-const INTEGER_template& version() const;
-INTEGER_template& mncc__size();
-const INTEGER_template& mncc__size() const;
-INTEGER_template& data__frame__size();
-const INTEGER_template& data__frame__size() const;
-INTEGER_template& called__offset();
-const INTEGER_template& called__offset() const;
-INTEGER_template& signal__offset();
-const INTEGER_template& signal__offset() const;
-INTEGER_template& emergency__offset();
-const INTEGER_template& emergency__offset() const;
-INTEGER_template& lchan__type__offset();
-const INTEGER_template& lchan__type__offset() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__PDU__Hello& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class MNCC__MsgUnion : public Base_Type {
-public:
-enum union_selection_type { UNBOUND_VALUE = 0, ALT_signal = 1, ALT_data = 2, ALT_rtp = 3, ALT_hello = 4 };
-private:
-union_selection_type union_selection;
-union {
-MNCC__PDU__Signal *field_signal;
-MNCC__PDU__Data *field_data;
-MNCC__PDU__Rtp *field_rtp;
-MNCC__PDU__Hello *field_hello;
-};
-void copy_value(const MNCC__MsgUnion& other_value);
-
-public:
-MNCC__MsgUnion();
-MNCC__MsgUnion(const MNCC__MsgUnion& other_value);
-~MNCC__MsgUnion();
-MNCC__MsgUnion& operator=(const MNCC__MsgUnion& other_value);
-boolean operator==(const MNCC__MsgUnion& other_value) const;
-inline boolean operator!=(const MNCC__MsgUnion& other_value) const { return !(*this == other_value); }
-MNCC__PDU__Signal& signal();
-const MNCC__PDU__Signal& signal() const;
-MNCC__PDU__Data& data();
-const MNCC__PDU__Data& data() const;
-MNCC__PDU__Rtp& rtp();
-const MNCC__PDU__Rtp& rtp() const;
-MNCC__PDU__Hello& hello();
-const MNCC__PDU__Hello& hello() const;
-inline union_selection_type get_selection() const { return union_selection; }
-boolean ischosen(union_selection_type checked_selection) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__MsgUnion_template : public Base_Template {
-union {
-struct {
-MNCC__MsgUnion::union_selection_type union_selection;
-union {
-MNCC__PDU__Signal_template *field_signal;
-MNCC__PDU__Data_template *field_data;
-MNCC__PDU__Rtp_template *field_rtp;
-MNCC__PDU__Hello_template *field_hello;
-};
-} single_value;
-struct {
-unsigned int n_values;
-MNCC__MsgUnion_template *list_value;
-} value_list;
-};
-void copy_value(const MNCC__MsgUnion& other_value);
-
-void copy_template(const MNCC__MsgUnion_template& other_value);
-
-public:
-MNCC__MsgUnion_template();
-MNCC__MsgUnion_template(template_sel other_value);
-MNCC__MsgUnion_template(const MNCC__MsgUnion& other_value);
-MNCC__MsgUnion_template(const OPTIONAL<MNCC__MsgUnion>& other_value);
-MNCC__MsgUnion_template(const MNCC__MsgUnion_template& other_value);
-~MNCC__MsgUnion_template();
-void clean_up();
-MNCC__MsgUnion_template& operator=(template_sel other_value);
-MNCC__MsgUnion_template& operator=(const MNCC__MsgUnion& other_value);
-MNCC__MsgUnion_template& operator=(const OPTIONAL<MNCC__MsgUnion>& other_value);
-MNCC__MsgUnion_template& operator=(const MNCC__MsgUnion_template& other_value);
-boolean match(const MNCC__MsgUnion& other_value, boolean legacy = FALSE) const;
-boolean is_value() const;MNCC__MsgUnion valueof() const;
-MNCC__MsgUnion_template& list_item(unsigned int list_index) const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU__Signal_template& signal();
-const MNCC__PDU__Signal_template& signal() const;
-MNCC__PDU__Data_template& data();
-const MNCC__PDU__Data_template& data() const;
-MNCC__PDU__Rtp_template& rtp();
-const MNCC__PDU__Rtp_template& rtp() const;
-MNCC__PDU__Hello_template& hello();
-const MNCC__PDU__Hello_template& hello() const;
-boolean ischosen(MNCC__MsgUnion::union_selection_type checked_selection) const;
-void log() const;
-void log_match(const MNCC__MsgUnion& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class MNCC__PDU : public Base_Type {
- MNCC__MsgType field_msg__type;
- MNCC__MsgUnion field_u;
-public:
- MNCC__PDU();
- MNCC__PDU(const MNCC__MsgType& par_msg__type,
- const MNCC__MsgUnion& par_u);
- MNCC__PDU(const MNCC__PDU& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- MNCC__PDU& operator=(const MNCC__PDU& other_value);
- boolean operator==(const MNCC__PDU& other_value) const;
- inline boolean operator!=(const MNCC__PDU& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline MNCC__MsgType& msg__type()
- {return field_msg__type;}
- inline const MNCC__MsgType& msg__type() const
- {return field_msg__type;}
- inline MNCC__MsgUnion& u()
- {return field_u;}
- inline const MNCC__MsgUnion& u() const
- {return field_u;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class MNCC__PDU_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-MNCC__PDU_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const MNCC__PDU& other_value);
-void copy_template(const MNCC__PDU_template& other_value);
-
-public:
-MNCC__PDU_template();
-MNCC__PDU_template(template_sel other_value);
-MNCC__PDU_template(const MNCC__PDU& other_value);
-MNCC__PDU_template(const OPTIONAL<MNCC__PDU>& other_value);
-MNCC__PDU_template(const MNCC__PDU_template& other_value);
-~MNCC__PDU_template();
-MNCC__PDU_template& operator=(template_sel other_value);
-MNCC__PDU_template& operator=(const MNCC__PDU& other_value);
-MNCC__PDU_template& operator=(const OPTIONAL<MNCC__PDU>& other_value);
-MNCC__PDU_template& operator=(const MNCC__PDU_template& other_value);
-boolean match(const MNCC__PDU& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-MNCC__PDU valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-MNCC__PDU_template& list_item(unsigned int list_index) const;
-MNCC__MsgType_template& msg__type();
-const MNCC__MsgType_template& msg__type() const;
-MNCC__MsgUnion_template& u();
-const MNCC__MsgUnion_template& u() const;
-int size_of() const;
-void log() const;
-void log_match(const MNCC__PDU& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-
-/* Function prototypes */
-
-extern void int__encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER int__decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__ra_encoder(const GSM48__bcap__ra& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__ra_decoder(OCTETSTRING& input_stream, GSM48__bcap__ra& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__sig__access_encoder(const GSM48__bcap__sig__access& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__sig__access_decoder(OCTETSTRING& input_stream, GSM48__bcap__sig__access& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__user__rate_encoder(const GSM48__bcap__user__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__user__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__user__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__parity_encoder(const GSM48__bcap__parity& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__parity_decoder(OCTETSTRING& input_stream, GSM48__bcap__parity& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__interm__rate_encoder(const GSM48__bcap__interm__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__interm__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__interm__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__transp_encoder(const GSM48__bcap__transp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__transp_decoder(OCTETSTRING& input_stream, GSM48__bcap__transp& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__bcap__modem__type_encoder(const GSM48__bcap__modem__type& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__bcap__modem__type_decoder(OCTETSTRING& input_stream, GSM48__bcap__modem__type& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgType_encoder(const MNCC__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgType_decoder(OCTETSTRING& input_stream, MNCC__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_rate__adaptation_encoder(const GSM48__bcap__ra& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_rate__adaptation_decoder(OCTETSTRING& input_stream, GSM48__bcap__ra& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_sig__access_encoder(const GSM48__bcap__sig__access& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_sig__access_decoder(OCTETSTRING& input_stream, GSM48__bcap__sig__access& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_async_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_async_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_nr__stop__bits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_nr__stop__bits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_nr__data__bits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_nr__data__bits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_user__rate_encoder(const GSM48__bcap__user__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_user__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__user__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_parity_encoder(const GSM48__bcap__parity& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_parity_decoder(OCTETSTRING& input_stream, GSM48__bcap__parity& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_interm__rate_encoder(const GSM48__bcap__interm__rate& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_interm__rate_decoder(OCTETSTRING& input_stream, GSM48__bcap__interm__rate& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_transp_encoder(const GSM48__bcap__transp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_transp_decoder(OCTETSTRING& input_stream, GSM48__bcap__transp& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_modem__type_encoder(const GSM48__bcap__modem__type& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_modem__type_decoder(OCTETSTRING& input_stream, GSM48__bcap__modem__type& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap__data_encoder(const MNCC__bearer__cap__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap__data_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__speech__vers_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__speech__vers_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__speech__vers_encoder(const MNCC__speech__vers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__speech__vers_decoder(OCTETSTRING& input_stream, MNCC__speech__vers& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_transfer_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_transfer_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_mode_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_mode_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_coding_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_coding_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_radio_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_radio_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_speech__ctm_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_speech__ctm_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_speech__ver_encoder(const MNCC__speech__vers& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_speech__ver_decoder(OCTETSTRING& input_stream, MNCC__speech__vers& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_data_encoder(const MNCC__bearer__cap__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_data_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bearer__cap_encoder(const MNCC__bearer__cap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bearer__cap_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__type__of__number_encoder(const GSM48__type__of__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__type__of__number_decoder(OCTETSTRING& input_stream, GSM48__type__of__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_number__type_encoder(const GSM48__type__of__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_number__type_decoder(OCTETSTRING& input_stream, GSM48__type__of__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__num__plan__ind_encoder(const GSM48__num__plan__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__num__plan__ind_decoder(OCTETSTRING& input_stream, GSM48__num__plan__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_plan_encoder(const GSM48__num__plan__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_plan_decoder(OCTETSTRING& input_stream, GSM48__num__plan__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__present__ind_encoder(const GSM48__present__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__present__ind_decoder(OCTETSTRING& input_stream, GSM48__present__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_presence_encoder(const GSM48__present__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_presence_decoder(OCTETSTRING& input_stream, GSM48__present__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__screening__ind_encoder(const GSM48__screening__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__screening__ind_decoder(OCTETSTRING& input_stream, GSM48__screening__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_screen_encoder(const GSM48__screening__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_screen_decoder(OCTETSTRING& input_stream, GSM48__screening__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_number_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_number_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__number_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__number_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__cause__coding_encoder(const GSM48__cause__coding& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__cause__coding_decoder(OCTETSTRING& input_stream, GSM48__cause__coding& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void GSM48__cause__loc_encoder(const GSM48__cause__loc& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER GSM48__cause__loc_decoder(OCTETSTRING& input_stream, GSM48__cause__loc& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern MNCC__number_template ts__MNCC__number(const CHARSTRING& number, const GSM48__type__of__number& ton, const GSM48__num__plan__ind& npi, const GSM48__present__ind& pres, const GSM48__screening__ind& screen);
-extern MNCC__number_template tr__MNCC__number(const CHARSTRING_template& number, const GSM48__type__of__number_template& ton, const GSM48__num__plan__ind_template& npi, const GSM48__present__ind_template& pres, const GSM48__screening__ind_template& screen);
-extern void MNCC__cause_location_encoder(const GSM48__cause__loc& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_location_decoder(OCTETSTRING& input_stream, GSM48__cause__loc& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_coding_encoder(const GSM48__cause__coding& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_coding_decoder(OCTETSTRING& input_stream, GSM48__cause__coding& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_rec_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_rec_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_rec__val_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_rec__val_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_val_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_val_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_diag_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_diag_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cause_encoder(const MNCC__cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cause_decoder(OCTETSTRING& input_stream, MNCC__cause& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern MNCC__cause_template ts__MNCC__cause(const INTEGER& val, const GSM48__cause__loc& loc, const GSM48__cause__coding& coding, const OCTETSTRING& diag);
-extern void MNCC__useruser_proto_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__useruser_proto_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__useruser_info_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__useruser_info_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__useruser_encoder(const MNCC__useruser& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__useruser_decoder(OCTETSTRING& input_stream, MNCC__useruser& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__progress_coding_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__progress_coding_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__progress_location_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__progress_location_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__progress_descr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__progress_descr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__progress_encoder(const MNCC__progress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__progress_decoder(OCTETSTRING& input_stream, MNCC__progress& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cccap_dtmf_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cccap_dtmf_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cccap_pcp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cccap_pcp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__cccap_encoder(const MNCC__cccap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__cccap_decoder(OCTETSTRING& input_stream, MNCC__cccap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__notify_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__notify_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__keypad_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__keypad_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__bcap_encoder(const MNCC__bcap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__bcap_decoder(OCTETSTRING& input_stream, MNCC__bcap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_clir__sup_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_clir__sup_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_clir__inv_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_clir__inv_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_more_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_more_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_notify_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_notify_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_imsi_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_imsi_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_lchan__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_lchan__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_lchan__mode_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_lchan__mode_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_bearer__cap_encoder(const MNCC__bearer__cap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_bearer__cap_decoder(OCTETSTRING& input_stream, MNCC__bearer__cap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_called_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_called_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_calling_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_calling_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_redirecting_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_redirecting_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_connected_encoder(const MNCC__number& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_connected_decoder(OCTETSTRING& input_stream, MNCC__number& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_cause_encoder(const MNCC__cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_cause_decoder(OCTETSTRING& input_stream, MNCC__cause& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_progress_encoder(const MNCC__progress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_progress_decoder(OCTETSTRING& input_stream, MNCC__progress& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_useruser_encoder(const MNCC__useruser& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_useruser_decoder(OCTETSTRING& input_stream, MNCC__useruser& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_facility_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_facility_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_cccap_encoder(const MNCC__cccap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_cccap_decoder(OCTETSTRING& input_stream, MNCC__cccap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_ssversion_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_ssversion_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_signal_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_signal_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_keypad_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_keypad_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_emergency_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_emergency_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Signal_encoder(const MNCC__PDU__Signal& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Signal_decoder(OCTETSTRING& input_stream, MNCC__PDU__Signal& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Data_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Data_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Data_data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Data_data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Data_encoder(const MNCC__PDU__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Data_decoder(OCTETSTRING& input_stream, MNCC__PDU__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_callref_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_callref_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_ip_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_ip_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_rtp__port_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_rtp__port_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_payload__msg__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_payload__msg__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Rtp_encoder(const MNCC__PDU__Rtp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Rtp_decoder(OCTETSTRING& input_stream, MNCC__PDU__Rtp& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_mncc__size_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_mncc__size_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_data__frame__size_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_data__frame__size_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_called__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_called__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_signal__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_signal__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_emergency__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_emergency__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_lchan__type__offset_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_lchan__type__offset_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU__Hello_encoder(const MNCC__PDU__Hello& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU__Hello_decoder(OCTETSTRING& input_stream, MNCC__PDU__Hello& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgUnion_signal_encoder(const MNCC__PDU__Signal& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgUnion_signal_decoder(OCTETSTRING& input_stream, MNCC__PDU__Signal& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgUnion_data_encoder(const MNCC__PDU__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgUnion_data_decoder(OCTETSTRING& input_stream, MNCC__PDU__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgUnion_rtp_encoder(const MNCC__PDU__Rtp& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgUnion_rtp_decoder(OCTETSTRING& input_stream, MNCC__PDU__Rtp& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgUnion_hello_encoder(const MNCC__PDU__Hello& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgUnion_hello_decoder(OCTETSTRING& input_stream, MNCC__PDU__Hello& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__MsgUnion_encoder(const MNCC__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__MsgUnion_decoder(OCTETSTRING& input_stream, MNCC__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU_msg__type_encoder(const MNCC__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU_msg__type_decoder(OCTETSTRING& input_stream, MNCC__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU_u_encoder(const MNCC__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU_u_decoder(OCTETSTRING& input_stream, MNCC__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void MNCC__PDU_encoder(const MNCC__PDU& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER MNCC__PDU_decoder(OCTETSTRING& input_stream, MNCC__PDU& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern OCTETSTRING enc__MNCC__PDU(const MNCC__PDU& pdu);
-extern MNCC__PDU dec__MNCC__PDU(const OCTETSTRING& stream);
-extern MNCC__PDU_template ts__MNCC__HELLO(const INTEGER& version);
-extern MNCC__PDU_template ts__MNCC__Sign(const MNCC__MsgType& msg__type, const MNCC__PDU__Signal& sign);
-extern MNCC__PDU_template ts__MNCC__SIMPLE(const MNCC__MsgType& msg__type, const INTEGER& call__id);
-extern MNCC__PDU_template tr__MNCC__SIMPLE(const MNCC__MsgType_template& msg__type, const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__SETUP__req(const INTEGER& call__id, const CHARSTRING& called, const CHARSTRING& calling, const CHARSTRING& imsi);
-extern MNCC__PDU_template tr__MNCC__SETUP__req(const INTEGER_template& call__id, const CHARSTRING_template& called, const CHARSTRING_template& calling, const CHARSTRING_template& imsi);
-extern MNCC__PDU_template ts__MNCC__SETUP__rsp(const INTEGER& call__id, const CHARSTRING& imsi, const MNCC__number_template& connected);
-extern MNCC__PDU_template tr__MNCC__SETUP__rsp(const INTEGER_template& call__id, const CHARSTRING_template& imsi, const MNCC__number_template& connected);
-extern MNCC__PDU_template tr__MNCC__SETUP__ind(const INTEGER_template& call__id, const MNCC__number_template& called, const MNCC__number_template& calling, const CHARSTRING_template& imsi);
-extern MNCC__PDU_template ts__MNCC__SETUP__ind(const INTEGER& call__id, const MNCC__number& called, const MNCC__number_template& calling, const CHARSTRING_template& imsi, const MNCC__bearer__cap_template& bcap);
-extern MNCC__PDU_template ts__MNCC__SETUP__CNF(const INTEGER& call__id, const MNCC__number_template& connected);
-extern MNCC__PDU_template tr__MNCC__SETUP__cnf(const INTEGER& call__id, const MNCC__number_template& connected);
-extern MNCC__PDU_template tr__MNCC__SETUP__COMPL__req(const INTEGER_template& call__id);
-extern MNCC__PDU_template tr__MNCC__SETUP__COMPL__ind(const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__SETUP__COMPL__ind(const INTEGER& call__id);
-extern MNCC__PDU_template tr__MNCC__REJ__req(const INTEGER_template& call__id, const MNCC__cause_template& cause);
-extern MNCC__PDU_template ts__MNCC__REJ__ind(const INTEGER& call__id, const MNCC__cause_template& cause);
-extern MNCC__PDU_template tr__MNCC__CALL__CONF__ind(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__cause_template& cause, const MNCC__cccap_template& cccap);
-extern MNCC__PDU_template ts__MNCC__CALL__CONF__ind(const INTEGER& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__cause_template& cause, const MNCC__cccap_template& cccap);
-extern MNCC__PDU_template ts__MNCC__CALL__PROC__req(const INTEGER& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__cccap_template& cccap);
-extern MNCC__PDU_template tr__MNCC__CALL__PROC__req(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__cccap_template& cccap);
-extern MNCC__PDU_template ts__MNCC__PROGRESS__req(const INTEGER& call__id, const MNCC__progress& prog, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__ALERT__req(const INTEGER& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__ALERT__req(const INTEGER_template& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__ALERT__ind(const INTEGER_template& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__ALERT__ind(const INTEGER& call__id, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__NOTIFY__req(const INTEGER& call__id, const INTEGER& notify);
-extern MNCC__PDU_template tr__MNCC__NOTIFY__ind(const INTEGER_template& call__id, const INTEGER_template& notify);
-extern MNCC__PDU_template tr__MNCC__DISC__ind(const INTEGER_template& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__DISC__ind(const INTEGER& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__DISC__req(const INTEGER& call__id, const MNCC__cause& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__DISC__req(const INTEGER_template& call__id, const MNCC__cause_template& cause, const MNCC__progress_template& prog, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__REL__ind(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__REL__ind(const INTEGER& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__REL__req(const INTEGER& call__id, const MNCC__cause& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__REL__req(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template tr__MNCC__REL__cnf(const INTEGER_template& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__REL__cnf(const INTEGER& call__id, const MNCC__cause_template& cause, const CHARSTRING_template& fac, const MNCC__useruser_template& uu);
-extern MNCC__PDU_template ts__MNCC__FACILITY__req(const INTEGER& call__id, const CHARSTRING& fac);
-extern MNCC__PDU_template tr__MNCC__FACILITY__ind(const INTEGER_template& call__id, const CHARSTRING_template& fac);
-extern MNCC__PDU_template tr__MNCC__START__DTMF__ind(const INTEGER_template& call__id, const CHARSTRING_template& keypad);
-extern MNCC__PDU_template ts__MNCC__START__DTMF__rsp(const INTEGER& call__id, const CHARSTRING& keypad);
-extern MNCC__PDU_template ts__MNCC__START__DTMF__rej(const INTEGER& call__id, const MNCC__cause& cause);
-extern MNCC__PDU_template tr__MNCC__STOP__DTMF__ind(const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__STOP__DTMF__rsp(const INTEGER& call__id);
-extern MNCC__PDU_template tr__MNCC__MODIFY__ind(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap);
-extern MNCC__PDU_template ts__MNCC__MODIFY__rsp(const INTEGER& call__id, const MNCC__bearer__cap& bcap);
-extern MNCC__PDU_template ts__MNCC__MODIFY__req(const INTEGER& call__id, const MNCC__bearer__cap& bcap);
-extern MNCC__PDU_template tr__MNCC__MODIFY__cnf(const INTEGER_template& call__id, const MNCC__bearer__cap_template& bcap);
-extern MNCC__PDU_template ts__MNCC__USERINFO__req(const INTEGER& call__id, const MNCC__useruser& uu, const INTEGER& more);
-extern MNCC__PDU_template tr__MNCC__USERINFO__ind(const INTEGER_template& call__id, const MNCC__useruser_template& uu, const INTEGER& more);
-extern MNCC__PDU_template tr__MNCC__HOLD__ind(const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__HOLD__cnf(const INTEGER& call__id);
-extern MNCC__PDU_template ts__MNCC__HOLD__rej(const INTEGER& call__id, const MNCC__cause& cause);
-extern MNCC__PDU_template tr__MNCC__RETRIEVE__ind(const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__RETRIEVE__cnf(const INTEGER& call__id);
-extern MNCC__PDU_template ts__MNCC__RETRIEVE__rej(const INTEGER& call__id, const MNCC__cause& cause);
-extern MNCC__PDU_template ts__MNCC__SIMPLE__RTP(const MNCC__MsgType& msg__type, const INTEGER& call__id);
-extern MNCC__PDU_template ts__MNCC__RTP__CREATE(const INTEGER& call__id);
-extern MNCC__PDU_template tr__MNCC__RTP__CREATE(const INTEGER_template& call__id);
-extern MNCC__PDU_template ts__MNCC__RTP__CONNECT(const INTEGER& call__id, const INTEGER& ip, const INTEGER& rtp__port, const INTEGER& pt);
-extern MNCC__PDU_template tr__MNCC__RTP__CONNECT(const INTEGER_template& call__id, const INTEGER_template& ip, const INTEGER_template& rtp__port, const INTEGER_template& pt);
-extern MNCC__PDU_template ts__MNCC__RTP__FREE(const INTEGER& call__id);
-extern INTEGER f__mncc__get__call__id(const MNCC__PDU& pdu);
-
-/* Global variable declarations */
-
-extern const TTCN_RAWdescriptor_t int__raw_;
-extern const XERdescriptor_t int__xer_;
-extern const TTCN_Typedescriptor_t int__descr_;
-extern UNIVERSAL_CHARSTRING int__default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__ra_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__ra_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__ra_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__sig__access_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__sig__access_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__sig__access_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__user__rate_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__user__rate_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__user__rate_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__parity_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__parity_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__parity_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__interm__rate_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__interm__rate_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__interm__rate_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__transp_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__transp_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__transp_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__bcap__modem__type_raw_;
-extern const TTCN_Typedescriptor_t GSM48__bcap__modem__type_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__bcap__modem__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__MsgType_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgType_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__MsgType_default_coding;
-extern const INTEGER& GSM__MAX__FACILITY;
-extern const INTEGER& GSM__MAX__SSVERSION;
-extern const INTEGER& GSM__MAX__USERUSER;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_rate__adaptation_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_rate__adaptation_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_rate__adaptation_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_sig__access_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_sig__access_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_sig__access_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_async_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap__data_async_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap__data_async_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_async_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_async_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap__data_nr__stop__bits_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_nr__stop__bits_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_nr__stop__bits_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_nr__data__bits_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap__data_nr__data__bits_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap__data_nr__data__bits_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_nr__data__bits_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_nr__data__bits_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_user__rate_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_user__rate_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_user__rate_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_parity_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_parity_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_parity_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_interm__rate_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_interm__rate_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_interm__rate_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_transp_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_transp_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_transp_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_modem__type_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_modem__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_modem__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap__data_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap__data_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap__data_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__speech__vers_raw_;
-extern const TTCN_Typedescriptor_t MNCC__speech__vers_descr_;
-extern const TTCN_RAWdescriptor_t MNCC__speech__vers_0_raw_;
-extern const XERdescriptor_t MNCC__speech__vers_0_xer_;
-extern const TTCN_OERdescriptor_t MNCC__speech__vers_0_oer_;
-extern const TTCN_Typedescriptor_t MNCC__speech__vers_0_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__speech__vers_0_default_coding;
-extern UNIVERSAL_CHARSTRING MNCC__speech__vers_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_transfer_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap_transfer_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap_transfer_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_transfer_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_transfer_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_mode_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap_mode_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap_mode_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_mode_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_mode_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_coding_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap_coding_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap_coding_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_coding_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_coding_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_radio_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap_radio_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap_radio_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_radio_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_radio_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_speech__ctm_raw_;
-extern const XERdescriptor_t MNCC__bearer__cap_speech__ctm_xer_;
-extern const TTCN_OERdescriptor_t MNCC__bearer__cap_speech__ctm_oer_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_speech__ctm_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_speech__ctm_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_speech__ver_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_speech__ver_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_speech__ver_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_descr_;
-extern const TTCN_RAWdescriptor_t MNCC__bearer__cap_data_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bearer__cap_data_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_data_default_coding;
-extern UNIVERSAL_CHARSTRING MNCC__bearer__cap_default_coding;
-extern const MNCC__bearer__cap_template& ts__MNCC__bcap__voice;
-extern const TTCN_RAWdescriptor_t GSM48__type__of__number_raw_;
-extern const TTCN_Typedescriptor_t GSM48__type__of__number_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__type__of__number_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_number__type_raw_;
-extern const TTCN_Typedescriptor_t MNCC__number_number__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_number__type_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__num__plan__ind_raw_;
-extern const TTCN_Typedescriptor_t GSM48__num__plan__ind_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__num__plan__ind_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_plan_raw_;
-extern const TTCN_Typedescriptor_t MNCC__number_plan_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_plan_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__present__ind_raw_;
-extern const TTCN_Typedescriptor_t GSM48__present__ind_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__present__ind_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_presence_raw_;
-extern const TTCN_Typedescriptor_t MNCC__number_presence_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_presence_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__screening__ind_raw_;
-extern const TTCN_Typedescriptor_t GSM48__screening__ind_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__screening__ind_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_screen_raw_;
-extern const TTCN_Typedescriptor_t MNCC__number_screen_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_screen_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_number_raw_;
-extern const XERdescriptor_t MNCC__number_number_xer_;
-extern const TTCN_Typedescriptor_t MNCC__number_number_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_number_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__number_raw_;
-extern const TTCN_Typedescriptor_t MNCC__number_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__number_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__cause__coding_raw_;
-extern const TTCN_Typedescriptor_t GSM48__cause__coding_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__cause__coding_default_coding;
-extern const TTCN_RAWdescriptor_t GSM48__cause__loc_raw_;
-extern const TTCN_Typedescriptor_t GSM48__cause__loc_descr_;
-extern UNIVERSAL_CHARSTRING GSM48__cause__loc_default_coding;
-extern const GSM48__type__of__number& ts__MNCC__number_ton_defval;
-extern const GSM48__num__plan__ind& ts__MNCC__number_npi_defval;
-extern const GSM48__present__ind& ts__MNCC__number_pres_defval;
-extern const GSM48__screening__ind& ts__MNCC__number_screen_defval;
-extern const GSM48__type__of__number_template& tr__MNCC__number_ton_defval;
-extern const GSM48__num__plan__ind_template& tr__MNCC__number_npi_defval;
-extern const GSM48__present__ind_template& tr__MNCC__number_pres_defval;
-extern const GSM48__screening__ind_template& tr__MNCC__number_screen_defval;
-extern const TTCN_RAWdescriptor_t MNCC__cause_location_raw_;
-extern const TTCN_Typedescriptor_t MNCC__cause_location_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_location_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_coding_raw_;
-extern const TTCN_Typedescriptor_t MNCC__cause_coding_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_coding_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_rec_raw_;
-extern const XERdescriptor_t MNCC__cause_rec_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cause_rec_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cause_rec_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_rec_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_rec__val_raw_;
-extern const XERdescriptor_t MNCC__cause_rec__val_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cause_rec__val_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cause_rec__val_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_rec__val_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_val_raw_;
-extern const XERdescriptor_t MNCC__cause_val_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cause_val_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cause_val_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_val_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_diag_raw_;
-extern const XERdescriptor_t MNCC__cause_diag_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cause_diag_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cause_diag_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_diag_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cause_raw_;
-extern const TTCN_Typedescriptor_t MNCC__cause_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cause_default_coding;
-extern const GSM48__cause__loc& ts__MNCC__cause_loc_defval;
-extern const GSM48__cause__coding& ts__MNCC__cause_coding_defval;
-extern const OCTETSTRING& ts__MNCC__cause_diag_defval;
-extern const TTCN_RAWdescriptor_t MNCC__useruser_proto_raw_;
-extern const XERdescriptor_t MNCC__useruser_proto_xer_;
-extern const TTCN_OERdescriptor_t MNCC__useruser_proto_oer_;
-extern const TTCN_Typedescriptor_t MNCC__useruser_proto_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__useruser_proto_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__useruser_info_raw_;
-extern const XERdescriptor_t MNCC__useruser_info_xer_;
-extern const TTCN_Typedescriptor_t MNCC__useruser_info_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__useruser_info_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__useruser_raw_;
-extern const TTCN_Typedescriptor_t MNCC__useruser_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__useruser_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__progress_coding_raw_;
-extern const XERdescriptor_t MNCC__progress_coding_xer_;
-extern const TTCN_OERdescriptor_t MNCC__progress_coding_oer_;
-extern const TTCN_Typedescriptor_t MNCC__progress_coding_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__progress_coding_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__progress_location_raw_;
-extern const XERdescriptor_t MNCC__progress_location_xer_;
-extern const TTCN_OERdescriptor_t MNCC__progress_location_oer_;
-extern const TTCN_Typedescriptor_t MNCC__progress_location_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__progress_location_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__progress_descr_raw_;
-extern const XERdescriptor_t MNCC__progress_descr_xer_;
-extern const TTCN_OERdescriptor_t MNCC__progress_descr_oer_;
-extern const TTCN_Typedescriptor_t MNCC__progress_descr_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__progress_descr_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__progress_raw_;
-extern const TTCN_Typedescriptor_t MNCC__progress_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__progress_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cccap_dtmf_raw_;
-extern const XERdescriptor_t MNCC__cccap_dtmf_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cccap_dtmf_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cccap_dtmf_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cccap_dtmf_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cccap_pcp_raw_;
-extern const XERdescriptor_t MNCC__cccap_pcp_xer_;
-extern const TTCN_OERdescriptor_t MNCC__cccap_pcp_oer_;
-extern const TTCN_Typedescriptor_t MNCC__cccap_pcp_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cccap_pcp_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__cccap_raw_;
-extern const TTCN_Typedescriptor_t MNCC__cccap_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__cccap_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__notify_raw_;
-extern const XERdescriptor_t MNCC__notify_xer_;
-extern const TTCN_OERdescriptor_t MNCC__notify_oer_;
-extern const TTCN_Typedescriptor_t MNCC__notify_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__notify_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__keypad_raw_;
-extern const XERdescriptor_t MNCC__keypad_xer_;
-extern const TTCN_Typedescriptor_t MNCC__keypad_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__keypad_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__bcap_raw_;
-extern const TTCN_Typedescriptor_t MNCC__bcap_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__bcap_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_callref_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_callref_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_callref_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_callref_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_callref_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_clir__sup_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_clir__sup_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_clir__sup_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_clir__sup_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_clir__sup_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_clir__inv_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_clir__inv_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_clir__inv_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_clir__inv_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_clir__inv_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_more_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_more_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_more_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_more_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_more_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_notify_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_notify_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_notify_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_notify_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_notify_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_imsi_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_imsi_xer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_imsi_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_imsi_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_lchan__type_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_lchan__type_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_lchan__type_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_lchan__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_lchan__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_lchan__mode_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_lchan__mode_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_lchan__mode_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_lchan__mode_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_lchan__mode_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_descr_;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_bearer__cap_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_bearer__cap_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_bearer__cap_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_called_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_called_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_called_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_calling_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_calling_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_calling_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_redirecting_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_redirecting_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_redirecting_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_connected_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_connected_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_connected_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_cause_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_cause_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_cause_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_progress_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_progress_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_progress_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_useruser_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_useruser_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_useruser_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_facility_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_facility_xer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_facility_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_facility_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_cccap_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_cccap_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_cccap_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_ssversion_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_ssversion_xer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_ssversion_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_ssversion_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_signal_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_signal_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_signal_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_signal_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_signal_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_keypad_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_keypad_xer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_keypad_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_keypad_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Signal_emergency_raw_;
-extern const XERdescriptor_t MNCC__PDU__Signal_emergency_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Signal_emergency_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Signal_emergency_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_emergency_default_coding;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Signal_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Data_callref_raw_;
-extern const XERdescriptor_t MNCC__PDU__Data_callref_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Data_callref_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Data_callref_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Data_callref_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Data_data_raw_;
-extern const XERdescriptor_t MNCC__PDU__Data_data_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Data_data_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Data_data_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Data_data_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Data_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Data_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Data_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_callref_raw_;
-extern const XERdescriptor_t MNCC__PDU__Rtp_callref_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Rtp_callref_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_callref_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_callref_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_ip_raw_;
-extern const XERdescriptor_t MNCC__PDU__Rtp_ip_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Rtp_ip_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_ip_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_ip_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_rtp__port_raw_;
-extern const XERdescriptor_t MNCC__PDU__Rtp_rtp__port_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Rtp_rtp__port_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_rtp__port_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_rtp__port_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_payload__type_raw_;
-extern const XERdescriptor_t MNCC__PDU__Rtp_payload__type_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Rtp_payload__type_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_payload__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_payload__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_payload__msg__type_raw_;
-extern const XERdescriptor_t MNCC__PDU__Rtp_payload__msg__type_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Rtp_payload__msg__type_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_payload__msg__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_payload__msg__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Rtp_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Rtp_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Rtp_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_version_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_version_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_version_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_version_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_version_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_mncc__size_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_mncc__size_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_mncc__size_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_mncc__size_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_mncc__size_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_data__frame__size_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_data__frame__size_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_data__frame__size_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_data__frame__size_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_data__frame__size_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_called__offset_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_called__offset_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_called__offset_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_called__offset_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_called__offset_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_signal__offset_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_signal__offset_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_signal__offset_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_signal__offset_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_signal__offset_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_emergency__offset_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_emergency__offset_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_emergency__offset_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_emergency__offset_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_emergency__offset_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_lchan__type__offset_raw_;
-extern const XERdescriptor_t MNCC__PDU__Hello_lchan__type__offset_xer_;
-extern const TTCN_OERdescriptor_t MNCC__PDU__Hello_lchan__type__offset_oer_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_lchan__type__offset_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_lchan__type__offset_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU__Hello_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU__Hello_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU__Hello_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__MsgUnion_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgUnion_descr_;
-extern const TTCN_RAWdescriptor_t MNCC__MsgUnion_signal_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgUnion_signal_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__MsgUnion_signal_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__MsgUnion_data_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgUnion_data_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__MsgUnion_data_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__MsgUnion_rtp_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgUnion_rtp_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__MsgUnion_rtp_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__MsgUnion_hello_raw_;
-extern const TTCN_Typedescriptor_t MNCC__MsgUnion_hello_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__MsgUnion_hello_default_coding;
-extern UNIVERSAL_CHARSTRING MNCC__MsgUnion_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU_msg__type_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU_msg__type_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU_msg__type_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU_u_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU_u_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU_u_default_coding;
-extern const TTCN_RAWdescriptor_t MNCC__PDU_raw_;
-extern const TTCN_Typedescriptor_t MNCC__PDU_descr_;
-extern UNIVERSAL_CHARSTRING MNCC__PDU_default_coding;
-extern const INTEGER& ts__MNCC__HELLO_version_defval;
-extern const CHARSTRING& ts__MNCC__SETUP__req_imsi_defval;
-extern const INTEGER_template& tr__MNCC__SETUP__req_call__id_defval;
-extern const CHARSTRING_template& tr__MNCC__SETUP__req_called_defval;
-extern const CHARSTRING_template& tr__MNCC__SETUP__req_calling_defval;
-extern const CHARSTRING_template& tr__MNCC__SETUP__req_imsi_defval;
-extern const CHARSTRING& ts__MNCC__SETUP__rsp_imsi_defval;
-extern const MNCC__number_template& ts__MNCC__SETUP__rsp_connected_defval;
-extern const CHARSTRING_template& tr__MNCC__SETUP__rsp_imsi_defval;
-extern const MNCC__number_template& tr__MNCC__SETUP__rsp_connected_defval;
-extern const INTEGER_template& tr__MNCC__SETUP__ind_call__id_defval;
-extern const MNCC__number_template& tr__MNCC__SETUP__ind_called_defval;
-extern const MNCC__number_template& tr__MNCC__SETUP__ind_calling_defval;
-extern const CHARSTRING_template& tr__MNCC__SETUP__ind_imsi_defval;
-extern const MNCC__number_template& ts__MNCC__SETUP__ind_calling_defval;
-extern const CHARSTRING_template& ts__MNCC__SETUP__ind_imsi_defval;
-extern const MNCC__bearer__cap_template& ts__MNCC__SETUP__ind_bcap_defval;
-extern const MNCC__number_template& ts__MNCC__SETUP__CNF_connected_defval;
-extern const MNCC__number_template& tr__MNCC__SETUP__cnf_connected_defval;
-extern const INTEGER_template& tr__MNCC__SETUP__COMPL__ind_call__id_defval;
-extern const MNCC__cause_template& tr__MNCC__REJ__req_cause_defval;
-extern const MNCC__cause_template& ts__MNCC__REJ__ind_cause_defval;
-extern const MNCC__bearer__cap_template& tr__MNCC__CALL__CONF__ind_bcap_defval;
-extern const MNCC__cause_template& tr__MNCC__CALL__CONF__ind_cause_defval;
-extern const MNCC__cccap_template& tr__MNCC__CALL__CONF__ind_cccap_defval;
-extern const MNCC__bearer__cap_template& ts__MNCC__CALL__CONF__ind_bcap_defval;
-extern const MNCC__cause_template& ts__MNCC__CALL__CONF__ind_cause_defval;
-extern const MNCC__cccap_template& ts__MNCC__CALL__CONF__ind_cccap_defval;
-extern const MNCC__bearer__cap_template& ts__MNCC__CALL__PROC__req_bcap_defval;
-extern const MNCC__progress_template& ts__MNCC__CALL__PROC__req_prog_defval;
-extern const CHARSTRING_template& ts__MNCC__CALL__PROC__req_fac_defval;
-extern const MNCC__cccap_template& ts__MNCC__CALL__PROC__req_cccap_defval;
-extern const MNCC__bearer__cap_template& tr__MNCC__CALL__PROC__req_bcap_defval;
-extern const MNCC__progress_template& tr__MNCC__CALL__PROC__req_prog_defval;
-extern const CHARSTRING_template& tr__MNCC__CALL__PROC__req_fac_defval;
-extern const MNCC__cccap_template& tr__MNCC__CALL__PROC__req_cccap_defval;
-extern const MNCC__useruser_template& ts__MNCC__PROGRESS__req_uu_defval;
-extern const MNCC__progress_template& ts__MNCC__ALERT__req_prog_defval;
-extern const CHARSTRING_template& ts__MNCC__ALERT__req_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__ALERT__req_uu_defval;
-extern const MNCC__progress_template& tr__MNCC__ALERT__req_prog_defval;
-extern const CHARSTRING_template& tr__MNCC__ALERT__req_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__ALERT__req_uu_defval;
-extern const MNCC__progress_template& tr__MNCC__ALERT__ind_prog_defval;
-extern const CHARSTRING_template& tr__MNCC__ALERT__ind_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__ALERT__ind_uu_defval;
-extern const MNCC__progress_template& ts__MNCC__ALERT__ind_prog_defval;
-extern const CHARSTRING_template& ts__MNCC__ALERT__ind_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__ALERT__ind_uu_defval;
-extern const INTEGER_template& tr__MNCC__DISC__ind_call__id_defval;
-extern const MNCC__cause_template& tr__MNCC__DISC__ind_cause_defval;
-extern const MNCC__progress_template& tr__MNCC__DISC__ind_prog_defval;
-extern const CHARSTRING_template& tr__MNCC__DISC__ind_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__DISC__ind_uu_defval;
-extern const MNCC__progress_template& ts__MNCC__DISC__ind_prog_defval;
-extern const CHARSTRING_template& ts__MNCC__DISC__ind_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__DISC__ind_uu_defval;
-extern const MNCC__progress_template& ts__MNCC__DISC__req_prog_defval;
-extern const CHARSTRING_template& ts__MNCC__DISC__req_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__DISC__req_uu_defval;
-extern const MNCC__cause_template& tr__MNCC__DISC__req_cause_defval;
-extern const MNCC__progress_template& tr__MNCC__DISC__req_prog_defval;
-extern const CHARSTRING_template& tr__MNCC__DISC__req_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__DISC__req_uu_defval;
-extern const INTEGER_template& tr__MNCC__REL__ind_call__id_defval;
-extern const MNCC__cause_template& tr__MNCC__REL__ind_cause_defval;
-extern const CHARSTRING_template& tr__MNCC__REL__ind_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__REL__ind_uu_defval;
-extern const CHARSTRING_template& ts__MNCC__REL__ind_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__REL__ind_uu_defval;
-extern const CHARSTRING_template& ts__MNCC__REL__req_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__REL__req_uu_defval;
-extern const MNCC__cause_template& tr__MNCC__REL__req_cause_defval;
-extern const CHARSTRING_template& tr__MNCC__REL__req_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__REL__req_uu_defval;
-extern const INTEGER_template& tr__MNCC__REL__cnf_call__id_defval;
-extern const MNCC__cause_template& tr__MNCC__REL__cnf_cause_defval;
-extern const CHARSTRING_template& tr__MNCC__REL__cnf_fac_defval;
-extern const MNCC__useruser_template& tr__MNCC__REL__cnf_uu_defval;
-extern const CHARSTRING_template& ts__MNCC__REL__cnf_fac_defval;
-extern const MNCC__useruser_template& ts__MNCC__REL__cnf_uu_defval;
-extern const INTEGER_template& tr__MNCC__FACILITY__ind_call__id_defval;
-extern const CHARSTRING_template& tr__MNCC__FACILITY__ind_fac_defval;
-extern const INTEGER_template& tr__MNCC__START__DTMF__ind_call__id_defval;
-extern const CHARSTRING_template& tr__MNCC__START__DTMF__ind_keypad_defval;
-extern const INTEGER_template& tr__MNCC__STOP__DTMF__ind_call__id_defval;
-extern const INTEGER_template& tr__MNCC__MODIFY__ind_call__id_defval;
-extern const MNCC__bearer__cap_template& tr__MNCC__MODIFY__ind_bcap_defval;
-extern const INTEGER_template& tr__MNCC__MODIFY__cnf_call__id_defval;
-extern const MNCC__bearer__cap_template& tr__MNCC__MODIFY__cnf_bcap_defval;
-extern const INTEGER_template& tr__MNCC__USERINFO__ind_call__id_defval;
-extern const MNCC__useruser_template& tr__MNCC__USERINFO__ind_uu_defval;
-extern const INTEGER_template& tr__MNCC__HOLD__ind_call__id_defval;
-extern const INTEGER_template& tr__MNCC__RETRIEVE__ind_call__id_defval;
-extern const INTEGER_template& tr__MNCC__RTP__CREATE_call__id_defval;
-extern const INTEGER_template& tr__MNCC__RTP__CONNECT_ip_defval;
-extern const INTEGER_template& tr__MNCC__RTP__CONNECT_rtp__port_defval;
-extern const INTEGER_template& tr__MNCC__RTP__CONNECT_pt_defval;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-#endif
diff --git a/titan/MNCC_Types.ttcn b/titan/MNCC_Types.ttcn
new file mode 100644
index 0000000..f5028d2
--- /dev/null
+++ b/titan/MNCC_Types.ttcn
@@ -0,0 +1,1939 @@
+module MNCC_Types {
+
+import from Osmocom_Types all;
+
+/* for architectures where 'int' is 32bit like x86_64 */
+type integer int with { variant "FIELDLENGTH(32)" };
+
+
+/* GSM 04.08 Bearer Capability: Rate Adaption */
+type enumerated GSM48_bcap_ra {
+ GSM48_BCAP_RA_NONE (0),
+ GSM48_BCAP_RA_V110_X30 (1),
+ GSM48_BCAP_RA_X31 (2),
+ GSM48_BCAP_RA_OTHER (3)
+};
+
+/* GSM 04.08 Bearer Capability: Signalling access protocol */
+type enumerated GSM48_bcap_sig_access {
+ GSM48_BCAP_SA_NONE (0),
+ GSM48_BCAP_SA_I440_I450 (1),
+ GSM48_BCAP_SA_X21 (2),
+ GSM48_BCAP_SA_X28_DP_IN (3),
+ GSM48_BCAP_SA_X28_DP_UN (4),
+ GSM48_BCAP_SA_X28_NDP (5),
+ GSM48_BCAP_SA_X32 (6)
+};
+
+/* GSM 04.08 Bearer Capability: User Rate */
+type enumerated GSM48_bcap_user_rate {
+ GSM48_BCAP_UR_NONE (0),
+ GSM48_BCAP_UR_300 (1),
+ GSM48_BCAP_UR_1200 (2),
+ GSM48_BCAP_UR_2400 (3),
+ GSM48_BCAP_UR_4800 (4),
+ GSM48_BCAP_UR_9600 (5),
+ GSM48_BCAP_UR_12000 (6),
+ GSM48_BCAP_UR_1200_75 (7)
+};
+
+/* GSM 04.08 Bearer Capability: Parity */
+type enumerated GSM48_bcap_parity {
+ GSM48_BCAP_PAR_ODD (0),
+ GSM48_BCAP_PAR_EVEN (2),
+ GSM48_BCAP_PAR_NONE (3),
+ GSM48_BCAP_PAR_ZERO (4),
+ GSM48_BCAP_PAR_ONE (5)
+};
+
+/* GSM 04.08 Bearer Capability: Intermediate Rate */
+type enumerated GSM48_bcap_interm_rate {
+ GSM48_BCAP_IR_NONE (0),
+ GSM48_BCAP_IR_8k (2),
+ GSM48_BCAP_IR_16k (3)
+};
+
+/* GSM 04.08 Bearer Capability: Transparency */
+type enumerated GSM48_bcap_transp {
+ GSM48_BCAP_TR_TRANSP (0),
+ GSM48_BCAP_TR_RLP (1),
+ GSM48_BCAP_TR_TR_PREF (2),
+ GSM48_BCAP_TR_RLP_PREF (3)
+};
+
+/* GSM 04.08 Bearer Capability: Modem Type */
+type enumerated GSM48_bcap_modem_type {
+ GSM48_BCAP_MT_NONE (0),
+ GSM48_BCAP_MT_V21 (1),
+ GSM48_BCAP_MT_V22 (2),
+ GSM48_BCAP_MT_V22bis (3),
+ GSM48_BCAP_MT_V23 (4),
+ GSM48_BCAP_MT_V26ter (5),
+ GSM48_BCAP_MT_V32 (6),
+ GSM48_BCAP_MT_UNDEF (7),
+ GSM48_BCAP_MT_AUTO_1 (8)
+};
+
+type enumerated MNCC_MsgType {
+ MNCC_SETUP_REQ ('0101'O),
+ MNCC_SETUP_IND ('0102'O),
+ MNCC_SETUP_RSP ('0103'O),
+ MNCC_SETUP_CNF ('0104'O),
+ MNCC_SETUP_COMPL_REQ ('0105'O),
+ MNCC_SETUP_COMPL_IND ('0106'O),
+ MNCC_CALL_CONF_IND ('0107'O),
+ MNCC_CALL_PROC_REQ ('0108'O),
+ MNCC_PROGRESS_REQ ('0109'O),
+ MNCC_ALERT_REQ ('010a'O),
+ MNCC_ALERT_IND ('010b'O),
+ MNCC_NOTIFY_REQ ('010c'O),
+ MNCC_NOTIFY_IND ('010d'O),
+ MNCC_DISC_REQ ('010e'O),
+ MNCC_DISC_IND ('010f'O),
+ MNCC_REL_REQ ('0110'O),
+ MNCC_REL_IND ('0111'O),
+ MNCC_REL_CNF ('0112'O),
+ MNCC_FACILITY_REQ ('0113'O),
+ MNCC_FACILITY_IND ('0114'O),
+ MNCC_START_DTMF_IND ('0115'O),
+ MNCC_START_DTMF_RSP ('0116'O),
+ MNCC_START_DTMF_REJ ('0117'O),
+ MNCC_STOP_DTMF_IND ('0118'O),
+ MNCC_STOP_DTMF_RSP ('0119'O),
+ MNCC_MODIFY_REQ ('011a'O),
+ MNCC_MODIFY_IND ('011b'O),
+ MNCC_MODIFY_RSP ('011c'O),
+ MNCC_MODIFY_CNF ('011d'O),
+ MNCC_MODIFY_REJ ('011e'O),
+ MNCC_HOLD_IND ('011f'O),
+ MNCC_HOLD_CNF ('0120'O),
+ MNCC_HOLD_REJ ('0121'O),
+ MNCC_RETRIEVE_IND ('0122'O),
+ MNCC_RETRIEVE_CNF ('0123'O),
+ MNCC_RETRIEVE_REJ ('0124'O),
+ MNCC_USERINFO_REQ ('0125'O),
+ MNCC_USERINFO_IND ('0126'O),
+ MNCC_REJ_REQ ('0127'O),
+ MNCC_REJ_IND ('0128'O),
+ MNCC_PROGRESS_IND ('0129'O),
+ MNCC_CALL_PROC_IND ('012a'O),
+ MNCC_CALL_CONF_REQ ('012b'O),
+ MNCC_START_DTMF_REQ ('012c'O),
+ MNCC_STOP_DTMF_REQ ('012d'O),
+ MNCC_HOLD_REQ ('012e'O),
+ MNCC_RETRIEVE_REQ ('012f'O),
+
+ MNCC_BRIDGE ('0200'O),
+ MNCC_FRAME_RECV ('0201'O),
+ MNCC_FRAME_DROP ('0202'O),
+ MNCC_LCHAN_MODIFY ('0203'O),
+ MNCC_RTP_CREATE ('0204'O),
+ MNCC_RTP_CONNECT ('0205'O),
+ MNCC_RTP_FREE ('0206'O),
+
+ GSM_TCHF_FRAME ('0300'O),
+ GSM_TCHF_FRAME_EFR ('0301'O),
+ GSM_TCHH_FRAME ('0302'O),
+ GSM_TCH_FRAME_AMR ('0303'O),
+ GSM_BAD_FRAME ('03ff'O),
+
+ MNCC_SOCKET_HELLO ('0400'O)
+};
+
+const integer GSM_MAX_FACILITY := 128;
+const integer GSM_MAX_SSVERSION := 128;
+const integer GSM_MAX_USERUSER := 128;
+
+type record MNCC_bearer_cap_data {
+ GSM48_bcap_ra rate_adaptation,
+ GSM48_bcap_sig_access sig_access,
+ int async,
+ int nr_stop_bits,
+ int nr_data_bits,
+ GSM48_bcap_user_rate user_rate,
+ GSM48_bcap_parity parity,
+ GSM48_bcap_interm_rate interm_rate,
+ GSM48_bcap_transp transp,
+ GSM48_bcap_modem_type modem_type
+};
+
+type record length(0..8) of int MNCC_speech_vers;
+
+/* Expanded fields from GSM TS 04.08, Table 10.5.102 */
+type record MNCC_bearer_cap {
+ int transfer,
+ int mode,
+ int coding,
+ int radio,
+ int speech_ctm,
+ MNCC_speech_vers speech_ver,
+ MNCC_bearer_cap_data data optional
+};
+
+template MNCC_bearer_cap ts_MNCC_bcap_voice := {
+ transfer := 0, /* speech */
+ mode := 0, /* circuit */
+ coding := 0, /* GSM standard */
+ radio := 3, /* FR/HR, FR preferred */
+ speech_ctm := 0, /* not supported */
+ speech_ver := { 0, 2, 4, 1, 5, -1 },
+ data := omit
+};
+
+type record MNCC_number {
+ GSM48_type_of_number number_type,
+ GSM48_num_plan_ind plan,
+ GSM48_present_ind presence,
+ GSM48_screening_ind screen,
+ charstring number
+};
+
+/* 24.008 10.5.118 */
+type enumerated GSM48_num_plan_ind {
+ GSM48_NUMPLAN_UNKNOWN (0),
+ GSM48_NUMPLAN_E164 (1),
+ GSM48_NUMPLAN_X121 (3),
+ GSM48_NUMPLAN_F69 (4),
+ GSM48_NUMPLAN_NATIONAL (8),
+ GSM48_NUMPLAN_PRIVATE (9),
+ GSM48_NUMPLAN_CTS (11),
+ GSM48_NUMPLAN_RESERVED (15)
+};
+
+/* 04.08 10.5.118 */
+type enumerated GSM48_type_of_number {
+ GSM48_TON_UNKNOWN (0),
+ GSM48_TON_INTERNATIONAL (1),
+ GSM48_TON_NATIONAL (2),
+ GSM48_TON_NETWORK_SPECIFIC (3),
+ GSM48_TON_SHORT_CODE (4)
+};
+
+/* 04.08 10.5.120 */
+type enumerated GSM48_present_ind {
+ GSM48_PRES_IND_ALLOWED (0),
+ GSM48_PRES_IND_RESTRICTED (1),
+ GSM48_PRES_IND_NUM_NOT_AVAIL (2),
+ GSM48_PRES_IND_RESERVED (3)
+};
+
+type enumerated GSM48_screening_ind {
+ GSM48_SCR_IND_NOT_SCREENED (0),
+ GSM48_SCR_IND_VERIF_PASSED (1),
+ GSM48_SCR_IND_VERIF_FAILED (2),
+ GSM48_SCR_IND_NETW_PROVIDED (3)
+};
+
+/* 24.008 Table 10.5.122 */
+type enumerated GSM48_cause_coding {
+ GSM48_CAUSE_CS_Q931 ('00'B),
+ GSM48_CAUSE_CS_RSVD ('01'B),
+ GSM48_CAUSE_CS_NATIONAL ('10'B),
+ GSM48_CAUSE_CS_GSM ('11'B)
+}
+
+type enumerated GSM48_cause_loc {
+ GSM48_CAUSE_LOC_USER ('0000'B),
+ GSM48_CAUSE_LOC_PRN_S_LU ('0001'B),
+ GSM48_CAUSE_LOC_PUN_S_LU ('0010'B),
+ GSM48_CAUSE_LOC_TRANS_NET ('0011'B),
+ GSM48_CAUSE_LOC_PUN_S_RU ('0100'B),
+ GSM48_CAUSE_LOC_PRN_S_RU ('0101'B),
+ GSM48_CAUSE_LOC_INN_NET ('0111'B),
+ GSM48_CAUSE_LOC_NET_BEYOND ('1010'B)
+}
+
+
+
+template (value) MNCC_number ts_MNCC_number(charstring number,
+ GSM48_type_of_number ton := GSM48_TON_INTERNATIONAL,
+ GSM48_num_plan_ind npi := GSM48_NUMPLAN_E164,
+ GSM48_present_ind pres := GSM48_PRES_IND_ALLOWED,
+ GSM48_screening_ind screen := GSM48_SCR_IND_NOT_SCREENED) := {
+ number_type := ton,
+ plan := npi,
+ presence := pres,
+ screen := screen,
+ number := number
+}
+
+template MNCC_number tr_MNCC_number(template charstring number,
+ template GSM48_type_of_number ton := ?,
+ template GSM48_num_plan_ind npi := ?,
+ template GSM48_present_ind pres := ?,
+ template GSM48_screening_ind screen := ?) := {
+ number_type := ton,
+ plan := npi,
+ presence := pres,
+ screen := screen,
+ number := number
+}
+
+type record MNCC_cause {
+ GSM48_cause_loc location,
+ GSM48_cause_coding coding,
+ int rec,
+ int rec_val,
+ int val,
+ octetstring diag
+} with {
+ variant (location) "FIELDLENGTH(32)";
+ variant (coding) "FIELDLENGTH(32)";
+}
+
+template (value) MNCC_cause ts_MNCC_cause(int val,
+ GSM48_cause_loc loc := GSM48_CAUSE_LOC_PUN_S_LU,
+ GSM48_cause_coding coding := GSM48_CAUSE_CS_GSM,
+ octetstring diag := ''O) := {
+ location := loc,
+ coding := coding,
+ rec := 0,
+ rec_val := 0,
+ val := val,
+ diag := diag
+}
+
+type record MNCC_useruser {
+ int proto,
+ charstring info
+};
+
+type record MNCC_progress {
+ int coding,
+ int location,
+ int descr
+};
+
+type record MNCC_cccap {
+ int dtmf,
+ int pcp
+};
+
+type int MNCC_notify (0..127);
+type charstring MNCC_keypad length (1);
+
+type enumerated MNCC_bcap {
+ GSM_MNCC_BCAP_SPEECH (0),
+ GSM_MNCC_BCAP_UNR_DIG (1),
+ GSM_MNCC_BCAP_AUDIO (2),
+ GSM_MNCC_BCAP_FAX_G3 (3),
+ GSM_MNCC_BCAP_OTHER_ITC (4),
+ GSM_MNCC_BCAP_RESERVED (7)
+};
+
+
+type record MNCC_PDU_Signal {
+ uint32_t callref,
+
+ MNCC_bearer_cap bearer_cap optional,
+ MNCC_number called optional,
+ MNCC_number calling optional,
+ MNCC_number redirecting optional,
+ MNCC_number connected optional,
+ MNCC_cause cause optional,
+ MNCC_progress progress optional,
+ MNCC_useruser useruser optional,
+ charstring facility optional,
+ MNCC_cccap cccap optional,
+ charstring ssversion optional,
+
+ int clir_sup,
+ int clir_inv,
+ int signal optional,
+
+ MNCC_keypad keypad optional,
+ int more,
+ MNCC_notify notify,
+ int emergency optional,
+ charstring imsi,
+
+ uint8_t lchan_type, /* empty in OSmoMSC */
+ uint8_t lchan_mode /* empty in OsmoMSC */
+};
+
+
+type record MNCC_PDU_Data {
+ uint32_t callref,
+ octetstring data
+};
+
+type record MNCC_PDU_Rtp {
+ uint32_t callref,
+ uint32_t ip,
+ uint16_t rtp_port,
+ uint32_t payload_type,
+ uint32_t payload_msg_type
+};
+
+type record MNCC_PDU_Hello {
+ uint32_t version,
+ uint32_t mncc_size,
+ uint32_t data_frame_size,
+ uint32_t called_offset,
+ uint32_t signal_offset,
+ uint32_t emergency_offset,
+ uint32_t lchan_type_offset
+};
+
+
+type union MNCC_MsgUnion {
+ MNCC_PDU_Signal signal,
+ MNCC_PDU_Data data,
+ MNCC_PDU_Rtp rtp,
+ MNCC_PDU_Hello hello
+};
+
+
+type record MNCC_PDU {
+ MNCC_MsgType msg_type,
+ MNCC_MsgUnion u
+} with { variant (u) "CROSSTAG(
+ hello, msg_type = MNCC_SOCKET_HELLO;
+ rtp, { msg_type = MNCC_RTP_CREATE,
+ msg_type = MNCC_RTP_CONNECT,
+ msg_type = MNCC_RTP_FREE };
+ data, { msg_type = GSM_TCHF_FRAME,
+ msg_type = GSM_TCHF_FRAME_EFR,
+ msg_type = GSM_TCHH_FRAME,
+ msg_type = GSM_TCH_FRAME_AMR,
+ msg_type = GSM_BAD_FRAME };
+ signal, OTHERWISE
+ )"
+};
+
+external function enc_MNCC_PDU(in MNCC_PDU pdu) return octetstring;
+
+external function dec_MNCC_PDU(in octetstring stream) return MNCC_PDU;
+
+template (value) MNCC_PDU ts_MNCC_HELLO(uint32_t version := 5) := {
+ msg_type := MNCC_SOCKET_HELLO,
+ u := {
+ hello := {
+ version := version,
+ mncc_size := 836,
+ data_frame_size := 8,
+ called_offset := 104,
+ signal_offset := 796,
+ emergency_offset := 812,
+ lchan_type_offset := 0
+ }
+ }
+}
+
+template MNCC_PDU ts_MNCC_Sign(MNCC_MsgType msg_type, MNCC_PDU_Signal sign) := {
+ msg_type := msg_type,
+ u := {
+ signal := sign
+ }
+}
+
+template MNCC_PDU ts_MNCC_SIMPLE(MNCC_MsgType msg_type, uint32_t call_id) := {
+ msg_type := msg_type,
+ u := {
+ signal := {
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+template MNCC_PDU tr_MNCC_SIMPLE(template MNCC_MsgType msg_type, template uint32_t call_id) := {
+ msg_type := msg_type,
+ u := {
+ signal := {
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+
+
+/* MT: MSC <- MNCC: SETUP.req from ext. MNCC handler to MSC */
+template MNCC_PDU ts_MNCC_SETUP_req(uint32_t call_id, charstring called, charstring calling, charstring imsi := "") := {
+ msg_type := MNCC_SETUP_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.23.1 */
+ callref := call_id,
+ bearer_cap := ts_MNCC_bcap_voice, /* mandatory */
+ called := valueof(ts_MNCC_number(called)), /* optional */
+ calling := valueof(ts_MNCC_number(calling)), /* optional */
+ redirecting := omit, /* optional */
+ connected := omit,
+ cause := omit,
+ progress := omit, /* optional */
+ useruser := omit, /* optional */
+ facility := omit, /* optional */
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit, /* optional */
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := imsi,
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+};
+template MNCC_PDU tr_MNCC_SETUP_req(template uint32_t call_id := ?,
+ template charstring called := ?,
+ template charstring calling := *,
+ template charstring imsi := ?) := {
+ msg_type := MNCC_SETUP_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.23.1 */
+ callref := call_id,
+ bearer_cap := *, /* mandatory in CC */
+ called := tr_MNCC_number(called), /* optional */
+ calling := tr_MNCC_number(calling), /* optional */
+ redirecting := *, /* optional */
+ connected := omit,
+ cause := omit,
+ progress := *, /* optional */
+ useruser := *, /* optional */
+ facility := *, /* optional */
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := *, /* optional */
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := imsi,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+};
+
+
+/* MO: MSC <- MNCC: Respons to SETUP.ind */
+template MNCC_PDU ts_MNCC_SETUP_rsp(uint32_t call_id, charstring imsi := "",
+ template MNCC_number connected := omit) := {
+ msg_type := MNCC_SETUP_RSP,
+ u := {
+ signal := { /* See 24.008 9.3.5 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := connected,
+ cause := omit,
+ progress := omit,
+ useruser := omit, /* optional */
+ facility := omit, /* optional */
+ cccap := omit,
+ ssversion := omit, /* optional */
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := imsi,
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+};
+template MNCC_PDU tr_MNCC_SETUP_rsp(template uint32_t call_id,
+ template charstring imsi := ?,
+ template MNCC_number connected := *) := {
+ msg_type := MNCC_SETUP_RSP,
+ u := {
+ signal := { /* See 24.008 9.3.5 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := connected,
+ cause := omit,
+ progress := omit,
+ useruser := *, /* optional */
+ facility := *, /* optional */
+ cccap := omit,
+ ssversion := *, /* optional */
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := imsi,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+};
+
+
+/* MO: MSC -> MNCC: SETUP.ind from MSC to ext. MNCC handler */
+template MNCC_PDU tr_MNCC_SETUP_ind(template uint32_t call_id := ?, template MNCC_number called := ?,
+ template MNCC_number calling := *, template charstring imsi :=?) := {
+ msg_type := MNCC_SETUP_IND,
+ u := {
+ signal := { /* See 24.008 9.3.23.2 */
+ callref := call_id,
+ bearer_cap := ?, /* mandatory */
+ called := called, /* mandatory */
+ calling := calling, /* optional */
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := *, /* optional */
+ facility := *, /* optional */
+ cccap := *, /* optional */
+ ssversion := *, /* optional */
+ clir_sup := ?, /* optional */
+ clir_inv := ?, /* optional */
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := imsi,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+template (value) MNCC_PDU ts_MNCC_SETUP_ind(uint32_t call_id, MNCC_number called,
+ template (omit) MNCC_number calling := omit,
+ template (omit) charstring imsi := omit,
+ template (value) MNCC_bearer_cap bcap := ts_MNCC_bcap_voice) := {
+ msg_type := MNCC_SETUP_IND,
+ u := {
+ signal := { /* See 24.008 9.3.23.2 */
+ callref := call_id,
+ bearer_cap := valueof(bcap), /* mandatory */
+ called := called, /* mandatory */
+ calling := calling, /* optional */
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit, /* optional */
+ facility := omit, /* optional */
+ cccap := omit, /* optional */
+ ssversion := omit, /* optional */
+ clir_sup := 0, /* optional */
+ clir_inv := 0, /* optional */
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := imsi,
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* MO: MSC <- MNCC: SETUP.cnf; Response to SETUP.ind */
+template MNCC_PDU ts_MNCC_SETUP_CNF(uint32_t call_id, template MNCC_number connected := omit) := {
+ msg_type := MNCC_SETUP_CNF,
+ u := {
+ signal := { /* See 24.008 9.3.5 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := connected,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* MT: MSC -> MNCC: SETUP.cnf; Response to SETUP.req */
+template MNCC_PDU tr_MNCC_SETUP_cnf(uint32_t call_id, template MNCC_number connected := *) := {
+ msg_type := MNCC_SETUP_CNF,
+ u := {
+ signal := { /* See 24.008 9.3.5 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := connected,
+ cause := omit,
+ progress := *,
+ useruser := *,
+ facility := *,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* MT: MSC -> MNCC: SETUP_COMPL.req; request to send CONNECT ACK */
+template MNCC_PDU tr_MNCC_SETUP_COMPL_req(template uint32_t call_id) :=
+ tr_MNCC_SIMPLE(MNCC_SETUP_COMPL_REQ, call_id); /* See 24.008 9.3.6 */
+
+/* MT: MSC -> MNCC: SETUP_COMPL.ind; receipt of CONNECT ACK */
+template MNCC_PDU tr_MNCC_SETUP_COMPL_ind(template uint32_t call_id := ?) :=
+ tr_MNCC_SIMPLE(MNCC_SETUP_COMPL_IND, call_id); /* See 24.008 9.3.6 */
+template (value) MNCC_PDU ts_MNCC_SETUP_COMPL_ind(uint32_t call_id) :=
+ ts_MNCC_SIMPLE(MNCC_SETUP_COMPL_IND, call_id); /* See 24.008 9.3.6 */
+
+/* MT: MSC -> MNCC: REJ.req; reject MT call */
+template MNCC_PDU tr_MNCC_REJ_req(template uint32_t call_id, template MNCC_cause cause := *) := {
+ msg_type := MNCC_REJ_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.19 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := *,
+ facility := *,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* MO: MSC <- MNCC: REJ.ind; reject MO call */
+template MNCC_PDU ts_MNCC_REJ_ind(uint32_t call_id, template MNCC_cause cause := omit) := {
+ msg_type := MNCC_REJ_IND,
+ u := {
+ signal := { /* See 24.008 9.3.19 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* MT: MSC -> MNCC: CALL_CONF.req; send CALL CONFIRMED to MS */
+template MNCC_PDU tr_MNCC_CALL_CONF_ind(template uint32_t call_id, template MNCC_bearer_cap bcap := *,
+ template MNCC_cause cause := *,
+ template MNCC_cccap cccap := *) := {
+ msg_type := MNCC_CALL_CONF_IND,
+ u := {
+ signal := { /* See 24.008 9.3.2 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := cccap,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+template MNCC_PDU ts_MNCC_CALL_CONF_ind(uint32_t call_id,
+ template (omit) MNCC_bearer_cap bcap := omit,
+ template (omit) MNCC_cause cause := omit,
+ template (omit) MNCC_cccap cccap := omit) := {
+ msg_type := MNCC_CALL_CONF_IND,
+ u := {
+ signal := { /* See 24.008 9.3.2 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := cccap,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+
+/* MO: MSC <- MNCC: CALL_PROC.req; call establishment initiated in network */
+template MNCC_PDU ts_MNCC_CALL_PROC_req(uint32_t call_id, template MNCC_bearer_cap bcap := omit,
+ template MNCC_progress prog := omit,
+ template charstring fac := omit,
+ template MNCC_cccap cccap := omit) := {
+ msg_type := MNCC_CALL_PROC_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.2 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := omit,
+ facility := fac,
+ cccap := cccap,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+template MNCC_PDU tr_MNCC_CALL_PROC_req(template uint32_t call_id,
+ template MNCC_bearer_cap bcap := *,
+ template MNCC_progress prog := *,
+ template charstring fac := *,
+ template MNCC_cccap cccap := *) := {
+ msg_type := MNCC_CALL_PROC_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.2 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := omit,
+ facility := fac,
+ cccap := cccap,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+
+/* MSC <- MNCC: PROGRESS.req; PROGRESS message from ISDN */
+template MNCC_PDU ts_MNCC_PROGRESS_req(uint32_t call_id, MNCC_progress prog,
+ template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_PROGRESS_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.17 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := uu,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* MO: MSC <- MNCC: ALERT.req; indicate that user alerting has been initiated */
+template MNCC_PDU ts_MNCC_ALERT_req(uint32_t call_id, template MNCC_progress prog := omit,
+ template charstring fac := omit,
+ template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_ALERT_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.1 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+template MNCC_PDU tr_MNCC_ALERT_req(template uint32_t call_id,
+ template MNCC_progress prog := *,
+ template charstring fac := *,
+ template MNCC_useruser uu := *) := {
+ msg_type := MNCC_ALERT_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.1 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+
+
+/* MT: MSC -> MNCC: ALERRT.ind; indicates that mobile user alerting has been initiated */
+template MNCC_PDU tr_MNCC_ALERT_ind(template uint32_t call_id, template MNCC_progress prog := omit,
+ template charstring fac := omit,
+ template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_ALERT_IND,
+ u := {
+ signal := { /* See 24.008 9.3.1 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+template (value) MNCC_PDU ts_MNCC_ALERT_ind(uint32_t call_id,
+ template (omit) MNCC_progress prog := omit,
+ template (omit) charstring fac := omit,
+ template (omit) MNCC_useruser uu := omit) := {
+ msg_type := MNCC_ALERT_IND,
+ u := {
+ signal := { /* See 24.008 9.3.1 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+
+/* : MSC <- MNCC: NOTIFY.req; request to send information pertaining to a call (such as user suspended) */
+template MNCC_PDU ts_MNCC_NOTIFY_req(uint32_t call_id, MNCC_notify notify) := {
+ msg_type := MNCC_NOTIFY_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.16 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := notify,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: NOTIFY.ind; indication to the mobile user */
+template MNCC_PDU tr_MNCC_NOTIFY_ind(template uint32_t call_id, template MNCC_notify notify) := {
+ msg_type := MNCC_NOTIFY_IND,
+ u := {
+ signal := { /* See 24.008 9.3.16 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := notify,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* : MSC -> MNCC: DISC.ind; mobile user requests disconnect */
+template MNCC_PDU tr_MNCC_DISC_ind(template uint32_t call_id := ?, template MNCC_cause cause := ?,
+ template MNCC_progress prog := *,
+ template charstring fac := *,
+ template MNCC_useruser uu := *) := {
+ msg_type := MNCC_DISC_IND,
+ u := {
+ signal := { /* See 24.008 9.3.7 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+template (value) MNCC_PDU ts_MNCC_DISC_ind(uint32_t call_id, template (value) MNCC_cause cause,
+ template (omit) MNCC_progress prog := omit,
+ template (omit) charstring fac := omit,
+ template (omit) MNCC_useruser uu := omit) := {
+ msg_type := MNCC_DISC_IND,
+ u := {
+ signal := { /* See 24.008 9.3.7 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC <- MNCC: DISC.req; indicate disconnect to mobile user */
+template MNCC_PDU ts_MNCC_DISC_req(uint32_t call_id, MNCC_cause cause,
+ template MNCC_progress prog := omit,
+ template charstring fac := omit,
+ template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_DISC_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.7 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+template MNCC_PDU tr_MNCC_DISC_req(template uint32_t call_id,
+ template MNCC_cause cause := *,
+ template MNCC_progress prog := omit,
+ template charstring fac := omit,
+ template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_DISC_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.7 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := prog,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+
+/* : MSC -> MNCC: REL.ind; mobile user informs network that user wants to release call + MM */
+template MNCC_PDU tr_MNCC_REL_ind(template uint32_t call_id := ?, template MNCC_cause cause := ?,
+ template charstring fac := *, template MNCC_useruser uu := *) := {
+ msg_type := MNCC_REL_IND,
+ u := {
+ signal := { /* See 24.008 9.3.18 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+template (value) MNCC_PDU ts_MNCC_REL_ind(uint32_t call_id,
+ template (value) MNCC_cause cause,
+ template (omit) charstring fac := omit,
+ template (omit) MNCC_useruser uu := omit) := {
+ msg_type := MNCC_REL_IND,
+ u := {
+ signal := { /* See 24.008 9.3.18 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC <- MNCC: REL.req; indicate to mobile user tat network intents to release MM */
+template MNCC_PDU ts_MNCC_REL_req(uint32_t call_id, MNCC_cause cause,
+ template charstring fac := omit, template MNCC_useruser uu := omit) := {
+ msg_type := MNCC_REL_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.18 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+template MNCC_PDU tr_MNCC_REL_req(template uint32_t call_id, template MNCC_cause cause := *,
+ template charstring fac := *, template MNCC_useruser uu := *) := {
+ msg_type := MNCC_REL_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.18 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := *,
+ calling := *,
+ redirecting := *,
+ connected := *,
+ cause := cause,
+ progress := omit,
+ useruser := uu,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := ?,
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+
+/* : MSC -> MNCC: REL.cnf; confirm REL_req */
+template MNCC_PDU tr_MNCC_REL_cnf(template uint32_t call_id := ?, template MNCC_cause cause := ?,
+ template charstring fac := *, template MNCC_useruser uu := *)
+modifies tr_MNCC_REL_ind := {
+ msg_type := MNCC_REL_CNF
+};
+template (value) MNCC_PDU ts_MNCC_REL_cnf(uint32_t call_id,
+ template (value) MNCC_cause cause,
+ template (omit) charstring fac := omit,
+ template (omit) MNCC_useruser uu := omit)
+modifies ts_MNCC_REL_ind := {
+ msg_type := MNCC_REL_CNF
+};
+
+
+/* : MSC <- MNCC: FACILITY.req; request transmission of facility */
+template MNCC_PDU ts_MNCC_FACILITY_req(uint32_t call_id, charstring fac) := {
+ msg_type := MNCC_FACILITY_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.9 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: FACILITY.req; indicate reception of facility */
+template MNCC_PDU tr_MNCC_FACILITY_ind(template uint32_t call_id := ?, template charstring fac := ?) := {
+ msg_type := MNCC_FACILITY_IND,
+ u := {
+ signal := { /* See 24.008 9.3.9 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := fac,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* : MSC -> MNCC: START_DTMF.ind; MS has */
+template MNCC_PDU tr_MNCC_START_DTMF_ind(template uint32_t call_id := ?, template MNCC_keypad keypad := ?) := {
+ msg_type := MNCC_START_DTMF_IND,
+ u := {
+ signal := { /* See 24.008 9.3.24 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := keypad,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* : MSC <- MNCC: START_DTMF.rsp; Acknowledge start of DTMF */
+template MNCC_PDU ts_MNCC_START_DTMF_rsp(uint32_t call_id, MNCC_keypad keypad) := {
+ msg_type := MNCC_START_DTMF_RSP,
+ u := {
+ signal := { /* See 24.008 9.3.25 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := keypad,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC <- MNCC: START_DTMF.rsp; Acknowledge start of DTMF */
+template MNCC_PDU ts_MNCC_START_DTMF_rej(uint32_t call_id, MNCC_cause cause) := {
+ msg_type := MNCC_START_DTMF_REJ,
+ u := {
+ signal := { /* See 24.008 9.3.26 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: STOP_DTMF.ind */
+template MNCC_PDU tr_MNCC_STOP_DTMF_ind(template uint32_t call_id := ?) :=
+ tr_MNCC_SIMPLE(MNCC_STOP_DTMF_IND, call_id); /* See 24.008 9.3.29 */
+
+/* : MSC <- MNCC: STOP_DTMF.rsp; Acknowledge stop of DTMF */
+template MNCC_PDU ts_MNCC_STOP_DTMF_rsp(uint32_t call_id) :=
+ ts_MNCC_SIMPLE(MNCC_STOP_DTMF_RSP, call_id); /* See 24.008 9.3.30 */
+
+/* : MSC -> MNCC: MODIFY.ind; request to start MO in-call modification */
+template MNCC_PDU tr_MNCC_MODIFY_ind(template uint32_t call_id := ?, template MNCC_bearer_cap bcap := ?) := {
+ msg_type := MNCC_MODIFY_IND,
+ u := {
+ signal := { /* See 24.008 9.3.14 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* : MSC <- MNCC: MODIFY.rsp; tespond to MO in-call modification */
+template MNCC_PDU ts_MNCC_MODIFY_rsp(uint32_t call_id, MNCC_bearer_cap bcap) := {
+ msg_type := MNCC_MODIFY_RSP,
+ u := {
+ signal := { /* See 24.008 9.3.14 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC <- MNCC: MODIFY.req; request to start MT in-call modification */
+template MNCC_PDU ts_MNCC_MODIFY_req(uint32_t call_id, MNCC_bearer_cap bcap) := {
+ msg_type := MNCC_MODIFY_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.14 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: MODIFY.cnf; MS has responded to MT in-call modification */
+template MNCC_PDU tr_MNCC_MODIFY_cnf(template uint32_t call_id := ?,
+ template MNCC_bearer_cap bcap := ?) := {
+ msg_type := MNCC_MODIFY_CNF,
+ u := {
+ signal := { /* See 24.008 9.3.14 */
+ callref := call_id,
+ bearer_cap := bcap,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := *,
+ imsi := ?,
+ lchan_type := ?,
+ lchan_mode := ?
+ }
+ }
+}
+
+/* : MSC <- MNCC: Request transmission of USERINFO to MS */
+template MNCC_PDU ts_MNCC_USERINFO_req(uint32_t call_id, MNCC_useruser uu, integer more) := {
+ msg_type := MNCC_USERINFO_REQ,
+ u := {
+ signal := { /* See 24.008 9.3.31 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := uu,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := more,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: Indicate reception of USERINFO from MS */
+template MNCC_PDU tr_MNCC_USERINFO_ind(template uint32_t call_id := ?, template MNCC_useruser uu := ?,
+ integer more) := {
+ msg_type := MNCC_USERINFO_IND,
+ u := {
+ signal := { /* See 24.008 9.3.31 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := omit,
+ progress := omit,
+ useruser := uu,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := more,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: HOLD.ind; MS requests hold of call */
+template MNCC_PDU tr_MNCC_HOLD_ind(template uint32_t call_id := ?) :=
+ tr_MNCC_SIMPLE(MNCC_HOLD_IND, call_id); /* See 24.008 9.3.10 */
+
+/* : MSC <- MNCC: HOLD.cnf; network confirms hold of call */
+template MNCC_PDU ts_MNCC_HOLD_cnf(uint32_t call_id) :=
+ ts_MNCC_SIMPLE(MNCC_HOLD_CNF, call_id); /* See 24.008 9.3.11 */
+
+/* : MSC <- MNCC: HOLD.rej; network rejects hold of call */
+template MNCC_PDU ts_MNCC_HOLD_rej(uint32_t call_id, MNCC_cause cause) := {
+ msg_type := MNCC_HOLD_REJ,
+ u := {
+ signal := { /* See 24.008 9.3.12 */
+ callref := call_id,
+ bearer_cap := omit,
+ called := omit,
+ calling := omit,
+ redirecting := omit,
+ connected := omit,
+ cause := cause,
+ progress := omit,
+ useruser := omit,
+ facility := omit,
+ cccap := omit,
+ ssversion := omit,
+ clir_sup := 0,
+ clir_inv := 0,
+ signal := omit,
+ keypad := omit,
+ more := 0,
+ notify := 0,
+ emergency := omit,
+ imsi := "",
+ lchan_type := 0,
+ lchan_mode := 0
+ }
+ }
+}
+
+/* : MSC -> MNCC: RETRIEVE.ind; MS requests retrieval of held call */
+template MNCC_PDU tr_MNCC_RETRIEVE_ind(template uint32_t call_id := ?) :=
+ tr_MNCC_SIMPLE(MNCC_RETRIEVE_IND, call_id); /* See 24.008 9.3.20 */
+
+/* : MSC <- MNCC: RETRIEVE.cnf; network confirms retrieve of call */
+template MNCC_PDU ts_MNCC_RETRIEVE_cnf(uint32_t call_id) :=
+ ts_MNCC_SIMPLE(MNCC_RETRIEVE_CNF, call_id); /* See 24.008 9.3.21 */
+
+/* : MSC <- MNCC: RETRIEVE.rej; network rejects retrieve of call */
+template MNCC_PDU ts_MNCC_RETRIEVE_rej(uint32_t call_id, MNCC_cause cause)
+modifies ts_MNCC_HOLD_rej := { /* See 24.008 9.3.22 */
+ msg_type := MNCC_RETRIEVE_REJ
+}
+
+
+template MNCC_PDU ts_MNCC_SIMPLE_RTP(MNCC_MsgType msg_type, uint32_t call_id) := {
+ msg_type := msg_type,
+ u := {
+ rtp := {
+ callref := call_id,
+ ip := 0,
+ rtp_port := 0,
+ payload_type := 0,
+ payload_msg_type := 0
+ }
+ }
+}
+
+/* MSC <- MNCC: RTP_CREATE.req; request creation of RTP */
+template MNCC_PDU ts_MNCC_RTP_CREATE(uint32_t call_id) := ts_MNCC_SIMPLE_RTP(MNCC_RTP_CREATE, call_id);
+
+/* MSC -> MNCC: RTP_CREATE.rsp; acknowledge creation of RTP (stating MSC side IP/Port) */
+template MNCC_PDU tr_MNCC_RTP_CREATE(template uint32_t call_id := ?,
+ template uint32_t ip := ?,
+ template uint32_t rtp_port := ?,
+ template uint32_t payload_type := ?) := {
+ msg_type := MNCC_RTP_CREATE,
+ u := {
+ rtp := {
+ callref := call_id,
+ ip := ip,
+ rtp_port := rtp_port,
+ payload_type := payload_type,
+ payload_msg_type := ?
+ }
+ }
+}
+
+/* MSC <- MNCC: RTP_CONNECT.req; request connect of RTP */
+template MNCC_PDU ts_MNCC_RTP_CONNECT(uint32_t call_id, uint32_t ip, uint32_t rtp_port, uint32_t pt) := {
+ msg_type := MNCC_RTP_CONNECT,
+ u := {
+ rtp := {
+ callref := call_id,
+ ip := ip,
+ rtp_port := rtp_port,
+ payload_type := pt,
+ payload_msg_type := 0
+ }
+ }
+}
+template MNCC_PDU tr_MNCC_RTP_CONNECT(template uint32_t call_id,
+ template uint32_t ip := ?,
+ template uint32_t rtp_port := ?,
+ template uint32_t pt := ?) := {
+ msg_type := MNCC_RTP_CONNECT,
+ u := {
+ rtp := {
+ callref := call_id,
+ ip := ip,
+ rtp_port := rtp_port,
+ payload_type := pt,
+ payload_msg_type := 0
+ }
+ }
+}
+
+
+/* MSC <- MNCC: RTP_FREE.req; request connect of RTP */
+template MNCC_PDU ts_MNCC_RTP_FREE(uint32_t call_id) := ts_MNCC_SIMPLE_RTP(MNCC_RTP_FREE, call_id);
+
+function f_mncc_get_call_id(MNCC_PDU pdu) return uint32_t {
+ if (ischosen(pdu.u.rtp)) {
+ return pdu.u.rtp.callref;
+ } else if (ischosen(pdu.u.data)) {
+ return pdu.u.data.callref;
+ } else if (ischosen(pdu.u.signal)) {
+ return pdu.u.signal.callref;
+ } else {
+ setverdict(fail, "Unable to determine Callref for MNCC", pdu);
+ mtc.stop
+ }
+}
+
+} with { encode "RAW" ; variant "FIELDORDER(msb)" }
diff --git a/titan/Makefile b/titan/Makefile
index e11dd1b..2aeebb9 100644
--- a/titan/Makefile
+++ b/titan/Makefile
@@ -1,3 +1,8 @@
+TYPE_MODULES:=General Osmocom MNCC PCUIF
+
+TYPE_CC=$(TYPE_MODULES:%=%_Types.cc)
+TYPE_HH=$(TYPE_MODULES:%=%_Types.hh)
+GENERATED=$(TYPE_CC) $(TYPE_HH)
OBJS=General_Types.o Osmocom_Types.o hello.o
OBJS+=MNCC_Types.o MNCC_EncDec.o
@@ -7,7 +12,10 @@ CXXFLAGS=-DLINUX -DMAKEDEPEND_RUN -I/usr/include/titan -fPIC
LDFLAGS=-L/usr/lib/titan -fPIC -lttcn3-dynamic
LDFLAGS_STATIC=-L/usr/lib/titan -lttcn3 -lxml2 -lssl -lcrypto
-all: titan.a
+all: compile titan.a
+
+$(GENERATED):
+ ttcn3_compiler -D *.ttcn
titan.a: $(OBJS)
$(AR) r $@ $^
@@ -15,5 +23,6 @@ titan.a: $(OBJS)
%.o: %.cc
$(CXX) $(CXXFLAGS) -c -o $@ $^
+.PHONY: clean
clean:
- @rm titan.a $(OBJS)
+ @rm -f titan.a $(OBJS) $(GENERATED)
diff --git a/titan/Osmocom_Types.cc b/titan/Osmocom_Types.cc
deleted file mode 100644
index e76bb80..0000000
--- a/titan/Osmocom_Types.cc
+++ /dev/null
@@ -1,2332 +0,0 @@
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "Osmocom_Types.hh"
-
-namespace Osmocom__Types {
-
-/* Prototypes of static functions */
-
-static void pre_init_module();
-static void post_init_module();
-
-/* Literal string constants */
-
-static const unsigned char bs_1_bits[] = { 0 },
-bs_0_bits[] = { 1 };
-static const BITSTRING bs_1(1, bs_1_bits),
-bs_0(1, bs_0_bits);
-static const HEXSTRING hs_0(0, NULL);
-static const OCTETSTRING os_0(0, NULL);
-static const CHARSTRING cs_1('*'),
-cs_2('?'),
-cs_0(4, "omit");
-static const unsigned char module_checksum[] = { 0xf6, 0xe8, 0x52, 0x94, 0x05, 0xfd, 0x52, 0xd3, 0x21, 0xf8, 0x93, 0x2f, 0xbf, 0x86, 0x75, 0x66 };
-
-/* Global variable definitions */
-
-const TTCN_RAWdescriptor_t uint8__t_raw_ = {8,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint8__t_xer_ = { {"uint8_t>\n", "uint8_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint8__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint8__t_descr_ = { "@Osmocom_Types.uint8_t", &INTEGER_ber_, &uint8__t_raw_, &INTEGER_text_, &uint8__t_xer_, &INTEGER_json_, &uint8__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint8__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint16__t_raw_ = {16,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint16__t_xer_ = { {"uint16_t>\n", "uint16_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint16__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint16__t_descr_ = { "@Osmocom_Types.uint16_t", &INTEGER_ber_, &uint16__t_raw_, &INTEGER_text_, &uint16__t_xer_, &INTEGER_json_, &uint16__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint16__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint24__t_raw_ = {24,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint24__t_xer_ = { {"uint24_t>\n", "uint24_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint24__t_descr_ = { "@Osmocom_Types.uint24_t", &INTEGER_ber_, &uint24__t_raw_, &INTEGER_text_, &uint24__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint24__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint32__t_raw_ = {32,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint32__t_xer_ = { {"uint32_t>\n", "uint32_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint32__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint32__t_descr_ = { "@Osmocom_Types.uint32_t", &INTEGER_ber_, &uint32__t_raw_, &INTEGER_text_, &uint32__t_xer_, &INTEGER_json_, &uint32__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint32__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t int8__t_raw_ = {8,SG_SG_BIT,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t int8__t_xer_ = { {"int8_t>\n", "int8_t>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t int8__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t int8__t_descr_ = { "@Osmocom_Types.int8_t", &INTEGER_ber_, &int8__t_raw_, &INTEGER_text_, &int8__t_xer_, &INTEGER_json_, &int8__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING int8__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t int16__t_raw_ = {16,SG_SG_BIT,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t int16__t_xer_ = { {"int16_t>\n", "int16_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t int16__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t int16__t_descr_ = { "@Osmocom_Types.int16_t", &INTEGER_ber_, &int16__t_raw_, &INTEGER_text_, &int16__t_xer_, &INTEGER_json_, &int16__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING int16__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint1__t_raw_ = {1,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint1__t_xer_ = { {"uint1_t>\n", "uint1_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint1__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint1__t_descr_ = { "@Osmocom_Types.uint1_t", &INTEGER_ber_, &uint1__t_raw_, &INTEGER_text_, &uint1__t_xer_, &INTEGER_json_, &uint1__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint1__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint2__t_raw_ = {2,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint2__t_xer_ = { {"uint2_t>\n", "uint2_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint2__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint2__t_descr_ = { "@Osmocom_Types.uint2_t", &INTEGER_ber_, &uint2__t_raw_, &INTEGER_text_, &uint2__t_xer_, &INTEGER_json_, &uint2__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint2__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint3__t_raw_ = {3,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint3__t_xer_ = { {"uint3_t>\n", "uint3_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint3__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint3__t_descr_ = { "@Osmocom_Types.uint3_t", &INTEGER_ber_, &uint3__t_raw_, &INTEGER_text_, &uint3__t_xer_, &INTEGER_json_, &uint3__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint3__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint4__t_raw_ = {4,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint4__t_xer_ = { {"uint4_t>\n", "uint4_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint4__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint4__t_descr_ = { "@Osmocom_Types.uint4_t", &INTEGER_ber_, &uint4__t_raw_, &INTEGER_text_, &uint4__t_xer_, &INTEGER_json_, &uint4__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint4__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint5__t_raw_ = {5,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint5__t_xer_ = { {"uint5_t>\n", "uint5_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint5__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint5__t_descr_ = { "@Osmocom_Types.uint5_t", &INTEGER_ber_, &uint5__t_raw_, &INTEGER_text_, &uint5__t_xer_, &INTEGER_json_, &uint5__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint5__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint6__t_raw_ = {6,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint6__t_xer_ = { {"uint6_t>\n", "uint6_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint6__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint6__t_descr_ = { "@Osmocom_Types.uint6_t", &INTEGER_ber_, &uint6__t_raw_, &INTEGER_text_, &uint6__t_xer_, &INTEGER_json_, &uint6__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint6__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint7__t_raw_ = {7,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint7__t_xer_ = { {"uint7_t>\n", "uint7_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint7__t_descr_ = { "@Osmocom_Types.uint7_t", &INTEGER_ber_, &uint7__t_raw_, &INTEGER_text_, &uint7__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint7__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint9__t_raw_ = {9,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint9__t_xer_ = { {"uint9_t>\n", "uint9_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint9__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint9__t_descr_ = { "@Osmocom_Types.uint9_t", &INTEGER_ber_, &uint9__t_raw_, &INTEGER_text_, &uint9__t_xer_, &INTEGER_json_, &uint9__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint9__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint10__t_raw_ = {10,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint10__t_xer_ = { {"uint10_t>\n", "uint10_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint10__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint10__t_descr_ = { "@Osmocom_Types.uint10_t", &INTEGER_ber_, &uint10__t_raw_, &INTEGER_text_, &uint10__t_xer_, &INTEGER_json_, &uint10__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint10__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint11__t_raw_ = {11,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint11__t_xer_ = { {"uint11_t>\n", "uint11_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint11__t_descr_ = { "@Osmocom_Types.uint11_t", &INTEGER_ber_, &uint11__t_raw_, &INTEGER_text_, &uint11__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint11__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint12__t_raw_ = {12,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint12__t_xer_ = { {"uint12_t>\n", "uint12_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t uint12__t_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t uint12__t_descr_ = { "@Osmocom_Types.uint12_t", &INTEGER_ber_, &uint12__t_raw_, &INTEGER_text_, &uint12__t_xer_, &INTEGER_json_, &uint12__t_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint12__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint13__t_raw_ = {13,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint13__t_xer_ = { {"uint13_t>\n", "uint13_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint13__t_descr_ = { "@Osmocom_Types.uint13_t", &INTEGER_ber_, &uint13__t_raw_, &INTEGER_text_, &uint13__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint13__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint14__t_raw_ = {14,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint14__t_xer_ = { {"uint14_t>\n", "uint14_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint14__t_descr_ = { "@Osmocom_Types.uint14_t", &INTEGER_ber_, &uint14__t_raw_, &INTEGER_text_, &uint14__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint14__t_default_coding("RAW");
-const TTCN_RAWdescriptor_t uint15__t_raw_ = {15,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t uint15__t_xer_ = { {"uint15_t>\n", "uint15_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t uint15__t_descr_ = { "@Osmocom_Types.uint15_t", &INTEGER_ber_, &uint15__t_raw_, &INTEGER_text_, &uint15__t_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING uint15__t_default_coding("RAW");
-static INTEGER const_c__UINT16__MAX;
-const INTEGER& c__UINT16__MAX = const_c__UINT16__MAX;
-static INTEGER const_c__UINT32__MAX;
-const INTEGER& c__UINT32__MAX = const_c__UINT32__MAX;
-const TTCN_RAWdescriptor_t Arfcn_pcs_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t Arfcn_pcs_xer_ = { {"pcs>\n", "pcs>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int Arfcn_pcs_oer_ext_arr_[0] = {};
-const int Arfcn_pcs_oer_p_[0] = {};
-const TTCN_OERdescriptor_t Arfcn_pcs_oer_ = { -1, TRUE, -1, FALSE, 0, 0, Arfcn_pcs_oer_ext_arr_, 0, Arfcn_pcs_oer_p_};
-const TTCN_Typedescriptor_t Arfcn_pcs_descr_ = { "@Osmocom_Types.Arfcn.pcs", &BOOLEAN_ber_, &Arfcn_pcs_raw_, &BOOLEAN_text_, &Arfcn_pcs_xer_, &BOOLEAN_json_, &Arfcn_pcs_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Arfcn_pcs_default_coding("RAW");
-const TTCN_RAWdescriptor_t Arfcn_arfcn_raw_ = {15,SG_NO,ORDER_MSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t Arfcn_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t Arfcn_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t Arfcn_arfcn_descr_ = { "@Osmocom_Types.Arfcn.arfcn", &INTEGER_ber_, &Arfcn_arfcn_raw_, &INTEGER_text_, &Arfcn_arfcn_xer_, &INTEGER_json_, &Arfcn_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Arfcn_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t Arfcn_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for Arfcn
-const TTCN_Typedescriptor_t Arfcn_descr_ = { "@Osmocom_Types.Arfcn", NULL, &Arfcn_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING Arfcn_default_coding("RAW");
-static INTEGER const_f__rnd__hexstring_max_defval;
-const INTEGER& f__rnd__hexstring_max_defval = const_f__rnd__hexstring_max_defval;
-static INTEGER const_f__rnd__msisdn_len_defval;
-const INTEGER& f__rnd__msisdn_len_defval = const_f__rnd__msisdn_len_defval;
-const TTCN_RAWdescriptor_t IntegerRecord_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for IntegerRecord
-const TTCN_Typedescriptor_t IntegerRecord_descr_ = { "@Osmocom_Types.IntegerRecord", NULL, &IntegerRecord_raw_, NULL, NULL, NULL, NULL, &IntegerRecord_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t IntegerRecord_0_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t IntegerRecord_0_xer_ = { {"INTEGER>\n", "INTEGER>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t IntegerRecord_0_descr_ = { "@Osmocom_Types.IntegerRecord.INTEGER", &INTEGER_ber_, &IntegerRecord_0_raw_, &INTEGER_text_, &IntegerRecord_0_xer_, &INTEGER_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING IntegerRecord_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING IntegerRecord_default_coding("RAW");
-TTCN_Module module_object("Osmocom_Types", __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_5,
- current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-Arfcn::Arfcn()
-{
-}
-
-Arfcn::Arfcn(const BOOLEAN& par_pcs,
- const INTEGER& par_arfcn)
- : field_pcs(par_pcs),
- field_arfcn(par_arfcn)
-{
-}
-
-Arfcn::Arfcn(const Arfcn& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @Osmocom_Types.Arfcn.");
-if (other_value.pcs().is_bound()) field_pcs = other_value.pcs();
-else field_pcs.clean_up();
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-}
-
-void Arfcn::clean_up()
-{
-field_pcs.clean_up();
-field_arfcn.clean_up();
-}
-
-const TTCN_Typedescriptor_t* Arfcn::get_descriptor() const { return &Arfcn_descr_; }
-Arfcn& Arfcn::operator=(const Arfcn& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @Osmocom_Types.Arfcn.");
- if (other_value.pcs().is_bound()) field_pcs = other_value.pcs();
- else field_pcs.clean_up();
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
-}
-return *this;
-}
-
-boolean Arfcn::operator==(const Arfcn& other_value) const
-{
-return field_pcs==other_value.field_pcs
- && field_arfcn==other_value.field_arfcn;
-}
-
-boolean Arfcn::is_bound() const
-{
-if(field_pcs.is_bound()) return TRUE;
-if(field_arfcn.is_bound()) return TRUE;
-return FALSE;
-}
-boolean Arfcn::is_value() const
-{
-if(!field_pcs.is_value()) return FALSE;
-if(!field_arfcn.is_value()) return FALSE;
-return TRUE;
-}
-void Arfcn::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ pcs := ");
-field_pcs.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void Arfcn::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @Osmocom_Types.Arfcn has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) pcs().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pcs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pcs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @Osmocom_Types.Arfcn: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@Osmocom_Types.Arfcn");
- }
-}
-
-void Arfcn::set_implicit_omit()
-{
-if (pcs().is_bound()) pcs().set_implicit_omit();
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-}
-
-void Arfcn::encode_text(Text_Buf& text_buf) const
-{
-field_pcs.encode_text(text_buf);
-field_arfcn.encode_text(text_buf);
-}
-
-void Arfcn::decode_text(Text_Buf& text_buf)
-{
-field_pcs.decode_text(text_buf);
-field_arfcn.decode_text(text_buf);
-}
-
-void Arfcn::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void Arfcn::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int Arfcn::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, Arfcn_pcs_descr_.raw->forceomit);
- decoded_field_length = field_pcs.RAW_decode(Arfcn_pcs_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, Arfcn_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(Arfcn_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int Arfcn::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, Arfcn_pcs_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, Arfcn_arfcn_descr_.raw);
- encoded_length += field_pcs.RAW_encode(Arfcn_pcs_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_arfcn.RAW_encode(Arfcn_arfcn_descr_, *myleaf.body.node.nodes[1]);
- return myleaf.length = encoded_length;
-}
-
-struct Arfcn_template::single_value_struct {
-BOOLEAN_template field_pcs;
-INTEGER_template field_arfcn;
-};
-
-void Arfcn_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_pcs = ANY_VALUE;
-single_value->field_arfcn = ANY_VALUE;
-}
-}
-}
-
-void Arfcn_template::copy_value(const Arfcn& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.pcs().is_bound()) {
- single_value->field_pcs = other_value.pcs();
-} else {
- single_value->field_pcs.clean_up();
-}
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void Arfcn_template::copy_template(const Arfcn_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.pcs().get_selection()) {
-single_value->field_pcs = other_value.pcs();
-} else {
-single_value->field_pcs.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new Arfcn_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @Osmocom_Types.Arfcn.");
-break;
-}
-set_selection(other_value);
-}
-
-Arfcn_template::Arfcn_template()
-{
-}
-
-Arfcn_template::Arfcn_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-Arfcn_template::Arfcn_template(const Arfcn& other_value)
-{
-copy_value(other_value);
-}
-
-Arfcn_template::Arfcn_template(const OPTIONAL<Arfcn>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const Arfcn&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @Osmocom_Types.Arfcn from an unbound optional field.");
-}
-}
-
-Arfcn_template::Arfcn_template(const Arfcn_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-Arfcn_template::~Arfcn_template()
-{
-clean_up();
-}
-
-Arfcn_template& Arfcn_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-Arfcn_template& Arfcn_template::operator=(const Arfcn& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-Arfcn_template& Arfcn_template::operator=(const OPTIONAL<Arfcn>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const Arfcn&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @Osmocom_Types.Arfcn.");
-}
-return *this;
-}
-
-Arfcn_template& Arfcn_template::operator=(const Arfcn_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean Arfcn_template::match(const Arfcn& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.pcs().is_bound()) return FALSE;
-if(!single_value->field_pcs.match(other_value.pcs(), legacy))return FALSE;
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @Osmocom_Types.Arfcn.");
-}
-return FALSE;
-}
-
-boolean Arfcn_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_pcs.is_bound()) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean Arfcn_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_pcs.is_value()) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-return TRUE;
-}
-
-void Arfcn_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-Arfcn Arfcn_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @Osmocom_Types.Arfcn.");
-Arfcn ret_val;
-if (single_value->field_pcs.is_bound()) {
-ret_val.pcs() = single_value->field_pcs.valueof();
-}
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-return ret_val;
-}
-
-void Arfcn_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @Osmocom_Types.Arfcn.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new Arfcn_template[list_length];
-}
-
-Arfcn_template& Arfcn_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @Osmocom_Types.Arfcn.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @Osmocom_Types.Arfcn.");
-return value_list.list_value[list_index];
-}
-
-BOOLEAN_template& Arfcn_template::pcs()
-{
-set_specific();
-return single_value->field_pcs;
-}
-
-const BOOLEAN_template& Arfcn_template::pcs() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field pcs of a non-specific template of type @Osmocom_Types.Arfcn.");
-return single_value->field_pcs;
-}
-
-INTEGER_template& Arfcn_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& Arfcn_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @Osmocom_Types.Arfcn.");
-return single_value->field_arfcn;
-}
-
-int Arfcn_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @Osmocom_Types.Arfcn containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @Osmocom_Types.Arfcn.");
- }
- return 0;
-}
-
-void Arfcn_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ pcs := ");
-single_value->field_pcs.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void Arfcn_template::log_match(const Arfcn& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_pcs.match(match_value.pcs(), legacy)){
-TTCN_Logger::log_logmatch_info(".pcs");
-single_value->field_pcs.log_match(match_value.pcs(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ pcs := ");
-single_value->field_pcs.log_match(match_value.pcs(), legacy);
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void Arfcn_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_pcs.encode_text(text_buf);
-single_value->field_arfcn.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @Osmocom_Types.Arfcn.");
-}
-}
-
-void Arfcn_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_pcs.decode_text(text_buf);
-single_value->field_arfcn.decode_text(text_buf);
-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 Arfcn_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @Osmocom_Types.Arfcn.");
-}
-}
-
-void Arfcn_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- Arfcn_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @Osmocom_Types.Arfcn has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) pcs().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pcs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pcs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @Osmocom_Types.Arfcn: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@Osmocom_Types.Arfcn");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void Arfcn_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_pcs.check_restriction(t_res, t_name ? t_name : "@Osmocom_Types.Arfcn");
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@Osmocom_Types.Arfcn");
-return;
-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 : "@Osmocom_Types.Arfcn");
-}
-
-boolean Arfcn_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean Arfcn_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-
-/* Bodies of functions, altsteps and testcases */
-
-void uint8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint8__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint8__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint16__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint16__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint24__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint24__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint24__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint24__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint32__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint32__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint32__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint32__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void int8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(int8__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER int8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(int8__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void int16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(int16__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER int16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(int16__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint1__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint1__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint1__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint1__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint2__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint2__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint2__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint2__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint3__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint3__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint3__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint3__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint4__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint4__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint4__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint4__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint5__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint5__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint5__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint5__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint6__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint6__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint6__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint6__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint7__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint7__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint7__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint7__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint9__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint9__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint9__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint9__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint10__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint10__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint10__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint10__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint11__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint11__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint11__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint11__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint12__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint12__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint12__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint12__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint13__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint13__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint13__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint13__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint14__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint14__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint14__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint14__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void uint15__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(uint15__t_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER uint15__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(uint15__t_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Arfcn_pcs_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Arfcn_pcs_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Arfcn_pcs_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Arfcn_pcs_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Arfcn_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Arfcn_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Arfcn_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Arfcn_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void Arfcn_encoder(const Arfcn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@Osmocom_Types.Arfcn' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(Arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER Arfcn_decoder(OCTETSTRING& input_stream, Arfcn& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@Osmocom_Types.Arfcn' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(Arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-INTEGER f__rnd__int(const INTEGER& max)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 38, TTCN_Location::LOCATION_FUNCTION, "f_rnd_int");
-current_location.update_lineno(39);
-/* Osmocom_Types.ttcn, line 39 */
-return float2int((rnd() * int2float(max)));
-}
-
-HEXSTRING f__rnd__hexstring(const INTEGER& len, const INTEGER& max)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 43, TTCN_Location::LOCATION_FUNCTION, "f_rnd_hexstring");
-current_location.update_lineno(44);
-/* Osmocom_Types.ttcn, line 44 */
-INTEGER i;
-current_location.update_lineno(45);
-/* Osmocom_Types.ttcn, line 45 */
-HEXSTRING ret(hs_0);
-current_location.update_lineno(46);
-/* Osmocom_Types.ttcn, line 46 */
-i = 0;
-current_location.update_lineno(46);
-/* Osmocom_Types.ttcn, line 46 */
-for ( ; ; ) {
-current_location.update_lineno(46);
-/* Osmocom_Types.ttcn, line 46 */
-if (!(i < len)) break;
-current_location.update_lineno(47);
-/* Osmocom_Types.ttcn, line 47 */
-{
-HEXSTRING tmp_1;
-tmp_1 = (ret + int2hex(f__rnd__int(max), 1));
-ret = tmp_1;
-}
-current_location.update_lineno(46);
-/* Osmocom_Types.ttcn, line 46 */
-{
-INTEGER tmp_2;
-++i;
-}
-}
-current_location.update_lineno(49);
-/* Osmocom_Types.ttcn, line 49 */
-return ret;
-}
-
-OCTETSTRING f__rnd__octstring(const INTEGER& len)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 53, TTCN_Location::LOCATION_FUNCTION, "f_rnd_octstring");
-current_location.update_lineno(54);
-/* Osmocom_Types.ttcn, line 54 */
-INTEGER i;
-current_location.update_lineno(55);
-/* Osmocom_Types.ttcn, line 55 */
-OCTETSTRING ret(os_0);
-current_location.update_lineno(56);
-/* Osmocom_Types.ttcn, line 56 */
-i = 0;
-current_location.update_lineno(56);
-/* Osmocom_Types.ttcn, line 56 */
-for ( ; ; ) {
-current_location.update_lineno(56);
-/* Osmocom_Types.ttcn, line 56 */
-if (!(i < len)) break;
-current_location.update_lineno(57);
-/* Osmocom_Types.ttcn, line 57 */
-{
-OCTETSTRING tmp_4;
-tmp_4 = (ret + int2oct(f__rnd__int(255), 1));
-ret = tmp_4;
-}
-current_location.update_lineno(56);
-/* Osmocom_Types.ttcn, line 56 */
-{
-INTEGER tmp_5;
-++i;
-}
-}
-current_location.update_lineno(59);
-/* Osmocom_Types.ttcn, line 59 */
-return ret;
-}
-
-HEXSTRING f__rnd__imsi(const HEXSTRING& prefix)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 62, TTCN_Location::LOCATION_FUNCTION, "f_rnd_imsi");
-current_location.update_lineno(63);
-/* Osmocom_Types.ttcn, line 63 */
-return (prefix + f__rnd__hexstring((15 - prefix.lengthof()), 9));
-}
-
-OCTETSTRING f__rnd__msisdn(const OCTETSTRING& prefix, const INTEGER& len)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 66, TTCN_Location::LOCATION_FUNCTION, "f_rnd_msisdn");
-current_location.update_lineno(67);
-/* Osmocom_Types.ttcn, line 67 */
-return (prefix + f__rnd__octstring((len - prefix.lengthof())));
-}
-
-void f__sleep(const FLOAT& seconds)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 70, TTCN_Location::LOCATION_FUNCTION, "f_sleep");
-current_location.update_lineno(71);
-/* Osmocom_Types.ttcn, line 71 */
-TIMER T("T", seconds);
-current_location.update_lineno(72);
-/* Osmocom_Types.ttcn, line 72 */
-T.start();
-current_location.update_lineno(73);
-/* Osmocom_Types.ttcn, line 73 */
-{
-tmp_6:
-alt_status alt_flag = ALT_UNCHECKED, default_flag = ALT_UNCHECKED;
-TTCN_Snapshot::take_new(FALSE);
-for ( ; ; ) {
-if (alt_flag != ALT_NO) {
-alt_flag = T.timeout(NULL);
-if (alt_flag == ALT_YES) break;
-}
-if (default_flag != ALT_NO) {
-default_flag = TTCN_Default::try_altsteps();
-if (default_flag == ALT_YES || default_flag == ALT_BREAK) break;
-else if (default_flag == ALT_REPEAT) goto tmp_6;
-}
-current_location.update_lineno(73);
-/* Osmocom_Types.ttcn, line 73 */
-if (alt_flag == ALT_NO && default_flag == ALT_NO) TTCN_error("Stand-alone timeout statement failed in file Osmocom_Types.ttcn, line 73.");
-TTCN_Snapshot::take_new(TRUE);
-}
-}
-}
-
-BITSTRING bool2bit(const BOOLEAN& inp)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 76, TTCN_Location::LOCATION_FUNCTION, "bool2bit");
-current_location.update_lineno(77);
-/* Osmocom_Types.ttcn, line 77 */
-if (inp) {
-current_location.update_lineno(78);
-/* Osmocom_Types.ttcn, line 78 */
-return bs_0;
-}
-else {
-current_location.update_lineno(80);
-/* Osmocom_Types.ttcn, line 80 */
-return bs_1;
-}
-}
-
-BITSTRING_template bool2bit__tmpl(const BOOLEAN_template& inp)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 84, TTCN_Location::LOCATION_FUNCTION, "bool2bit_tmpl");
-current_location.update_lineno(85);
-/* Osmocom_Types.ttcn, line 85 */
-if (inp.get_istemplate_kind((const char*)cs_0)) {
-current_location.update_lineno(86);
-/* Osmocom_Types.ttcn, line 86 */
-return BITSTRING_template(OMIT_VALUE);
-}
-else {
-current_location.update_lineno(87);
-/* Osmocom_Types.ttcn, line 87 */
-if (inp.get_istemplate_kind((const char*)cs_1)) {
-current_location.update_lineno(88);
-/* Osmocom_Types.ttcn, line 88 */
-return BITSTRING_template(ANY_OR_OMIT);
-}
-else {
-current_location.update_lineno(89);
-/* Osmocom_Types.ttcn, line 89 */
-if (inp.get_istemplate_kind((const char*)cs_2)) {
-current_location.update_lineno(90);
-/* Osmocom_Types.ttcn, line 90 */
-return BITSTRING_template(ANY_VALUE);
-}
-else {
-current_location.update_lineno(92);
-/* Osmocom_Types.ttcn, line 92 */
-if (inp.valueof()) {
-current_location.update_lineno(93);
-/* Osmocom_Types.ttcn, line 93 */
-return BITSTRING_template(bs_0);
-}
-else {
-current_location.update_lineno(95);
-/* Osmocom_Types.ttcn, line 95 */
-return BITSTRING_template(bs_1);
-}
-}
-}
-}
-}
-
-void IntegerRecord_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(IntegerRecord_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER IntegerRecord_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(IntegerRecord_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void IntegerRecord_encoder(const IntegerRecord& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@Osmocom_Types.IntegerRecord' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(IntegerRecord_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER IntegerRecord_decoder(OCTETSTRING& input_stream, IntegerRecord& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@Osmocom_Types.IntegerRecord' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(IntegerRecord_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-BOOLEAN int2bool(const INTEGER& int_)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 102, TTCN_Location::LOCATION_FUNCTION, "int2bool");
-current_location.update_lineno(103);
-/* Osmocom_Types.ttcn, line 103 */
-if ((int_ != 0)) {
-current_location.update_lineno(104);
-/* Osmocom_Types.ttcn, line 104 */
-return TRUE;
-}
-else {
-current_location.update_lineno(106);
-/* Osmocom_Types.ttcn, line 106 */
-return FALSE;
-}
-}
-
-BOOLEAN f__array__contains(const IntegerRecord& arr, const INTEGER& key)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 110, TTCN_Location::LOCATION_FUNCTION, "f_array_contains");
-{
-current_location.update_lineno(111);
-/* Osmocom_Types.ttcn, line 111 */
-INTEGER i(0);
-current_location.update_lineno(111);
-/* Osmocom_Types.ttcn, line 111 */
-for ( ; ; ) {
-current_location.update_lineno(111);
-/* Osmocom_Types.ttcn, line 111 */
-if (!(i < arr.size_of())) break;
-current_location.update_lineno(112);
-/* Osmocom_Types.ttcn, line 112 */
-if ((const_cast< const IntegerRecord&>(arr)[i] == key)) {
-current_location.update_lineno(113);
-/* Osmocom_Types.ttcn, line 113 */
-return TRUE;
-}
-current_location.update_lineno(111);
-/* Osmocom_Types.ttcn, line 111 */
-{
-INTEGER tmp_7;
-++i;
-}
-}
-}
-current_location.update_lineno(116);
-/* Osmocom_Types.ttcn, line 116 */
-return FALSE;
-}
-
-void f__timer__safe__restart(TIMER& T)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 120, TTCN_Location::LOCATION_FUNCTION, "f_timer_safe_restart");
-current_location.update_lineno(121);
-/* Osmocom_Types.ttcn, line 121 */
-if (T.running(NULL)) {
-current_location.update_lineno(122);
-/* Osmocom_Types.ttcn, line 122 */
-T.stop();
-}
-current_location.update_lineno(124);
-/* Osmocom_Types.ttcn, line 124 */
-T.start();
-}
-
-INTEGER f__div__round__up(const INTEGER& dividend, const INTEGER& divisor)
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 128, TTCN_Location::LOCATION_FUNCTION, "f_div_round_up");
-current_location.update_lineno(129);
-/* Osmocom_Types.ttcn, line 129 */
-INTEGER x((dividend / divisor));
-current_location.update_lineno(130);
-/* Osmocom_Types.ttcn, line 130 */
-if ((rem(dividend, divisor) != 0)) {
-current_location.update_lineno(131);
-/* Osmocom_Types.ttcn, line 131 */
-{
-INTEGER tmp_8;
-++x;
-}
-}
-current_location.update_lineno(133);
-/* Osmocom_Types.ttcn, line 133 */
-return x;
-}
-
-
-/* Bodies of static functions */
-
-static void pre_init_module()
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "Osmocom_Types");
-General__Types::module_object.pre_init_module();
-current_location.update_lineno(29);
-/* Osmocom_Types.ttcn, line 29 */
-const_c__UINT16__MAX = 65535;
-current_location.update_lineno(30);
-/* Osmocom_Types.ttcn, line 30 */
-{ INTEGER INTEGER_tmp("4294967295");
-const_c__UINT32__MAX = INTEGER_tmp; }
-module_object.add_function("f_rnd_int", (genericfunc_t)&f__rnd__int, NULL);
-module_object.add_function("f_rnd_hexstring", (genericfunc_t)&f__rnd__hexstring, NULL);
-module_object.add_function("f_rnd_octstring", (genericfunc_t)&f__rnd__octstring, NULL);
-module_object.add_function("f_rnd_imsi", (genericfunc_t)&f__rnd__imsi, NULL);
-module_object.add_function("f_rnd_msisdn", (genericfunc_t)&f__rnd__msisdn, NULL);
-module_object.add_function("f_sleep", (genericfunc_t)&f__sleep, NULL);
-module_object.add_function("bool2bit", (genericfunc_t)&bool2bit, NULL);
-module_object.add_function("bool2bit_tmpl", (genericfunc_t)&bool2bit__tmpl, NULL);
-module_object.add_function("int2bool", (genericfunc_t)&int2bool, NULL);
-module_object.add_function("f_array_contains", (genericfunc_t)&f__array__contains, NULL);
-module_object.add_function("f_timer_safe_restart", (genericfunc_t)&f__timer__safe__restart, NULL);
-module_object.add_function("f_div_round_up", (genericfunc_t)&f__div__round__up, NULL);
-}
-
-static void post_init_module()
-{
-TTCN_Location current_location("Osmocom_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "Osmocom_Types");
-General__Types::module_object.post_init_module();
-const_f__rnd__hexstring_max_defval = 15;
-const_f__rnd__msisdn_len_defval = 6;
-}
-
-
-} /* end of namespace */
diff --git a/titan/Osmocom_Types.hh b/titan/Osmocom_Types.hh
deleted file mode 100644
index b22ee31..0000000
--- a/titan/Osmocom_Types.hh
+++ /dev/null
@@ -1,375 +0,0 @@
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef Osmocom__Types_HH
-#define Osmocom__Types_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-#include "General_Types.hh"
-
-#if TTCN3_VERSION != 60500
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.\
- Run make clean and rebuild the project if the version of the compiler changed recently.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef Osmocom__Types_HH
-#endif
-
-namespace Osmocom__Types {
-
-/* Forward declarations of classes */
-
-class Arfcn;
-class Arfcn_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER IntegerRecord;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template IntegerRecord_template;
-
-} /* end of namespace */
-
-#ifndef Osmocom__Types_HH
-#define Osmocom__Types_HH
-
-namespace Osmocom__Types {
-
-/* Type definitions */
-
-typedef INTEGER uint8__t;
-typedef INTEGER_template uint8__t_template;
-typedef INTEGER uint16__t;
-typedef INTEGER_template uint16__t_template;
-typedef INTEGER uint24__t;
-typedef INTEGER_template uint24__t_template;
-typedef INTEGER uint32__t;
-typedef INTEGER_template uint32__t_template;
-typedef INTEGER int8__t;
-typedef INTEGER_template int8__t_template;
-typedef INTEGER int16__t;
-typedef INTEGER_template int16__t_template;
-typedef INTEGER uint1__t;
-typedef INTEGER_template uint1__t_template;
-typedef INTEGER uint2__t;
-typedef INTEGER_template uint2__t_template;
-typedef INTEGER uint3__t;
-typedef INTEGER_template uint3__t_template;
-typedef INTEGER uint4__t;
-typedef INTEGER_template uint4__t_template;
-typedef INTEGER uint5__t;
-typedef INTEGER_template uint5__t_template;
-typedef INTEGER uint6__t;
-typedef INTEGER_template uint6__t_template;
-typedef INTEGER uint7__t;
-typedef INTEGER_template uint7__t_template;
-typedef INTEGER uint9__t;
-typedef INTEGER_template uint9__t_template;
-typedef INTEGER uint10__t;
-typedef INTEGER_template uint10__t_template;
-typedef INTEGER uint11__t;
-typedef INTEGER_template uint11__t_template;
-typedef INTEGER uint12__t;
-typedef INTEGER_template uint12__t_template;
-typedef INTEGER uint13__t;
-typedef INTEGER_template uint13__t_template;
-typedef INTEGER uint14__t;
-typedef INTEGER_template uint14__t_template;
-typedef INTEGER uint15__t;
-typedef INTEGER_template uint15__t_template;
-
-/* Class definitions */
-
-class Arfcn : public Base_Type {
- BOOLEAN field_pcs;
- INTEGER field_arfcn;
-public:
- Arfcn();
- Arfcn(const BOOLEAN& par_pcs,
- const INTEGER& par_arfcn);
- Arfcn(const Arfcn& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- Arfcn& operator=(const Arfcn& other_value);
- boolean operator==(const Arfcn& other_value) const;
- inline boolean operator!=(const Arfcn& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline BOOLEAN& pcs()
- {return field_pcs;}
- inline const BOOLEAN& pcs() const
- {return field_pcs;}
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class Arfcn_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-Arfcn_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const Arfcn& other_value);
-void copy_template(const Arfcn_template& other_value);
-
-public:
-Arfcn_template();
-Arfcn_template(template_sel other_value);
-Arfcn_template(const Arfcn& other_value);
-Arfcn_template(const OPTIONAL<Arfcn>& other_value);
-Arfcn_template(const Arfcn_template& other_value);
-~Arfcn_template();
-Arfcn_template& operator=(template_sel other_value);
-Arfcn_template& operator=(const Arfcn& other_value);
-Arfcn_template& operator=(const OPTIONAL<Arfcn>& other_value);
-Arfcn_template& operator=(const Arfcn_template& other_value);
-boolean match(const Arfcn& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-Arfcn valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-Arfcn_template& list_item(unsigned int list_index) const;
-BOOLEAN_template& pcs();
-const BOOLEAN_template& pcs() const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-int size_of() const;
-void log() const;
-void log_match(const Arfcn& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-
-/* Function prototypes */
-
-extern void uint8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint24__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint24__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint32__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint32__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void int8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER int8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void int16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER int16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint1__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint1__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint2__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint2__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint3__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint3__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint4__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint4__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint5__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint5__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint6__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint6__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint7__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint7__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint9__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint9__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint10__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint10__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint11__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint11__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint12__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint12__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint13__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint13__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint14__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint14__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void uint15__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER uint15__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Arfcn_pcs_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Arfcn_pcs_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Arfcn_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Arfcn_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void Arfcn_encoder(const Arfcn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER Arfcn_decoder(OCTETSTRING& input_stream, Arfcn& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER f__rnd__int(const INTEGER& max);
-extern HEXSTRING f__rnd__hexstring(const INTEGER& len, const INTEGER& max);
-extern OCTETSTRING f__rnd__octstring(const INTEGER& len);
-extern HEXSTRING f__rnd__imsi(const HEXSTRING& prefix);
-extern OCTETSTRING f__rnd__msisdn(const OCTETSTRING& prefix, const INTEGER& len);
-extern void f__sleep(const FLOAT& seconds);
-extern BITSTRING bool2bit(const BOOLEAN& inp);
-extern BITSTRING_template bool2bit__tmpl(const BOOLEAN_template& inp);
-extern void IntegerRecord_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER IntegerRecord_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void IntegerRecord_encoder(const IntegerRecord& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER IntegerRecord_decoder(OCTETSTRING& input_stream, IntegerRecord& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern BOOLEAN int2bool(const INTEGER& int_);
-extern BOOLEAN f__array__contains(const IntegerRecord& arr, const INTEGER& key);
-extern void f__timer__safe__restart(TIMER& T);
-extern INTEGER f__div__round__up(const INTEGER& dividend, const INTEGER& divisor);
-
-/* Global variable declarations */
-
-extern const TTCN_RAWdescriptor_t uint8__t_raw_;
-extern const XERdescriptor_t uint8__t_xer_;
-extern const TTCN_OERdescriptor_t uint8__t_oer_;
-extern const TTCN_Typedescriptor_t uint8__t_descr_;
-extern UNIVERSAL_CHARSTRING uint8__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint16__t_raw_;
-extern const XERdescriptor_t uint16__t_xer_;
-extern const TTCN_OERdescriptor_t uint16__t_oer_;
-extern const TTCN_Typedescriptor_t uint16__t_descr_;
-extern UNIVERSAL_CHARSTRING uint16__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint24__t_raw_;
-extern const XERdescriptor_t uint24__t_xer_;
-extern const TTCN_Typedescriptor_t uint24__t_descr_;
-extern UNIVERSAL_CHARSTRING uint24__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint32__t_raw_;
-extern const XERdescriptor_t uint32__t_xer_;
-extern const TTCN_OERdescriptor_t uint32__t_oer_;
-extern const TTCN_Typedescriptor_t uint32__t_descr_;
-extern UNIVERSAL_CHARSTRING uint32__t_default_coding;
-extern const TTCN_RAWdescriptor_t int8__t_raw_;
-extern const XERdescriptor_t int8__t_xer_;
-extern const TTCN_OERdescriptor_t int8__t_oer_;
-extern const TTCN_Typedescriptor_t int8__t_descr_;
-extern UNIVERSAL_CHARSTRING int8__t_default_coding;
-extern const TTCN_RAWdescriptor_t int16__t_raw_;
-extern const XERdescriptor_t int16__t_xer_;
-extern const TTCN_OERdescriptor_t int16__t_oer_;
-extern const TTCN_Typedescriptor_t int16__t_descr_;
-extern UNIVERSAL_CHARSTRING int16__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint1__t_raw_;
-extern const XERdescriptor_t uint1__t_xer_;
-extern const TTCN_OERdescriptor_t uint1__t_oer_;
-extern const TTCN_Typedescriptor_t uint1__t_descr_;
-extern UNIVERSAL_CHARSTRING uint1__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint2__t_raw_;
-extern const XERdescriptor_t uint2__t_xer_;
-extern const TTCN_OERdescriptor_t uint2__t_oer_;
-extern const TTCN_Typedescriptor_t uint2__t_descr_;
-extern UNIVERSAL_CHARSTRING uint2__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint3__t_raw_;
-extern const XERdescriptor_t uint3__t_xer_;
-extern const TTCN_OERdescriptor_t uint3__t_oer_;
-extern const TTCN_Typedescriptor_t uint3__t_descr_;
-extern UNIVERSAL_CHARSTRING uint3__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint4__t_raw_;
-extern const XERdescriptor_t uint4__t_xer_;
-extern const TTCN_OERdescriptor_t uint4__t_oer_;
-extern const TTCN_Typedescriptor_t uint4__t_descr_;
-extern UNIVERSAL_CHARSTRING uint4__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint5__t_raw_;
-extern const XERdescriptor_t uint5__t_xer_;
-extern const TTCN_OERdescriptor_t uint5__t_oer_;
-extern const TTCN_Typedescriptor_t uint5__t_descr_;
-extern UNIVERSAL_CHARSTRING uint5__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint6__t_raw_;
-extern const XERdescriptor_t uint6__t_xer_;
-extern const TTCN_OERdescriptor_t uint6__t_oer_;
-extern const TTCN_Typedescriptor_t uint6__t_descr_;
-extern UNIVERSAL_CHARSTRING uint6__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint7__t_raw_;
-extern const XERdescriptor_t uint7__t_xer_;
-extern const TTCN_Typedescriptor_t uint7__t_descr_;
-extern UNIVERSAL_CHARSTRING uint7__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint9__t_raw_;
-extern const XERdescriptor_t uint9__t_xer_;
-extern const TTCN_OERdescriptor_t uint9__t_oer_;
-extern const TTCN_Typedescriptor_t uint9__t_descr_;
-extern UNIVERSAL_CHARSTRING uint9__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint10__t_raw_;
-extern const XERdescriptor_t uint10__t_xer_;
-extern const TTCN_OERdescriptor_t uint10__t_oer_;
-extern const TTCN_Typedescriptor_t uint10__t_descr_;
-extern UNIVERSAL_CHARSTRING uint10__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint11__t_raw_;
-extern const XERdescriptor_t uint11__t_xer_;
-extern const TTCN_Typedescriptor_t uint11__t_descr_;
-extern UNIVERSAL_CHARSTRING uint11__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint12__t_raw_;
-extern const XERdescriptor_t uint12__t_xer_;
-extern const TTCN_OERdescriptor_t uint12__t_oer_;
-extern const TTCN_Typedescriptor_t uint12__t_descr_;
-extern UNIVERSAL_CHARSTRING uint12__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint13__t_raw_;
-extern const XERdescriptor_t uint13__t_xer_;
-extern const TTCN_Typedescriptor_t uint13__t_descr_;
-extern UNIVERSAL_CHARSTRING uint13__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint14__t_raw_;
-extern const XERdescriptor_t uint14__t_xer_;
-extern const TTCN_Typedescriptor_t uint14__t_descr_;
-extern UNIVERSAL_CHARSTRING uint14__t_default_coding;
-extern const TTCN_RAWdescriptor_t uint15__t_raw_;
-extern const XERdescriptor_t uint15__t_xer_;
-extern const TTCN_Typedescriptor_t uint15__t_descr_;
-extern UNIVERSAL_CHARSTRING uint15__t_default_coding;
-extern const INTEGER& c__UINT16__MAX;
-extern const INTEGER& c__UINT32__MAX;
-extern const TTCN_RAWdescriptor_t Arfcn_pcs_raw_;
-extern const XERdescriptor_t Arfcn_pcs_xer_;
-extern const TTCN_OERdescriptor_t Arfcn_pcs_oer_;
-extern const TTCN_Typedescriptor_t Arfcn_pcs_descr_;
-extern UNIVERSAL_CHARSTRING Arfcn_pcs_default_coding;
-extern const TTCN_RAWdescriptor_t Arfcn_arfcn_raw_;
-extern const XERdescriptor_t Arfcn_arfcn_xer_;
-extern const TTCN_OERdescriptor_t Arfcn_arfcn_oer_;
-extern const TTCN_Typedescriptor_t Arfcn_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING Arfcn_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t Arfcn_raw_;
-extern const TTCN_Typedescriptor_t Arfcn_descr_;
-extern UNIVERSAL_CHARSTRING Arfcn_default_coding;
-extern const INTEGER& f__rnd__hexstring_max_defval;
-extern const INTEGER& f__rnd__msisdn_len_defval;
-extern const TTCN_RAWdescriptor_t IntegerRecord_raw_;
-extern const TTCN_Typedescriptor_t IntegerRecord_descr_;
-extern const TTCN_RAWdescriptor_t IntegerRecord_0_raw_;
-extern const XERdescriptor_t IntegerRecord_0_xer_;
-extern const TTCN_Typedescriptor_t IntegerRecord_0_descr_;
-extern UNIVERSAL_CHARSTRING IntegerRecord_0_default_coding;
-extern UNIVERSAL_CHARSTRING IntegerRecord_default_coding;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-#endif
diff --git a/titan/Osmocom_Types.ttcn b/titan/Osmocom_Types.ttcn
new file mode 100644
index 0000000..2a4f68c
--- /dev/null
+++ b/titan/Osmocom_Types.ttcn
@@ -0,0 +1,156 @@
+module Osmocom_Types {
+
+ import from General_Types all;
+
+ type integer uint8_t (0..255) with { variant "unsigned 8 bit" };
+ type integer uint16_t (0..65535) with { variant "unsigned 16 bit" };
+ type integer uint24_t (0..16777215) with { variant "unsigned 24 bit" };
+ type integer uint32_t (0..4294967295) with { variant "unsigned 32 bit" };
+
+ type integer int8_t (-128..127) with { variant "8 bit" };
+ type integer int16_t (-32768..32767) with { variant "16 bit" };
+
+ type integer uint1_t (0..1) with { variant "unsigned 1 bit" };
+ type integer uint2_t (0..3) with { variant "unsigned 2 bit" };
+ type integer uint3_t (0..7) with { variant "unsigned 3 bit" };
+ type integer uint4_t (0..15) with { variant "unsigned 4 bit" };
+ type integer uint5_t (0..31) with { variant "unsigned 5 bit" };
+ type integer uint6_t (0..63) with { variant "unsigned 6 bit" };
+ type integer uint7_t (0..127) with { variant "unsigned 7 bit" };
+ type integer uint9_t (0..511) with { variant "unsigned 9 bit" };
+ type integer uint10_t (0..1023) with { variant "unsigned 10 bit" };
+ type integer uint11_t (0..2047) with { variant "unsigned 11 bit" };
+ type integer uint12_t (0..4095) with { variant "unsigned 12 bit" };
+ type integer uint13_t (0..8191) with { variant "unsigned 13 bit" };
+ type integer uint14_t (0..16383) with { variant "unsigned 14 bit" };
+ type integer uint15_t (0..32767) with { variant "unsigned 15 bit" };
+
+
+ const uint16_t c_UINT16_MAX := 65535;
+ const uint32_t c_UINT32_MAX := 4294967295;
+
+ type record Arfcn {
+ boolean pcs,
+ uint15_t arfcn
+ } with { variant "" };
+
+ /* return random integer between 0 and max */
+ function f_rnd_int(integer max) return integer {
+ return float2int(rnd()*int2float(max));
+ }
+
+ /* return hexstring composed of random digits */
+ function f_rnd_hexstring(in integer len, in integer max := 15) return hexstring {
+ var integer i;
+ var hexstring ret := ''H;
+ for (i := 0; i < len; i := i + 1) {
+ ret := ret & int2hex(f_rnd_int(max), 1);
+ }
+ return ret;
+ }
+
+ /* return octetstring composed of random bytes */
+ function f_rnd_octstring(in integer len) return octetstring {
+ var integer i;
+ var octetstring ret := ''O;
+ for (i := 0; i < len; i := i + 1) {
+ ret := ret & int2oct(f_rnd_int(255), 1);
+ }
+ return ret;
+ }
+
+ function f_rnd_imsi(in hexstring prefix) return hexstring {
+ return prefix & f_rnd_hexstring(15 - lengthof(prefix), 9);
+ }
+
+ function f_rnd_msisdn(in octetstring prefix, integer len := 6) return octetstring {
+ return prefix & f_rnd_octstring(len - lengthof(prefix));
+ }
+
+ function f_sleep(float seconds) {
+ timer T := seconds;
+ T.start;
+ T.timeout;
+ }
+
+function bool2bit(boolean inp) return BIT1 {
+ if (inp) {
+ return '1'B;
+ } else {
+ return '0'B;
+ }
+}
+
+function bool2bit_tmpl(template boolean inp) return template BIT1 {
+ if (istemplatekind(inp, "omit")) {
+ return omit;
+ } else if (istemplatekind(inp, "*")) {
+ return *;
+ } else if (istemplatekind(inp, "?")) {
+ return ?;
+ } else {
+ if (valueof(inp)) {
+ return '1'B;
+ } else {
+ return '0'B;
+ }
+ }
+}
+
+type record of integer IntegerRecord;
+
+function int2bool(integer int) return boolean {
+ if (int != 0) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+function f_array_contains(IntegerRecord arr, integer key) return boolean {
+ for (var integer i:= 0; i< sizeof(arr); i := i + 1) {
+ if (arr[i] == key) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/* re-start given timer in a warning-safe way: Stop (only if running) + start */
+function f_timer_safe_restart(timer T) {
+ if (T.running) {
+ T.stop;
+ }
+ T.start;
+}
+
+/* divide two integers and return rounded-up result */
+function f_div_round_up(integer dividend, integer divisor) return integer {
+ var integer x := dividend / divisor;
+ if (dividend rem divisor != 0) {
+ x := x+1;
+ }
+ return x;
+}
+
+function imsi_hex2oct(hexstring imsi) return octetstring {
+ var hexstring tmp := ''H;
+ var octetstring ret;
+ var integer i;
+
+ /* swap nibbles and pad with F if insufficient input nibbles */
+ for (i := 0; i < lengthof(imsi); i := i+1) {
+ if (i+1 < lengthof(imsi)) {
+ tmp := tmp & imsi[i+1];
+ } else {
+ tmp := tmp & 'F'H;
+ }
+ tmp := tmp & imsi[i];
+ i := i+1;
+ }
+ ret := hex2oct(tmp);
+ return ret;
+}
+
+
+} with { encode "RAW"; variant "FIELDORDER(msb)" }
diff --git a/titan/PCUIF_Types.cc b/titan/PCUIF_Types.cc
deleted file mode 100644
index 30adc31..0000000
--- a/titan/PCUIF_Types.cc
+++ /dev/null
@@ -1,32386 +0,0 @@
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "PCUIF_Types.hh"
-
-namespace PCUIF__Types {
-
-/* Prototypes of static functions */
-
-static void pre_init_module();
-static void post_init_module();
-
-/* Literal string constants */
-
-static const unsigned char bs_1_bits[] = { 0 },
-bs_3_bits[] = { 0 },
-bs_0_bits[] = { 0, 0 },
-bs_2_bits[] = { 128 };
-static const BITSTRING bs_1(3, bs_1_bits),
-bs_3(8, bs_3_bits),
-bs_0(14, bs_0_bits),
-bs_2(8, bs_2_bits);
-static const unsigned char os_2_octets[] = { 0 },
-os_0_octets[] = { 0, 0 },
-os_1_octets[] = { 0, 0, 0 },
-os_4_octets[] = { 0, 0, 0, 0 },
-os_3_octets[] = { 7 };
-static const OCTETSTRING os_2(1, os_2_octets),
-os_0(2, os_0_octets),
-os_1(3, os_1_octets),
-os_4(4, os_4_octets),
-os_3(1, os_3_octets);
-static const CHARSTRING cs_0(12, "/tmp/pcu_bts");
-static const unsigned char module_checksum[] = { 0x14, 0x83, 0x83, 0x91, 0xca, 0x91, 0x4c, 0x23, 0x88, 0x82, 0xad, 0xfd, 0x2d, 0xa6, 0x37, 0x42 };
-
-/* Global variable definitions */
-
-static CHARSTRING const_PCU__SOCK__DEFAULT;
-const CHARSTRING& PCU__SOCK__DEFAULT = const_PCU__SOCK__DEFAULT;
-static INTEGER const_PCU__IF__VERSION;
-const INTEGER& PCU__IF__VERSION = const_PCU__IF__VERSION;
-const TTCN_RAWdescriptor_t PCUIF__MsgType_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgType
-const TTCN_Typedescriptor_t PCUIF__MsgType_descr_ = { "@PCUIF_Types.PCUIF_MsgType", NULL, &PCUIF__MsgType_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgType_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__Sapi
-const TTCN_Typedescriptor_t PCUIF__Sapi_descr_ = { "@PCUIF_Types.PCUIF_Sapi", NULL, &PCUIF__Sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_bts__active_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_bts__active_xer_ = { {"bts_active>\n", "bts_active>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_bts__active_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_bts__active_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_bts__active_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_bts__active_oer_ext_arr_, 0, PCUIF__Flags_bts__active_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_bts__active_descr_ = { "@PCUIF_Types.PCUIF_Flags.bts_active", &BOOLEAN_ber_, &PCUIF__Flags_bts__active_raw_, &BOOLEAN_text_, &PCUIF__Flags_bts__active_xer_, &BOOLEAN_json_, &PCUIF__Flags_bts__active_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_bts__active_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_sysmo__direct__dsp_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_sysmo__direct__dsp_xer_ = { {"sysmo_direct_dsp>\n", "sysmo_direct_dsp>\n"}, {18, 18}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_sysmo__direct__dsp_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_sysmo__direct__dsp_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_sysmo__direct__dsp_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_sysmo__direct__dsp_oer_ext_arr_, 0, PCUIF__Flags_sysmo__direct__dsp_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_sysmo__direct__dsp_descr_ = { "@PCUIF_Types.PCUIF_Flags.sysmo_direct_dsp", &BOOLEAN_ber_, &PCUIF__Flags_sysmo__direct__dsp_raw_, &BOOLEAN_text_, &PCUIF__Flags_sysmo__direct__dsp_xer_, &BOOLEAN_json_, &PCUIF__Flags_sysmo__direct__dsp_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_sysmo__direct__dsp_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_spare_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,14,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_spare_xer_ = { {"spare>\n", "spare>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t PCUIF__Flags_spare_descr_ = { "@PCUIF_Types.PCUIF_Flags.spare", &BITSTRING_ber_, &PCUIF__Flags_spare_raw_, NULL, &PCUIF__Flags_spare_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_spare_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_cs1_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_cs1_xer_ = { {"cs1>\n", "cs1>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_cs1_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_cs1_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_cs1_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_cs1_oer_ext_arr_, 0, PCUIF__Flags_cs1_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_cs1_descr_ = { "@PCUIF_Types.PCUIF_Flags.cs1", &BOOLEAN_ber_, &PCUIF__Flags_cs1_raw_, &BOOLEAN_text_, &PCUIF__Flags_cs1_xer_, &BOOLEAN_json_, &PCUIF__Flags_cs1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_cs1_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_cs2_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_cs2_xer_ = { {"cs2>\n", "cs2>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_cs2_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_cs2_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_cs2_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_cs2_oer_ext_arr_, 0, PCUIF__Flags_cs2_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_cs2_descr_ = { "@PCUIF_Types.PCUIF_Flags.cs2", &BOOLEAN_ber_, &PCUIF__Flags_cs2_raw_, &BOOLEAN_text_, &PCUIF__Flags_cs2_xer_, &BOOLEAN_json_, &PCUIF__Flags_cs2_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_cs2_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_cs3_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_cs3_xer_ = { {"cs3>\n", "cs3>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_cs3_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_cs3_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_cs3_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_cs3_oer_ext_arr_, 0, PCUIF__Flags_cs3_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_cs3_descr_ = { "@PCUIF_Types.PCUIF_Flags.cs3", &BOOLEAN_ber_, &PCUIF__Flags_cs3_raw_, &BOOLEAN_text_, &PCUIF__Flags_cs3_xer_, &BOOLEAN_json_, &PCUIF__Flags_cs3_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_cs3_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_cs4_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_cs4_xer_ = { {"cs4>\n", "cs4>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_cs4_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_cs4_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_cs4_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_cs4_oer_ext_arr_, 0, PCUIF__Flags_cs4_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_cs4_descr_ = { "@PCUIF_Types.PCUIF_Flags.cs4", &BOOLEAN_ber_, &PCUIF__Flags_cs4_raw_, &BOOLEAN_text_, &PCUIF__Flags_cs4_xer_, &BOOLEAN_json_, &PCUIF__Flags_cs4_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_cs4_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs1_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs1_xer_ = { {"mcs1>\n", "mcs1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs1_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs1_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs1_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs1_oer_ext_arr_, 0, PCUIF__Flags_mcs1_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs1_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs1", &BOOLEAN_ber_, &PCUIF__Flags_mcs1_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs1_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs1_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs2_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs2_xer_ = { {"mcs2>\n", "mcs2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs2_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs2_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs2_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs2_oer_ext_arr_, 0, PCUIF__Flags_mcs2_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs2_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs2", &BOOLEAN_ber_, &PCUIF__Flags_mcs2_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs2_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs2_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs2_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs3_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs3_xer_ = { {"mcs3>\n", "mcs3>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs3_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs3_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs3_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs3_oer_ext_arr_, 0, PCUIF__Flags_mcs3_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs3_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs3", &BOOLEAN_ber_, &PCUIF__Flags_mcs3_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs3_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs3_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs3_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs4_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs4_xer_ = { {"mcs4>\n", "mcs4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs4_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs4_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs4_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs4_oer_ext_arr_, 0, PCUIF__Flags_mcs4_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs4_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs4", &BOOLEAN_ber_, &PCUIF__Flags_mcs4_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs4_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs4_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs4_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs5_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs5_xer_ = { {"mcs5>\n", "mcs5>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs5_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs5_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs5_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs5_oer_ext_arr_, 0, PCUIF__Flags_mcs5_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs5_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs5", &BOOLEAN_ber_, &PCUIF__Flags_mcs5_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs5_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs5_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs5_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs6_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs6_xer_ = { {"mcs6>\n", "mcs6>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs6_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs6_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs6_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs6_oer_ext_arr_, 0, PCUIF__Flags_mcs6_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs6_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs6", &BOOLEAN_ber_, &PCUIF__Flags_mcs6_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs6_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs6_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs6_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs7_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs7_xer_ = { {"mcs7>\n", "mcs7>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs7_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs7_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs7_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs7_oer_ext_arr_, 0, PCUIF__Flags_mcs7_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs7_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs7", &BOOLEAN_ber_, &PCUIF__Flags_mcs7_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs7_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs7_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs7_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs8_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs8_xer_ = { {"mcs8>\n", "mcs8>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs8_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs8_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs8_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs8_oer_ext_arr_, 0, PCUIF__Flags_mcs8_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs8_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs8", &BOOLEAN_ber_, &PCUIF__Flags_mcs8_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs8_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs8_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs8_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_mcs9_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_mcs9_xer_ = { {"mcs9>\n", "mcs9>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Flags_mcs9_oer_ext_arr_[0] = {};
-const int PCUIF__Flags_mcs9_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Flags_mcs9_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Flags_mcs9_oer_ext_arr_, 0, PCUIF__Flags_mcs9_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Flags_mcs9_descr_ = { "@PCUIF_Types.PCUIF_Flags.mcs9", &BOOLEAN_ber_, &PCUIF__Flags_mcs9_raw_, &BOOLEAN_text_, &PCUIF__Flags_mcs9_xer_, &BOOLEAN_json_, &PCUIF__Flags_mcs9_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_mcs9_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_spare2_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Flags_spare2_xer_ = { {"spare2>\n", "spare2>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t PCUIF__Flags_spare2_descr_ = { "@PCUIF_Types.PCUIF_Flags.spare2", &BITSTRING_ber_, &PCUIF__Flags_spare2_raw_, NULL, &PCUIF__Flags_spare2_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_spare2_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Flags_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__Flags
-const TTCN_Typedescriptor_t PCUIF__Flags_descr_ = { "@PCUIF_Types.PCUIF_Flags", NULL, &PCUIF__Flags_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Flags_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__TextType_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__TextType
-const TTCN_Typedescriptor_t PCUIF__TextType_descr_ = { "@PCUIF_Types.PCUIF_TextType", NULL, &PCUIF__TextType_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__TextType_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Text_raw_ = {1024,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,128,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Text_xer_ = { {"PCUIF_Text>\n", "PCUIF_Text>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t PCUIF__Text_descr_ = { "@PCUIF_Types.PCUIF_Text", NULL, &PCUIF__Text_raw_, &CHARSTRING_text_, &PCUIF__Text_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Text_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__txt__ind_txt__type_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__txt__ind_txt__type
-const TTCN_Typedescriptor_t PCUIF__txt__ind_txt__type_descr_ = { "@PCUIF_Types.PCUIF_txt_ind.txt_type", NULL, &PCUIF__txt__ind_txt__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__txt__ind_txt__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__txt__ind_text_raw_ = {1024,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,128,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__txt__ind_text_xer_ = { {"text>\n", "text>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t PCUIF__txt__ind_text_descr_ = { "@PCUIF_Types.PCUIF_txt_ind.text", NULL, &PCUIF__txt__ind_text_raw_, &CHARSTRING_text_, &PCUIF__txt__ind_text_xer_, &CHARSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__txt__ind_text_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__txt__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__txt__ind
-const TTCN_Typedescriptor_t PCUIF__txt__ind_descr_ = { "@PCUIF_Types.PCUIF_txt_ind", NULL, &PCUIF__txt__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__txt__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t OCT162_raw_ = {1296,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,162,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t OCT162_xer_ = { {"OCT162>\n", "OCT162>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int OCT162_oer_ext_arr_[0] = {};
-const int OCT162_oer_p_[0] = {};
-const TTCN_OERdescriptor_t OCT162_oer_ = { -1, TRUE, -1, FALSE, 0, 0, OCT162_oer_ext_arr_, 0, OCT162_oer_p_};
-const TTCN_Typedescriptor_t OCT162_descr_ = { "@PCUIF_Types.OCT162", &OCTETSTRING_ber_, &OCT162_raw_, &OCTETSTRING_text_, &OCT162_xer_, &OCTETSTRING_json_, &OCT162_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING OCT162_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__data_sapi
-const TTCN_Typedescriptor_t PCUIF__data_sapi_descr_ = { "@PCUIF_Types.PCUIF_data.sapi", NULL, &PCUIF__data_sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_len_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_len_xer_ = { {"len>\n", "len>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_len_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_len_descr_ = { "@PCUIF_Types.PCUIF_data.len", &INTEGER_ber_, &PCUIF__data_len_raw_, &INTEGER_text_, &PCUIF__data_len_xer_, &INTEGER_json_, &PCUIF__data_len_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_len_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_data_raw_ = {1296,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,162,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_data_xer_ = { {"data>\n", "data>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__data_data_oer_ext_arr_[0] = {};
-const int PCUIF__data_data_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__data_data_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__data_data_oer_ext_arr_, 0, PCUIF__data_data_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__data_data_descr_ = { "@PCUIF_Types.PCUIF_data.data", &OCTETSTRING_ber_, &PCUIF__data_data_raw_, &OCTETSTRING_text_, &PCUIF__data_data_xer_, &OCTETSTRING_json_, &PCUIF__data_data_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_data_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_fn_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_fn_xer_ = { {"fn>\n", "fn>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_fn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_fn_descr_ = { "@PCUIF_Types.PCUIF_data.fn", &INTEGER_ber_, &PCUIF__data_fn_raw_, &INTEGER_text_, &PCUIF__data_fn_xer_, &INTEGER_json_, &PCUIF__data_fn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_fn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_arfcn_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_arfcn_descr_ = { "@PCUIF_Types.PCUIF_data.arfcn", &INTEGER_ber_, &PCUIF__data_arfcn_raw_, &INTEGER_text_, &PCUIF__data_arfcn_xer_, &INTEGER_json_, &PCUIF__data_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_trx__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_trx__nr_xer_ = { {"trx_nr>\n", "trx_nr>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_trx__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_trx__nr_descr_ = { "@PCUIF_Types.PCUIF_data.trx_nr", &INTEGER_ber_, &PCUIF__data_trx__nr_raw_, &INTEGER_text_, &PCUIF__data_trx__nr_xer_, &INTEGER_json_, &PCUIF__data_trx__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_trx__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_ts__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_ts__nr_xer_ = { {"ts_nr>\n", "ts_nr>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_ts__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_ts__nr_descr_ = { "@PCUIF_Types.PCUIF_data.ts_nr", &INTEGER_ber_, &PCUIF__data_ts__nr_raw_, &INTEGER_text_, &PCUIF__data_ts__nr_xer_, &INTEGER_json_, &PCUIF__data_ts__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_ts__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_block__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_block__nr_xer_ = { {"block_nr>\n", "block_nr>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_block__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_block__nr_descr_ = { "@PCUIF_Types.PCUIF_data.block_nr", &INTEGER_ber_, &PCUIF__data_block__nr_raw_, &INTEGER_text_, &PCUIF__data_block__nr_xer_, &INTEGER_json_, &PCUIF__data_block__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_block__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_rssi_raw_ = {8,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_rssi_xer_ = { {"rssi>\n", "rssi>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_rssi_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_rssi_descr_ = { "@PCUIF_Types.PCUIF_data.rssi", &INTEGER_ber_, &PCUIF__data_rssi_raw_, &INTEGER_text_, &PCUIF__data_rssi_xer_, &INTEGER_json_, &PCUIF__data_rssi_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_rssi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_ber10k_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_ber10k_xer_ = { {"ber10k>\n", "ber10k>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_ber10k_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_ber10k_descr_ = { "@PCUIF_Types.PCUIF_data.ber10k", &INTEGER_ber_, &PCUIF__data_ber10k_raw_, &INTEGER_text_, &PCUIF__data_ber10k_xer_, &INTEGER_json_, &PCUIF__data_ber10k_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_ber10k_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_ta__offs__qbits_raw_ = {16,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_ta__offs__qbits_xer_ = { {"ta_offs_qbits>\n", "ta_offs_qbits>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_ta__offs__qbits_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_ta__offs__qbits_descr_ = { "@PCUIF_Types.PCUIF_data.ta_offs_qbits", &INTEGER_ber_, &PCUIF__data_ta__offs__qbits_raw_, &INTEGER_text_, &PCUIF__data_ta__offs__qbits_xer_, &INTEGER_json_, &PCUIF__data_ta__offs__qbits_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_ta__offs__qbits_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_lqual__cb_raw_ = {16,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data_lqual__cb_xer_ = { {"lqual_cb>\n", "lqual_cb>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data_lqual__cb_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data_lqual__cb_descr_ = { "@PCUIF_Types.PCUIF_data.lqual_cb", &INTEGER_ber_, &PCUIF__data_lqual__cb_raw_, &INTEGER_text_, &PCUIF__data_lqual__cb_xer_, &INTEGER_json_, &PCUIF__data_lqual__cb_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_lqual__cb_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__data
-const TTCN_Typedescriptor_t PCUIF__data_descr_ = { "@PCUIF_Types.PCUIF_data", NULL, &PCUIF__data_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__data__cnf__dt_sapi
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_sapi_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.sapi", NULL, &PCUIF__data__cnf__dt_sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_tlli_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_tlli_xer_ = { {"tlli>\n", "tlli>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__data__cnf__dt_tlli_oer_ext_arr_[0] = {};
-const int PCUIF__data__cnf__dt_tlli_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_tlli_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__data__cnf__dt_tlli_oer_ext_arr_, 0, PCUIF__data__cnf__dt_tlli_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_tlli_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.tlli", &OCTETSTRING_ber_, &PCUIF__data__cnf__dt_tlli_raw_, &OCTETSTRING_text_, &PCUIF__data__cnf__dt_tlli_xer_, &OCTETSTRING_json_, &PCUIF__data__cnf__dt_tlli_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_tlli_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_fn_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_fn_xer_ = { {"fn>\n", "fn>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_fn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_fn_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.fn", &INTEGER_ber_, &PCUIF__data__cnf__dt_fn_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_fn_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_fn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_fn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_arfcn_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_arfcn_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.arfcn", &INTEGER_ber_, &PCUIF__data__cnf__dt_arfcn_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_arfcn_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_trx__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_trx__nr_xer_ = { {"trx_nr>\n", "trx_nr>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_trx__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_trx__nr_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.trx_nr", &INTEGER_ber_, &PCUIF__data__cnf__dt_trx__nr_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_trx__nr_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_trx__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_trx__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ts__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_ts__nr_xer_ = { {"ts_nr>\n", "ts_nr>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ts__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ts__nr_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.ts_nr", &INTEGER_ber_, &PCUIF__data__cnf__dt_ts__nr_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_ts__nr_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_ts__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ts__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_block__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_block__nr_xer_ = { {"block_nr>\n", "block_nr>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_block__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_block__nr_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.block_nr", &INTEGER_ber_, &PCUIF__data__cnf__dt_block__nr_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_block__nr_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_block__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_block__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_rssi_raw_ = {8,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_rssi_xer_ = { {"rssi>\n", "rssi>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_rssi_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_rssi_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.rssi", &INTEGER_ber_, &PCUIF__data__cnf__dt_rssi_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_rssi_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_rssi_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_rssi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ber10k_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_ber10k_xer_ = { {"ber10k>\n", "ber10k>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ber10k_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ber10k_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.ber10k", &INTEGER_ber_, &PCUIF__data__cnf__dt_ber10k_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_ber10k_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_ber10k_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ber10k_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_raw_ = {16,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_xer_ = { {"ta_offs_qbits>\n", "ta_offs_qbits>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.ta_offs_qbits", &INTEGER_ber_, &PCUIF__data__cnf__dt_ta__offs__qbits_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_ta__offs__qbits_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_ta__offs__qbits_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ta__offs__qbits_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_lqual__cb_raw_ = {16,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__data__cnf__dt_lqual__cb_xer_ = { {"lqual_cb>\n", "lqual_cb>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_lqual__cb_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_lqual__cb_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt.lqual_cb", &INTEGER_ber_, &PCUIF__data__cnf__dt_lqual__cb_raw_, &INTEGER_text_, &PCUIF__data__cnf__dt_lqual__cb_xer_, &INTEGER_json_, &PCUIF__data__cnf__dt_lqual__cb_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_lqual__cb_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__data__cnf__dt
-const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_descr_ = { "@PCUIF_Types.PCUIF_data_cnf_dt", NULL, &PCUIF__data__cnf__dt_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__rts__req_sapi
-const TTCN_Typedescriptor_t PCUIF__rts__req_sapi_descr_ = { "@PCUIF_Types.PCUIF_rts_req.sapi", NULL, &PCUIF__rts__req_sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_spare_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_spare_xer_ = { {"spare>\n", "spare>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__rts__req_spare_oer_ext_arr_[0] = {};
-const int PCUIF__rts__req_spare_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__rts__req_spare_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__rts__req_spare_oer_ext_arr_, 0, PCUIF__rts__req_spare_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__rts__req_spare_descr_ = { "@PCUIF_Types.PCUIF_rts_req.spare", &OCTETSTRING_ber_, &PCUIF__rts__req_spare_raw_, &OCTETSTRING_text_, &PCUIF__rts__req_spare_xer_, &OCTETSTRING_json_, &PCUIF__rts__req_spare_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_spare_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_fn_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_fn_xer_ = { {"fn>\n", "fn>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rts__req_fn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rts__req_fn_descr_ = { "@PCUIF_Types.PCUIF_rts_req.fn", &INTEGER_ber_, &PCUIF__rts__req_fn_raw_, &INTEGER_text_, &PCUIF__rts__req_fn_xer_, &INTEGER_json_, &PCUIF__rts__req_fn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_fn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_arfcn_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rts__req_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rts__req_arfcn_descr_ = { "@PCUIF_Types.PCUIF_rts_req.arfcn", &INTEGER_ber_, &PCUIF__rts__req_arfcn_raw_, &INTEGER_text_, &PCUIF__rts__req_arfcn_xer_, &INTEGER_json_, &PCUIF__rts__req_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_trx__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_trx__nr_xer_ = { {"trx_nr>\n", "trx_nr>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rts__req_trx__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rts__req_trx__nr_descr_ = { "@PCUIF_Types.PCUIF_rts_req.trx_nr", &INTEGER_ber_, &PCUIF__rts__req_trx__nr_raw_, &INTEGER_text_, &PCUIF__rts__req_trx__nr_xer_, &INTEGER_json_, &PCUIF__rts__req_trx__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_trx__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_ts__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_ts__nr_xer_ = { {"ts_nr>\n", "ts_nr>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rts__req_ts__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rts__req_ts__nr_descr_ = { "@PCUIF_Types.PCUIF_rts_req.ts_nr", &INTEGER_ber_, &PCUIF__rts__req_ts__nr_raw_, &INTEGER_text_, &PCUIF__rts__req_ts__nr_xer_, &INTEGER_json_, &PCUIF__rts__req_ts__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_ts__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_block__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rts__req_block__nr_xer_ = { {"block_nr>\n", "block_nr>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rts__req_block__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rts__req_block__nr_descr_ = { "@PCUIF_Types.PCUIF_rts_req.block_nr", &INTEGER_ber_, &PCUIF__rts__req_block__nr_raw_, &INTEGER_text_, &PCUIF__rts__req_block__nr_xer_, &INTEGER_json_, &PCUIF__rts__req_block__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_block__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rts__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__rts__req
-const TTCN_Typedescriptor_t PCUIF__rts__req_descr_ = { "@PCUIF_Types.PCUIF_rts_req", NULL, &PCUIF__rts__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rts__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__BurstType_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__BurstType
-const TTCN_Typedescriptor_t PCUIF__BurstType_descr_ = { "@PCUIF_Types.PCUIF_BurstType", NULL, &PCUIF__BurstType_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__BurstType_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__rach__ind_sapi
-const TTCN_Typedescriptor_t PCUIF__rach__ind_sapi_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.sapi", NULL, &PCUIF__rach__ind_sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_ra_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rach__ind_ra_xer_ = { {"ra>\n", "ra>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rach__ind_ra_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rach__ind_ra_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.ra", &INTEGER_ber_, &PCUIF__rach__ind_ra_raw_, &INTEGER_text_, &PCUIF__rach__ind_ra_xer_, &INTEGER_json_, &PCUIF__rach__ind_ra_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_ra_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_qta_raw_ = {16,SG_SG_BIT,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rach__ind_qta_xer_ = { {"qta>\n", "qta>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rach__ind_qta_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rach__ind_qta_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.qta", &INTEGER_ber_, &PCUIF__rach__ind_qta_raw_, &INTEGER_text_, &PCUIF__rach__ind_qta_xer_, &INTEGER_json_, &PCUIF__rach__ind_qta_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_qta_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_fn_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rach__ind_fn_xer_ = { {"fn>\n", "fn>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rach__ind_fn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rach__ind_fn_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.fn", &INTEGER_ber_, &PCUIF__rach__ind_fn_raw_, &INTEGER_text_, &PCUIF__rach__ind_fn_xer_, &INTEGER_json_, &PCUIF__rach__ind_fn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_fn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_arfcn_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rach__ind_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rach__ind_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rach__ind_arfcn_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.arfcn", &INTEGER_ber_, &PCUIF__rach__ind_arfcn_raw_, &INTEGER_text_, &PCUIF__rach__ind_arfcn_xer_, &INTEGER_json_, &PCUIF__rach__ind_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_is__11bit_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__rach__ind_is__11bit_xer_ = { {"is_11bit>\n", "is_11bit>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__rach__ind_is__11bit_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__rach__ind_is__11bit_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.is_11bit", &INTEGER_ber_, &PCUIF__rach__ind_is__11bit_raw_, &INTEGER_text_, &PCUIF__rach__ind_is__11bit_xer_, &INTEGER_json_, &PCUIF__rach__ind_is__11bit_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_is__11bit_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_burst__type_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__rach__ind_burst__type
-const TTCN_Typedescriptor_t PCUIF__rach__ind_burst__type_descr_ = { "@PCUIF_Types.PCUIF_rach_ind.burst_type", NULL, &PCUIF__rach__ind_burst__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_burst__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__rach__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__rach__ind
-const TTCN_Typedescriptor_t PCUIF__rach__ind_descr_ = { "@PCUIF_Types.PCUIF_rach_ind", NULL, &PCUIF__rach__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__rach__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_arfcn_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__InfoTrx_arfcn_xer_ = { {"arfcn>\n", "arfcn>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__InfoTrx_arfcn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_arfcn_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx.arfcn", &INTEGER_ber_, &PCUIF__InfoTrx_arfcn_raw_, &INTEGER_text_, &PCUIF__InfoTrx_arfcn_xer_, &INTEGER_json_, &PCUIF__InfoTrx_arfcn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_arfcn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_pdch__mask_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__InfoTrx_pdch__mask_xer_ = { {"pdch_mask>\n", "pdch_mask>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_pdch__mask_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx.pdch_mask", &BITSTRING_ber_, &PCUIF__InfoTrx_pdch__mask_raw_, NULL, &PCUIF__InfoTrx_pdch__mask_xer_, &BITSTRING_json_, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_pdch__mask_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_spare_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__InfoTrx_spare_xer_ = { {"spare>\n", "spare>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__InfoTrx_spare_oer_ext_arr_[0] = {};
-const int PCUIF__InfoTrx_spare_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__InfoTrx_spare_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__InfoTrx_spare_oer_ext_arr_, 0, PCUIF__InfoTrx_spare_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_spare_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx.spare", &OCTETSTRING_ber_, &PCUIF__InfoTrx_spare_raw_, &OCTETSTRING_text_, &PCUIF__InfoTrx_spare_xer_, &OCTETSTRING_json_, &PCUIF__InfoTrx_spare_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_spare_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_tsc_raw_ = {64,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__InfoTrx_tsc_xer_ = { {"tsc>\n", "tsc>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__InfoTrx_tsc_oer_ext_arr_[0] = {};
-const int PCUIF__InfoTrx_tsc_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__InfoTrx_tsc_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__InfoTrx_tsc_oer_ext_arr_, 0, PCUIF__InfoTrx_tsc_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_tsc_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx.tsc", &OCTETSTRING_ber_, &PCUIF__InfoTrx_tsc_raw_, &OCTETSTRING_text_, &PCUIF__InfoTrx_tsc_xer_, &OCTETSTRING_json_, &PCUIF__InfoTrx_tsc_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_tsc_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_hLayer1_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__InfoTrx_hLayer1_xer_ = { {"hLayer1>\n", "hLayer1>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__InfoTrx_hLayer1_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_hLayer1_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx.hLayer1", &INTEGER_ber_, &PCUIF__InfoTrx_hLayer1_raw_, &INTEGER_text_, &PCUIF__InfoTrx_hLayer1_xer_, &INTEGER_json_, &PCUIF__InfoTrx_hLayer1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_hLayer1_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrx_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__InfoTrx
-const TTCN_Typedescriptor_t PCUIF__InfoTrx_descr_ = { "@PCUIF_Types.PCUIF_InfoTrx", NULL, &PCUIF__InfoTrx_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrx_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__InfoTrxs_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__InfoTrxs
-const TTCN_Typedescriptor_t PCUIF__InfoTrxs_descr_ = { "@PCUIF_Types.PCUIF_InfoTrxs", NULL, &PCUIF__InfoTrxs_raw_, NULL, NULL, NULL, NULL, &PCUIF__InfoTrxs_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__InfoTrxs_0_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__InfoTrxs_0
-const TTCN_Typedescriptor_t PCUIF__InfoTrxs_0_descr_ = { "@PCUIF_Types.PCUIF_InfoTrxs.<oftype>", NULL, &PCUIF__InfoTrxs_0_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__InfoTrxs_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__InfoTrxs_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_version_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_version_xer_ = { {"version>\n", "version>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_version_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_version_descr_ = { "@PCUIF_Types.PCUIF_info_ind.version", &INTEGER_ber_, &PCUIF__info__ind_version_raw_, &INTEGER_text_, &PCUIF__info__ind_version_xer_, &INTEGER_json_, &PCUIF__info__ind_version_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_version_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_flags_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_flags
-const TTCN_Typedescriptor_t PCUIF__info__ind_flags_descr_ = { "@PCUIF_Types.PCUIF_info_ind.flags", NULL, &PCUIF__info__ind_flags_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_flags_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_trx_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_trx
-const TTCN_Typedescriptor_t PCUIF__info__ind_trx_descr_ = { "@PCUIF_Types.PCUIF_info_ind.trx", NULL, &PCUIF__info__ind_trx_raw_, NULL, NULL, NULL, NULL, &PCUIF__InfoTrxs_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_trx_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_bsic_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_bsic_xer_ = { {"bsic>\n", "bsic>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_bsic_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_bsic_descr_ = { "@PCUIF_Types.PCUIF_info_ind.bsic", &INTEGER_ber_, &PCUIF__info__ind_bsic_raw_, &INTEGER_text_, &PCUIF__info__ind_bsic_xer_, &INTEGER_json_, &PCUIF__info__ind_bsic_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_bsic_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_mcc_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_mcc_xer_ = { {"mcc>\n", "mcc>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_mcc_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_mcc_descr_ = { "@PCUIF_Types.PCUIF_info_ind.mcc", &INTEGER_ber_, &PCUIF__info__ind_mcc_raw_, &INTEGER_text_, &PCUIF__info__ind_mcc_xer_, &INTEGER_json_, &PCUIF__info__ind_mcc_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_mcc_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_mnc_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_mnc_xer_ = { {"mnc>\n", "mnc>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_mnc_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_mnc_descr_ = { "@PCUIF_Types.PCUIF_info_ind.mnc", &INTEGER_ber_, &PCUIF__info__ind_mnc_raw_, &INTEGER_text_, &PCUIF__info__ind_mnc_xer_, &INTEGER_json_, &PCUIF__info__ind_mnc_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_mnc_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_mnc__3__digits_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_mnc__3__digits_xer_ = { {"mnc_3_digits>\n", "mnc_3_digits>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_mnc__3__digits_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_mnc__3__digits_descr_ = { "@PCUIF_Types.PCUIF_info_ind.mnc_3_digits", &INTEGER_ber_, &PCUIF__info__ind_mnc__3__digits_raw_, &INTEGER_text_, &PCUIF__info__ind_mnc__3__digits_xer_, &INTEGER_json_, &PCUIF__info__ind_mnc__3__digits_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_mnc__3__digits_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_lac_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_lac_xer_ = { {"lac>\n", "lac>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_lac_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_lac_descr_ = { "@PCUIF_Types.PCUIF_info_ind.lac", &INTEGER_ber_, &PCUIF__info__ind_lac_raw_, &INTEGER_text_, &PCUIF__info__ind_lac_xer_, &INTEGER_json_, &PCUIF__info__ind_lac_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_lac_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_rac_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_rac_xer_ = { {"rac>\n", "rac>\n"}, {5, 5}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_rac_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_rac_descr_ = { "@PCUIF_Types.PCUIF_info_ind.rac", &INTEGER_ber_, &PCUIF__info__ind_rac_raw_, &INTEGER_text_, &PCUIF__info__ind_rac_xer_, &INTEGER_json_, &PCUIF__info__ind_rac_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_rac_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_nsei_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_nsei_xer_ = { {"nsei>\n", "nsei>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_nsei_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_nsei_descr_ = { "@PCUIF_Types.PCUIF_info_ind.nsei", &INTEGER_ber_, &PCUIF__info__ind_nsei_raw_, &INTEGER_text_, &PCUIF__info__ind_nsei_xer_, &INTEGER_json_, &PCUIF__info__ind_nsei_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_nsei_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_nse__timer_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_nse__timer
-const TTCN_Typedescriptor_t PCUIF__info__ind_nse__timer_descr_ = { "@PCUIF_Types.PCUIF_info_ind.nse_timer", NULL, &PCUIF__info__ind_nse__timer_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_nse__timer_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_nse__timer_0_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_nse__timer_0_xer_ = { {"uint8_t>\n", "uint8_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_nse__timer_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_nse__timer_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.nse_timer.<oftype>", &INTEGER_ber_, &PCUIF__info__ind_nse__timer_0_raw_, &INTEGER_text_, &PCUIF__info__ind_nse__timer_0_xer_, &INTEGER_json_, &PCUIF__info__ind_nse__timer_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_nse__timer_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_nse__timer_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__timer_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_cell__timer
-const TTCN_Typedescriptor_t PCUIF__info__ind_cell__timer_descr_ = { "@PCUIF_Types.PCUIF_info_ind.cell_timer", NULL, &PCUIF__info__ind_cell__timer_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_cell__timer_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__timer_0_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_cell__timer_0_xer_ = { {"uint8_t>\n", "uint8_t>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_cell__timer_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_cell__timer_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.cell_timer.<oftype>", &INTEGER_ber_, &PCUIF__info__ind_cell__timer_0_raw_, &INTEGER_text_, &PCUIF__info__ind_cell__timer_0_xer_, &INTEGER_json_, &PCUIF__info__ind_cell__timer_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__timer_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__timer_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__id_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_cell__id_xer_ = { {"cell_id>\n", "cell_id>\n"}, {9, 9}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_cell__id_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_cell__id_descr_ = { "@PCUIF_Types.PCUIF_info_ind.cell_id", &INTEGER_ber_, &PCUIF__info__ind_cell__id_raw_, &INTEGER_text_, &PCUIF__info__ind_cell__id_xer_, &INTEGER_json_, &PCUIF__info__ind_cell__id_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__id_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_repeat__time_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_repeat__time_xer_ = { {"repeat_time>\n", "repeat_time>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_repeat__time_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_repeat__time_descr_ = { "@PCUIF_Types.PCUIF_info_ind.repeat_time", &INTEGER_ber_, &PCUIF__info__ind_repeat__time_raw_, &INTEGER_text_, &PCUIF__info__ind_repeat__time_xer_, &INTEGER_json_, &PCUIF__info__ind_repeat__time_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_repeat__time_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_repeat__count_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_repeat__count_xer_ = { {"repeat_count>\n", "repeat_count>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_repeat__count_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_repeat__count_descr_ = { "@PCUIF_Types.PCUIF_info_ind.repeat_count", &INTEGER_ber_, &PCUIF__info__ind_repeat__count_raw_, &INTEGER_text_, &PCUIF__info__ind_repeat__count_xer_, &INTEGER_json_, &PCUIF__info__ind_repeat__count_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_repeat__count_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_bvci_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_bvci_xer_ = { {"bvci>\n", "bvci>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_bvci_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_bvci_descr_ = { "@PCUIF_Types.PCUIF_info_ind.bvci", &INTEGER_ber_, &PCUIF__info__ind_bvci_raw_, &INTEGER_text_, &PCUIF__info__ind_bvci_xer_, &INTEGER_json_, &PCUIF__info__ind_bvci_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_bvci_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3142_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3142_xer_ = { {"t3142>\n", "t3142>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3142_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3142_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3142", &INTEGER_ber_, &PCUIF__info__ind_t3142_raw_, &INTEGER_text_, &PCUIF__info__ind_t3142_xer_, &INTEGER_json_, &PCUIF__info__ind_t3142_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3142_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3169_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3169_xer_ = { {"t3169>\n", "t3169>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3169_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3169_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3169", &INTEGER_ber_, &PCUIF__info__ind_t3169_raw_, &INTEGER_text_, &PCUIF__info__ind_t3169_xer_, &INTEGER_json_, &PCUIF__info__ind_t3169_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3169_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3191_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3191_xer_ = { {"t3191>\n", "t3191>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3191_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3191_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3191", &INTEGER_ber_, &PCUIF__info__ind_t3191_raw_, &INTEGER_text_, &PCUIF__info__ind_t3191_xer_, &INTEGER_json_, &PCUIF__info__ind_t3191_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3191_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3193__10ms_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3193__10ms_xer_ = { {"t3193_10ms>\n", "t3193_10ms>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3193__10ms_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3193__10ms_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3193_10ms", &INTEGER_ber_, &PCUIF__info__ind_t3193__10ms_raw_, &INTEGER_text_, &PCUIF__info__ind_t3193__10ms_xer_, &INTEGER_json_, &PCUIF__info__ind_t3193__10ms_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3193__10ms_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3195_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3195_xer_ = { {"t3195>\n", "t3195>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3195_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3195_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3195", &INTEGER_ber_, &PCUIF__info__ind_t3195_raw_, &INTEGER_text_, &PCUIF__info__ind_t3195_xer_, &INTEGER_json_, &PCUIF__info__ind_t3195_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3195_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3101_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3101_xer_ = { {"t3101>\n", "t3101>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3101_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3101_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3101", &INTEGER_ber_, &PCUIF__info__ind_t3101_raw_, &INTEGER_text_, &PCUIF__info__ind_t3101_xer_, &INTEGER_json_, &PCUIF__info__ind_t3101_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3101_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3103_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3103_xer_ = { {"t3103>\n", "t3103>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3103_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3103_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3103", &INTEGER_ber_, &PCUIF__info__ind_t3103_raw_, &INTEGER_text_, &PCUIF__info__ind_t3103_xer_, &INTEGER_json_, &PCUIF__info__ind_t3103_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3103_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_t3105_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_t3105_xer_ = { {"t3105>\n", "t3105>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_t3105_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_t3105_descr_ = { "@PCUIF_Types.PCUIF_info_ind.t3105", &INTEGER_ber_, &PCUIF__info__ind_t3105_raw_, &INTEGER_text_, &PCUIF__info__ind_t3105_xer_, &INTEGER_json_, &PCUIF__info__ind_t3105_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_t3105_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_cv__countdown_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_cv__countdown_xer_ = { {"cv_countdown>\n", "cv_countdown>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_cv__countdown_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_cv__countdown_descr_ = { "@PCUIF_Types.PCUIF_info_ind.cv_countdown", &INTEGER_ber_, &PCUIF__info__ind_cv__countdown_raw_, &INTEGER_text_, &PCUIF__info__ind_cv__countdown_xer_, &INTEGER_json_, &PCUIF__info__ind_cv__countdown_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_cv__countdown_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_dl__tbf__ext_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_dl__tbf__ext_xer_ = { {"dl_tbf_ext>\n", "dl_tbf_ext>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_dl__tbf__ext_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_dl__tbf__ext_descr_ = { "@PCUIF_Types.PCUIF_info_ind.dl_tbf_ext", &INTEGER_ber_, &PCUIF__info__ind_dl__tbf__ext_raw_, &INTEGER_text_, &PCUIF__info__ind_dl__tbf__ext_xer_, &INTEGER_json_, &PCUIF__info__ind_dl__tbf__ext_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_dl__tbf__ext_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_ul__tbf__ext_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_ul__tbf__ext_xer_ = { {"ul_tbf_ext>\n", "ul_tbf_ext>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_ul__tbf__ext_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_ul__tbf__ext_descr_ = { "@PCUIF_Types.PCUIF_info_ind.ul_tbf_ext", &INTEGER_ber_, &PCUIF__info__ind_ul__tbf__ext_raw_, &INTEGER_text_, &PCUIF__info__ind_ul__tbf__ext_xer_, &INTEGER_json_, &PCUIF__info__ind_ul__tbf__ext_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_ul__tbf__ext_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_initial__cs_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_initial__cs_xer_ = { {"initial_cs>\n", "initial_cs>\n"}, {12, 12}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_initial__cs_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_initial__cs_descr_ = { "@PCUIF_Types.PCUIF_info_ind.initial_cs", &INTEGER_ber_, &PCUIF__info__ind_initial__cs_raw_, &INTEGER_text_, &PCUIF__info__ind_initial__cs_xer_, &INTEGER_json_, &PCUIF__info__ind_initial__cs_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_initial__cs_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_initial__mcs_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_initial__mcs_xer_ = { {"initial_mcs>\n", "initial_mcs>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_initial__mcs_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_initial__mcs_descr_ = { "@PCUIF_Types.PCUIF_info_ind.initial_mcs", &INTEGER_ber_, &PCUIF__info__ind_initial__mcs_raw_, &INTEGER_text_, &PCUIF__info__ind_initial__mcs_xer_, &INTEGER_json_, &PCUIF__info__ind_initial__mcs_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_initial__mcs_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_nsvci_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_nsvci
-const TTCN_Typedescriptor_t PCUIF__info__ind_nsvci_descr_ = { "@PCUIF_Types.PCUIF_info_ind.nsvci", NULL, &PCUIF__info__ind_nsvci_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_nsvci_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_nsvci_0_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_nsvci_0_xer_ = { {"uint16_t>\n", "uint16_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_nsvci_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_nsvci_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.nsvci.<oftype>", &INTEGER_ber_, &PCUIF__info__ind_nsvci_0_raw_, &INTEGER_text_, &PCUIF__info__ind_nsvci_0_xer_, &INTEGER_json_, &PCUIF__info__ind_nsvci_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_nsvci_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_nsvci_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_local__pprt_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_local__pprt
-const TTCN_Typedescriptor_t PCUIF__info__ind_local__pprt_descr_ = { "@PCUIF_Types.PCUIF_info_ind.local_pprt", NULL, &PCUIF__info__ind_local__pprt_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_local__pprt_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_local__pprt_0_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_local__pprt_0_xer_ = { {"uint16_t>\n", "uint16_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_local__pprt_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_local__pprt_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.local_pprt.<oftype>", &INTEGER_ber_, &PCUIF__info__ind_local__pprt_0_raw_, &INTEGER_text_, &PCUIF__info__ind_local__pprt_0_xer_, &INTEGER_json_, &PCUIF__info__ind_local__pprt_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_local__pprt_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_local__pprt_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__port_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_remote__port
-const TTCN_Typedescriptor_t PCUIF__info__ind_remote__port_descr_ = { "@PCUIF_Types.PCUIF_info_ind.remote_port", NULL, &PCUIF__info__ind_remote__port_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_remote__port_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__port_0_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_remote__port_0_xer_ = { {"uint16_t>\n", "uint16_t>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__info__ind_remote__port_0_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__info__ind_remote__port_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.remote_port.<oftype>", &INTEGER_ber_, &PCUIF__info__ind_remote__port_0_raw_, &INTEGER_text_, &PCUIF__info__ind_remote__port_0_xer_, &INTEGER_json_, &PCUIF__info__ind_remote__port_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__port_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__port_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__ip_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind_remote__ip
-const TTCN_Typedescriptor_t PCUIF__info__ind_remote__ip_descr_ = { "@PCUIF_Types.PCUIF_info_ind.remote_ip", NULL, &PCUIF__info__ind_remote__ip_raw_, NULL, NULL, NULL, NULL, &PCUIF__info__ind_remote__ip_0_descr_, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__ip_0_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__info__ind_remote__ip_0_xer_ = { {"OCT4>\n", "OCT4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__info__ind_remote__ip_0_oer_ext_arr_[0] = {};
-const int PCUIF__info__ind_remote__ip_0_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__info__ind_remote__ip_0_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__info__ind_remote__ip_0_oer_ext_arr_, 0, PCUIF__info__ind_remote__ip_0_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__info__ind_remote__ip_0_descr_ = { "@PCUIF_Types.PCUIF_info_ind.remote_ip.<oftype>", &OCTETSTRING_ber_, &PCUIF__info__ind_remote__ip_0_raw_, &OCTETSTRING_text_, &PCUIF__info__ind_remote__ip_0_xer_, &OCTETSTRING_json_, &PCUIF__info__ind_remote__ip_0_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__ip_0_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__ip_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__info__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__info__ind
-const TTCN_Typedescriptor_t PCUIF__info__ind_descr_ = { "@PCUIF_Types.PCUIF_info_ind", NULL, &PCUIF__info__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__info__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__act__req_is__activate_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__act__req_is__activate_xer_ = { {"is_activate>\n", "is_activate>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__act__req_is__activate_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__act__req_is__activate_descr_ = { "@PCUIF_Types.PCUIF_act_req.is_activate", &INTEGER_ber_, &PCUIF__act__req_is__activate_raw_, &INTEGER_text_, &PCUIF__act__req_is__activate_xer_, &INTEGER_json_, &PCUIF__act__req_is__activate_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__act__req_is__activate_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__act__req_trx__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__act__req_trx__nr_xer_ = { {"trx_nr>\n", "trx_nr>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__act__req_trx__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__act__req_trx__nr_descr_ = { "@PCUIF_Types.PCUIF_act_req.trx_nr", &INTEGER_ber_, &PCUIF__act__req_trx__nr_raw_, &INTEGER_text_, &PCUIF__act__req_trx__nr_xer_, &INTEGER_json_, &PCUIF__act__req_trx__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__act__req_trx__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__act__req_ts__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__act__req_ts__nr_xer_ = { {"ts_nr>\n", "ts_nr>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__act__req_ts__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__act__req_ts__nr_descr_ = { "@PCUIF_Types.PCUIF_act_req.ts_nr", &INTEGER_ber_, &PCUIF__act__req_ts__nr_raw_, &INTEGER_text_, &PCUIF__act__req_ts__nr_xer_, &INTEGER_json_, &PCUIF__act__req_ts__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__act__req_ts__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__act__req_spare_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__act__req_spare_xer_ = { {"spare>\n", "spare>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__act__req_spare_oer_ext_arr_[0] = {};
-const int PCUIF__act__req_spare_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__act__req_spare_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__act__req_spare_oer_ext_arr_, 0, PCUIF__act__req_spare_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__act__req_spare_descr_ = { "@PCUIF_Types.PCUIF_act_req.spare", &OCTETSTRING_ber_, &PCUIF__act__req_spare_raw_, &OCTETSTRING_text_, &PCUIF__act__req_spare_xer_, &OCTETSTRING_json_, &PCUIF__act__req_spare_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__act__req_spare_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__act__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__act__req
-const TTCN_Typedescriptor_t PCUIF__act__req_descr_ = { "@PCUIF_Types.PCUIF_act_req", NULL, &PCUIF__act__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__act__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__time__ind_fn_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__time__ind_fn_xer_ = { {"fn>\n", "fn>\n"}, {4, 4}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__time__ind_fn_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__time__ind_fn_descr_ = { "@PCUIF_Types.PCUIF_time_ind.fn", &INTEGER_ber_, &PCUIF__time__ind_fn_raw_, &INTEGER_text_, &PCUIF__time__ind_fn_xer_, &INTEGER_json_, &PCUIF__time__ind_fn_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__time__ind_fn_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__time__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__time__ind
-const TTCN_Typedescriptor_t PCUIF__time__ind_descr_ = { "@PCUIF_Types.PCUIF_time_ind", NULL, &PCUIF__time__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__time__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__pag__req_sapi_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__pag__req_sapi
-const TTCN_Typedescriptor_t PCUIF__pag__req_sapi_descr_ = { "@PCUIF_Types.PCUIF_pag_req.sapi", NULL, &PCUIF__pag__req_sapi_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__pag__req_sapi_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__pag__req_chan__needed_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__pag__req_chan__needed_xer_ = { {"chan_needed>\n", "chan_needed>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__pag__req_chan__needed_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__pag__req_chan__needed_descr_ = { "@PCUIF_Types.PCUIF_pag_req.chan_needed", &INTEGER_ber_, &PCUIF__pag__req_chan__needed_raw_, &INTEGER_text_, &PCUIF__pag__req_chan__needed_xer_, &INTEGER_json_, &PCUIF__pag__req_chan__needed_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__pag__req_chan__needed_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__pag__req_identity__lv_raw_ = {72,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,9,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__pag__req_identity__lv_xer_ = { {"identity_lv>\n", "identity_lv>\n"}, {13, 13}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__pag__req_identity__lv_oer_ext_arr_[0] = {};
-const int PCUIF__pag__req_identity__lv_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__pag__req_identity__lv_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__pag__req_identity__lv_oer_ext_arr_, 0, PCUIF__pag__req_identity__lv_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__pag__req_identity__lv_descr_ = { "@PCUIF_Types.PCUIF_pag_req.identity_lv", &OCTETSTRING_ber_, &PCUIF__pag__req_identity__lv_raw_, &OCTETSTRING_text_, &PCUIF__pag__req_identity__lv_xer_, &OCTETSTRING_json_, &PCUIF__pag__req_identity__lv_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__pag__req_identity__lv_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__pag__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__pag__req
-const TTCN_Typedescriptor_t PCUIF__pag__req_descr_ = { "@PCUIF_Types.PCUIF_pag_req", NULL, &PCUIF__pag__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__pag__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__susp__req_tlli_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__susp__req_tlli_xer_ = { {"tlli>\n", "tlli>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__susp__req_tlli_oer_ext_arr_[0] = {};
-const int PCUIF__susp__req_tlli_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__susp__req_tlli_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__susp__req_tlli_oer_ext_arr_, 0, PCUIF__susp__req_tlli_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__susp__req_tlli_descr_ = { "@PCUIF_Types.PCUIF_susp_req.tlli", &OCTETSTRING_ber_, &PCUIF__susp__req_tlli_raw_, &OCTETSTRING_text_, &PCUIF__susp__req_tlli_xer_, &OCTETSTRING_json_, &PCUIF__susp__req_tlli_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__susp__req_tlli_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__susp__req_ra__id_raw_ = {48,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,6,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__susp__req_ra__id_xer_ = { {"ra_id>\n", "ra_id>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__susp__req_ra__id_oer_ext_arr_[0] = {};
-const int PCUIF__susp__req_ra__id_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__susp__req_ra__id_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__susp__req_ra__id_oer_ext_arr_, 0, PCUIF__susp__req_ra__id_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__susp__req_ra__id_descr_ = { "@PCUIF_Types.PCUIF_susp_req.ra_id", &OCTETSTRING_ber_, &PCUIF__susp__req_ra__id_raw_, &OCTETSTRING_text_, &PCUIF__susp__req_ra__id_xer_, &OCTETSTRING_json_, &PCUIF__susp__req_ra__id_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__susp__req_ra__id_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__susp__req_cause_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__susp__req_cause_xer_ = { {"cause>\n", "cause>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__susp__req_cause_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__susp__req_cause_descr_ = { "@PCUIF_Types.PCUIF_susp_req.cause", &INTEGER_ber_, &PCUIF__susp__req_cause_raw_, &INTEGER_text_, &PCUIF__susp__req_cause_xer_, &INTEGER_json_, &PCUIF__susp__req_cause_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__susp__req_cause_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__susp__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__susp__req
-const TTCN_Typedescriptor_t PCUIF__susp__req_descr_ = { "@PCUIF_Types.PCUIF_susp_req", NULL, &PCUIF__susp__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__susp__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion", NULL, &PCUIF__MsgUnion_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_data__req
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__req_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.data_req", NULL, &PCUIF__MsgUnion_data__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__cnf_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_data__cnf
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__cnf_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.data_cnf", NULL, &PCUIF__MsgUnion_data__cnf_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__cnf_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__cnf__dt_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_data__cnf__dt
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__cnf__dt_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.data_cnf_dt", NULL, &PCUIF__MsgUnion_data__cnf__dt_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__cnf__dt_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_data__ind
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__ind_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.data_ind", NULL, &PCUIF__MsgUnion_data__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_susp__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_susp__req
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_susp__req_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.susp_req", NULL, &PCUIF__MsgUnion_susp__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_susp__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_rts__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_rts__req
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_rts__req_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.rts_req", NULL, &PCUIF__MsgUnion_rts__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_rts__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_rach__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_rach__ind
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_rach__ind_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.rach_ind", NULL, &PCUIF__MsgUnion_rach__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_rach__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_txt__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_txt__ind
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_txt__ind_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.txt_ind", NULL, &PCUIF__MsgUnion_txt__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_txt__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_info__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_info__ind
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_info__ind_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.info_ind", NULL, &PCUIF__MsgUnion_info__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_info__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_act__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_act__req
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_act__req_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.act_req", NULL, &PCUIF__MsgUnion_act__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_act__req_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_time__ind_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_time__ind
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_time__ind_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.time_ind", NULL, &PCUIF__MsgUnion_time__ind_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_time__ind_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__MsgUnion_pag__req_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__MsgUnion_pag__req
-const TTCN_Typedescriptor_t PCUIF__MsgUnion_pag__req_descr_ = { "@PCUIF_Types.PCUIF_MsgUnion.pag_req", NULL, &PCUIF__MsgUnion_pag__req_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_pag__req_default_coding("RAW");
-UNIVERSAL_CHARSTRING PCUIF__MsgUnion_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Message_msg__type_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__Message_msg__type
-const TTCN_Typedescriptor_t PCUIF__Message_msg__type_descr_ = { "@PCUIF_Types.PCUIF_Message.msg_type", NULL, &PCUIF__Message_msg__type_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Message_msg__type_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Message_bts__nr_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_MSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Message_bts__nr_xer_ = { {"bts_nr>\n", "bts_nr>\n"}, {8, 8}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const TTCN_OERdescriptor_t PCUIF__Message_bts__nr_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
-const TTCN_Typedescriptor_t PCUIF__Message_bts__nr_descr_ = { "@PCUIF_Types.PCUIF_Message.bts_nr", &INTEGER_ber_, &PCUIF__Message_bts__nr_raw_, &INTEGER_text_, &PCUIF__Message_bts__nr_xer_, &INTEGER_json_, &PCUIF__Message_bts__nr_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Message_bts__nr_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Message_spare_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL};
-const XERdescriptor_t PCUIF__Message_spare_xer_ = { {"spare>\n", "spare>\n"}, {7, 7}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE, NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
-const int PCUIF__Message_spare_oer_ext_arr_[0] = {};
-const int PCUIF__Message_spare_oer_p_[0] = {};
-const TTCN_OERdescriptor_t PCUIF__Message_spare_oer_ = { -1, TRUE, -1, FALSE, 0, 0, PCUIF__Message_spare_oer_ext_arr_, 0, PCUIF__Message_spare_oer_p_};
-const TTCN_Typedescriptor_t PCUIF__Message_spare_descr_ = { "@PCUIF_Types.PCUIF_Message.spare", &OCTETSTRING_ber_, &PCUIF__Message_spare_raw_, &OCTETSTRING_text_, &PCUIF__Message_spare_xer_, &OCTETSTRING_json_, &PCUIF__Message_spare_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Message_spare_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Message_u_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__Message_u
-const TTCN_Typedescriptor_t PCUIF__Message_u_descr_ = { "@PCUIF_Types.PCUIF_Message.u", NULL, &PCUIF__Message_u_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Message_u_default_coding("RAW");
-const TTCN_RAWdescriptor_t PCUIF__Message_raw_ = {0,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,1696,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL};
-// No XER for PCUIF__Message
-const TTCN_Typedescriptor_t PCUIF__Message_descr_ = { "@PCUIF_Types.PCUIF_Message", NULL, &PCUIF__Message_raw_, NULL, NULL, NULL, NULL, NULL, TTCN_Typedescriptor_t::DONTCARE };
-UNIVERSAL_CHARSTRING PCUIF__Message_default_coding("RAW");
-static INTEGER_template template_tr__PCUIF__RTS__REQ_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__RTS__REQ_bts__nr_defval = template_tr__PCUIF__RTS__REQ_bts__nr_defval;
-static INTEGER_template template_tr__PCUIF__RTS__REQ_trx__nr_defval;
-const INTEGER_template& tr__PCUIF__RTS__REQ_trx__nr_defval = template_tr__PCUIF__RTS__REQ_trx__nr_defval;
-static INTEGER_template template_tr__PCUIF__RTS__REQ_ts__nr_defval;
-const INTEGER_template& tr__PCUIF__RTS__REQ_ts__nr_defval = template_tr__PCUIF__RTS__REQ_ts__nr_defval;
-static PCUIF__Sapi_template template_tr__PCUIF__RTS__REQ_sapi_defval;
-const PCUIF__Sapi_template& tr__PCUIF__RTS__REQ_sapi_defval = template_tr__PCUIF__RTS__REQ_sapi_defval;
-static INTEGER_template template_tr__PCUIF__RTS__REQ_fn_defval;
-const INTEGER_template& tr__PCUIF__RTS__REQ_fn_defval = template_tr__PCUIF__RTS__REQ_fn_defval;
-static INTEGER_template template_tr__PCUIF__RTS__REQ_block__nr_defval;
-const INTEGER_template& tr__PCUIF__RTS__REQ_block__nr_defval = template_tr__PCUIF__RTS__REQ_block__nr_defval;
-static CHARSTRING_template template_tr__PCUIF__TXT__IND_text_defval;
-const CHARSTRING_template& tr__PCUIF__TXT__IND_text_defval = template_tr__PCUIF__TXT__IND_text_defval;
-static INTEGER_template template_ts__PCUIF__DATA__IND_rssi_defval;
-const INTEGER_template& ts__PCUIF__DATA__IND_rssi_defval = template_ts__PCUIF__DATA__IND_rssi_defval;
-static INTEGER_template template_ts__PCUIF__DATA__IND_ber10k_defval;
-const INTEGER_template& ts__PCUIF__DATA__IND_ber10k_defval = template_ts__PCUIF__DATA__IND_ber10k_defval;
-static INTEGER_template template_ts__PCUIF__DATA__IND_ta__offs__qbits_defval;
-const INTEGER_template& ts__PCUIF__DATA__IND_ta__offs__qbits_defval = template_ts__PCUIF__DATA__IND_ta__offs__qbits_defval;
-static INTEGER_template template_ts__PCUIF__DATA__IND_lqual__cb_defval;
-const INTEGER_template& ts__PCUIF__DATA__IND_lqual__cb_defval = template_ts__PCUIF__DATA__IND_lqual__cb_defval;
-static INTEGER_template template_tr__PCUIF__DATA__IND_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__IND_bts__nr_defval = template_tr__PCUIF__DATA__IND_bts__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__IND_trx__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__IND_trx__nr_defval = template_tr__PCUIF__DATA__IND_trx__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__IND_ts__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__IND_ts__nr_defval = template_tr__PCUIF__DATA__IND_ts__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__IND_block__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__IND_block__nr_defval = template_tr__PCUIF__DATA__IND_block__nr_defval;
-static PCUIF__Sapi_template template_tr__PCUIF__DATA__IND_sapi_defval;
-const PCUIF__Sapi_template& tr__PCUIF__DATA__IND_sapi_defval = template_tr__PCUIF__DATA__IND_sapi_defval;
-static OCTETSTRING_template template_tr__PCUIF__DATA__IND_data_defval;
-const OCTETSTRING_template& tr__PCUIF__DATA__IND_data_defval = template_tr__PCUIF__DATA__IND_data_defval;
-static INTEGER_template template_tr__PCUIF__DATA__REQ_block__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__REQ_block__nr_defval = template_tr__PCUIF__DATA__REQ_block__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__REQ_fn_defval;
-const INTEGER_template& tr__PCUIF__DATA__REQ_fn_defval = template_tr__PCUIF__DATA__REQ_fn_defval;
-static PCUIF__Sapi_template template_tr__PCUIF__DATA__REQ_sapi_defval;
-const PCUIF__Sapi_template& tr__PCUIF__DATA__REQ_sapi_defval = template_tr__PCUIF__DATA__REQ_sapi_defval;
-static OCTETSTRING_template template_tr__PCUIF__DATA__REQ_data_defval;
-const OCTETSTRING_template& tr__PCUIF__DATA__REQ_data_defval = template_tr__PCUIF__DATA__REQ_data_defval;
-static INTEGER_template template_tr__PCUIF__DATA__CNF_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__CNF_bts__nr_defval = template_tr__PCUIF__DATA__CNF_bts__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__CNF_trx__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__CNF_trx__nr_defval = template_tr__PCUIF__DATA__CNF_trx__nr_defval;
-static INTEGER_template template_tr__PCUIF__DATA__CNF_ts__nr_defval;
-const INTEGER_template& tr__PCUIF__DATA__CNF_ts__nr_defval = template_tr__PCUIF__DATA__CNF_ts__nr_defval;
-static PCUIF__Sapi_template template_tr__PCUIF__DATA__CNF_sapi_defval;
-const PCUIF__Sapi_template& tr__PCUIF__DATA__CNF_sapi_defval = template_tr__PCUIF__DATA__CNF_sapi_defval;
-static OCTETSTRING_template template_tr__PCUIF__DATA__CNF_data_defval;
-const OCTETSTRING_template& tr__PCUIF__DATA__CNF_data_defval = template_tr__PCUIF__DATA__CNF_data_defval;
-static INTEGER_template template_ts__PCUIF__RACH__IND_qta_defval;
-const INTEGER_template& ts__PCUIF__RACH__IND_qta_defval = template_ts__PCUIF__RACH__IND_qta_defval;
-static INTEGER_template template_tr__PCUIF__RACH__IND_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__RACH__IND_bts__nr_defval = template_tr__PCUIF__RACH__IND_bts__nr_defval;
-static INTEGER_template template_tr__PCUIF__RACH__IND_ra_defval;
-const INTEGER_template& tr__PCUIF__RACH__IND_ra_defval = template_tr__PCUIF__RACH__IND_ra_defval;
-static INTEGER_template template_tr__PCUIF__RACH__IND_is__11bit_defval;
-const INTEGER_template& tr__PCUIF__RACH__IND_is__11bit_defval = template_tr__PCUIF__RACH__IND_is__11bit_defval;
-static PCUIF__BurstType_template template_tr__PCUIF__RACH__IND_burst__type_defval;
-const PCUIF__BurstType_template& tr__PCUIF__RACH__IND_burst__type_defval = template_tr__PCUIF__RACH__IND_burst__type_defval;
-static INTEGER_template template_tr__PCUIF__RACH__IND_fn_defval;
-const INTEGER_template& tr__PCUIF__RACH__IND_fn_defval = template_tr__PCUIF__RACH__IND_fn_defval;
-static INTEGER_template template_tr__PCUIF__PAG__REQ_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__PAG__REQ_bts__nr_defval = template_tr__PCUIF__PAG__REQ_bts__nr_defval;
-static OCTETSTRING_template template_tr__PCUIF__PAG__REQ_id__lv_defval;
-const OCTETSTRING_template& tr__PCUIF__PAG__REQ_id__lv_defval = template_tr__PCUIF__PAG__REQ_id__lv_defval;
-static INTEGER_template template_tr__PCUIF__PAG__REQ_chan__needed_defval;
-const INTEGER_template& tr__PCUIF__PAG__REQ_chan__needed_defval = template_tr__PCUIF__PAG__REQ_chan__needed_defval;
-static PCUIF__Sapi_template template_tr__PCUIF__PAG__REQ_sapi_defval;
-const PCUIF__Sapi_template& tr__PCUIF__PAG__REQ_sapi_defval = template_tr__PCUIF__PAG__REQ_sapi_defval;
-static PCUIF__Flags const_c__PCUIF__Flags__default;
-const PCUIF__Flags& c__PCUIF__Flags__default = const_c__PCUIF__Flags__default;
-static INTEGER_template template_ts__PCUIF__InfoTrx_arfcn_defval;
-const INTEGER_template& ts__PCUIF__InfoTrx_arfcn_defval = template_ts__PCUIF__InfoTrx_arfcn_defval;
-static BITSTRING_template template_ts__PCUIF__InfoTrx_pdch__mask_defval;
-const BITSTRING_template& ts__PCUIF__InfoTrx_pdch__mask_defval = template_ts__PCUIF__InfoTrx_pdch__mask_defval;
-static OCTETSTRING const_ts__PCUIF__InfoTrx_tsc_defval;
-const OCTETSTRING& ts__PCUIF__InfoTrx_tsc_defval = const_ts__PCUIF__InfoTrx_tsc_defval;
-static PCUIF__InfoTrx_template template_ts__PCUIF__InfoTrxNULL;
-const PCUIF__InfoTrx_template& ts__PCUIF__InfoTrxNULL = template_ts__PCUIF__InfoTrxNULL;
-static PCUIF__InfoTrxs_template template_ts__PCUIF__InfoTrxs__def;
-const PCUIF__InfoTrxs_template& ts__PCUIF__InfoTrxs__def = template_ts__PCUIF__InfoTrxs__def;
-static PCUIF__Flags_template template_ts__PCUIF__INFO__IND_flags_defval;
-const PCUIF__Flags_template& ts__PCUIF__INFO__IND_flags_defval = template_ts__PCUIF__INFO__IND_flags_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_mcc_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_mcc_defval = template_ts__PCUIF__INFO__IND_mcc_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_mnc_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_mnc_defval = template_ts__PCUIF__INFO__IND_mnc_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_lac_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_lac_defval = template_ts__PCUIF__INFO__IND_lac_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_rac_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_rac_defval = template_ts__PCUIF__INFO__IND_rac_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_cell__id_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_cell__id_defval = template_ts__PCUIF__INFO__IND_cell__id_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_bsic_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_bsic_defval = template_ts__PCUIF__INFO__IND_bsic_defval;
-static PCUIF__InfoTrxs_template template_ts__PCUIF__INFO__IND_trx_defval;
-const PCUIF__InfoTrxs_template& ts__PCUIF__INFO__IND_trx_defval = template_ts__PCUIF__INFO__IND_trx_defval;
-static INTEGER_template template_ts__PCUIF__INFO__IND_version_defval;
-const INTEGER_template& ts__PCUIF__INFO__IND_version_defval = template_ts__PCUIF__INFO__IND_version_defval;
-static INTEGER_template template_tr__PCUIF__INFO__IND_bts__nr_defval;
-const INTEGER_template& tr__PCUIF__INFO__IND_bts__nr_defval = template_tr__PCUIF__INFO__IND_bts__nr_defval;
-static PCUIF__Flags_template template_tr__PCUIF__INFO__IND_flags_defval;
-const PCUIF__Flags_template& tr__PCUIF__INFO__IND_flags_defval = template_tr__PCUIF__INFO__IND_flags_defval;
-static INTEGER_template template_tr__PCUIF__INFO__IND_version_defval;
-const INTEGER_template& tr__PCUIF__INFO__IND_version_defval = template_tr__PCUIF__INFO__IND_version_defval;
-TTCN_Module module_object("PCUIF_Types", __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_5,
- current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-PCUIF__MsgType::PCUIF__MsgType()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-PCUIF__MsgType::PCUIF__MsgType(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @PCUIF_Types.PCUIF_MsgType with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-PCUIF__MsgType::PCUIF__MsgType(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-PCUIF__MsgType::PCUIF__MsgType(const PCUIF__MsgType& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-enum_value = other_value.enum_value;
-}
-
-PCUIF__MsgType& PCUIF__MsgType::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_MsgType.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-PCUIF__MsgType& PCUIF__MsgType::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-PCUIF__MsgType& PCUIF__MsgType::operator=(const PCUIF__MsgType& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean PCUIF__MsgType::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 @PCUIF_Types.PCUIF_MsgType.");
-return enum_value == other_value;
-}
-
-boolean PCUIF__MsgType::operator==(const PCUIF__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-return enum_value == other_value.enum_value;
-}
-
-boolean PCUIF__MsgType::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 @PCUIF_Types.PCUIF_MsgType.");
-return enum_value < other_value;
-}
-
-boolean PCUIF__MsgType::operator<(const PCUIF__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-return enum_value < other_value.enum_value;
-}
-
-boolean PCUIF__MsgType::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 @PCUIF_Types.PCUIF_MsgType.");
-return enum_value > other_value;
-}
-
-boolean PCUIF__MsgType::operator>(const PCUIF__MsgType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-return enum_value > other_value.enum_value;
-}
-
-const char *PCUIF__MsgType::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case PCU__IF__MSG__DATA__REQ: return "PCU_IF_MSG_DATA_REQ";
-case PCU__IF__MSG__DATA__CNF: return "PCU_IF_MSG_DATA_CNF";
-case PCU__IF__MSG__DATA__IND: return "PCU_IF_MSG_DATA_IND";
-case PCU__IF__MSG__SUSP__REQ: return "PCU_IF_MSG_SUSP_REQ";
-case PCU__IF__MSG__RTS__REQ: return "PCU_IF_MSG_RTS_REQ";
-case PCU__IF__MSG__DATA__CNF__DT: return "PCU_IF_MSG_DATA_CNF_DT";
-case PCU__IF__MSG__RACH__IND: return "PCU_IF_MSG_RACH_IND";
-case PCU__IF__MSG__INFO__IND: return "PCU_IF_MSG_INFO_IND";
-case PCU__IF__MSG__ACT__REQ: return "PCU_IF_MSG_ACT_REQ";
-case PCU__IF__MSG__TIME__IND: return "PCU_IF_MSG_TIME_IND";
-case PCU__IF__MSG__PAG__REQ: return "PCU_IF_MSG_PAG_REQ";
-case PCU__IF__MSG__TXT__IND: return "PCU_IF_MSG_TXT_IND";
-default: return "<unknown>";
-}
-}
-
-PCUIF__MsgType::enum_type PCUIF__MsgType::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "PCU_IF_MSG_DATA_REQ")) return PCU__IF__MSG__DATA__REQ;
-else if (!strcmp(str_par, "PCU_IF_MSG_DATA_CNF")) return PCU__IF__MSG__DATA__CNF;
-else if (!strcmp(str_par, "PCU_IF_MSG_DATA_IND")) return PCU__IF__MSG__DATA__IND;
-else if (!strcmp(str_par, "PCU_IF_MSG_SUSP_REQ")) return PCU__IF__MSG__SUSP__REQ;
-else if (!strcmp(str_par, "PCU_IF_MSG_RTS_REQ")) return PCU__IF__MSG__RTS__REQ;
-else if (!strcmp(str_par, "PCU_IF_MSG_DATA_CNF_DT")) return PCU__IF__MSG__DATA__CNF__DT;
-else if (!strcmp(str_par, "PCU_IF_MSG_RACH_IND")) return PCU__IF__MSG__RACH__IND;
-else if (!strcmp(str_par, "PCU_IF_MSG_INFO_IND")) return PCU__IF__MSG__INFO__IND;
-else if (!strcmp(str_par, "PCU_IF_MSG_ACT_REQ")) return PCU__IF__MSG__ACT__REQ;
-else if (!strcmp(str_par, "PCU_IF_MSG_TIME_IND")) return PCU__IF__MSG__TIME__IND;
-else if (!strcmp(str_par, "PCU_IF_MSG_PAG_REQ")) return PCU__IF__MSG__PAG__REQ;
-else if (!strcmp(str_par, "PCU_IF_MSG_TXT_IND")) return PCU__IF__MSG__TXT__IND;
-else return UNKNOWN_VALUE;
-}
-
-boolean PCUIF__MsgType::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 16:
-case 17:
-case 34:
-case 50:
-case 64:
-case 82:
-case 96:
-case 112:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int PCUIF__MsgType::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 @PCUIF_Types.PCUIF_MsgType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int PCUIF__MsgType::enum2int(const PCUIF__MsgType& 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 @PCUIF_Types.PCUIF_MsgType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void PCUIF__MsgType::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_MsgType.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-PCUIF__MsgType::operator PCUIF__MsgType::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-return enum_value;
-}
-
-void PCUIF__MsgType::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 PCUIF__MsgType::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", "@PCUIF_Types.PCUIF_MsgType");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_MsgType.");
- }
-}
-
-void PCUIF__MsgType::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-text_buf.push_int(enum_value);
-}
-
-void PCUIF__MsgType::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 @PCUIF_Types.PCUIF_MsgType.", enum_value);
-}
-
-void PCUIF__MsgType::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__MsgType::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__MsgType::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 7, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int PCUIF__MsgType::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 7);
-}
-
-void PCUIF__MsgType_template::copy_template(const PCUIF__MsgType_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__MsgType_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-}
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template()
-{
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!PCUIF__MsgType::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @PCUIF_Types.PCUIF_MsgType with unknown numeric value %d.", other_value);
-single_value = (PCUIF__MsgType::enum_type)other_value;
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(PCUIF__MsgType::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(const PCUIF__MsgType& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == PCUIF__MsgType::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-single_value = other_value.enum_value;
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(const OPTIONAL<PCUIF__MsgType>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__MsgType::enum_type)(const PCUIF__MsgType&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @PCUIF_Types.PCUIF_MsgType from an unbound optional field.");
-}
-}
-
-PCUIF__MsgType_template::PCUIF__MsgType_template(const PCUIF__MsgType_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__MsgType_template::~PCUIF__MsgType_template()
-{
-clean_up();
-}
-
-boolean PCUIF__MsgType_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean PCUIF__MsgType_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != PCUIF__MsgType::UNBOUND_VALUE;
-}
-
-void PCUIF__MsgType_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(int other_value)
-{
-if (!PCUIF__MsgType::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @PCUIF_Types.PCUIF_MsgType.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__MsgType::enum_type)other_value;
-return *this;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(PCUIF__MsgType::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(const PCUIF__MsgType& other_value)
-{
-if (other_value.enum_value == PCUIF__MsgType::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_MsgType to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(const OPTIONAL<PCUIF__MsgType>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__MsgType::enum_type)(const PCUIF__MsgType&)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 @PCUIF_Types.PCUIF_MsgType.");
-}
-return *this;
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::operator=(const PCUIF__MsgType_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__MsgType_template::match(PCUIF__MsgType::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-}
-return FALSE;
-}
-
-boolean PCUIF__MsgType_template::match(const PCUIF__MsgType& other_value, boolean) const
-{
-if (other_value.enum_value == PCUIF__MsgType::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @PCUIF_Types.PCUIF_MsgType with an unbound value.");
-return match(other_value.enum_value);
-}
-
-PCUIF__MsgType::enum_type PCUIF__MsgType_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 @PCUIF_Types.PCUIF_MsgType.");
-return single_value;
-}
-
-void PCUIF__MsgType_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__MsgType_template[list_length];
-}
-
-PCUIF__MsgType_template& PCUIF__MsgType_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @PCUIF_Types.PCUIF_MsgType.");
-return value_list.list_value[list_index];
-}
-
-void PCUIF__MsgType_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(PCUIF__MsgType::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__MsgType_template::log_match(const PCUIF__MsgType& 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 PCUIF__MsgType_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 @PCUIF_Types.PCUIF_MsgType.");
-}
-}
-
-void PCUIF__MsgType_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (PCUIF__MsgType::enum_type)text_buf.pull_int().get_val();
-if (!PCUIF__MsgType::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @PCUIF_Types.PCUIF_MsgType.", 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 PCUIF__MsgType_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 @PCUIF_Types.PCUIF_MsgType.");
-}
-}
-
-boolean PCUIF__MsgType_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__MsgType_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__MsgType_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- PCUIF__MsgType_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- PCUIF__MsgType::enum_type enum_val = PCUIF__MsgType::str_to_enum(m_p->get_enumerated());
- if (!PCUIF__MsgType::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_MsgType.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@PCUIF_Types.PCUIF_MsgType");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__MsgType_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 : "@PCUIF_Types.PCUIF_MsgType");
-}
-
-PCUIF__Sapi::PCUIF__Sapi()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-PCUIF__Sapi::PCUIF__Sapi(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @PCUIF_Types.PCUIF_Sapi with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-PCUIF__Sapi::PCUIF__Sapi(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-PCUIF__Sapi::PCUIF__Sapi(const PCUIF__Sapi& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-enum_value = other_value.enum_value;
-}
-
-PCUIF__Sapi& PCUIF__Sapi::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_Sapi.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-PCUIF__Sapi& PCUIF__Sapi::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-PCUIF__Sapi& PCUIF__Sapi::operator=(const PCUIF__Sapi& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean PCUIF__Sapi::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 @PCUIF_Types.PCUIF_Sapi.");
-return enum_value == other_value;
-}
-
-boolean PCUIF__Sapi::operator==(const PCUIF__Sapi& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-return enum_value == other_value.enum_value;
-}
-
-boolean PCUIF__Sapi::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 @PCUIF_Types.PCUIF_Sapi.");
-return enum_value < other_value;
-}
-
-boolean PCUIF__Sapi::operator<(const PCUIF__Sapi& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-return enum_value < other_value.enum_value;
-}
-
-boolean PCUIF__Sapi::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 @PCUIF_Types.PCUIF_Sapi.");
-return enum_value > other_value;
-}
-
-boolean PCUIF__Sapi::operator>(const PCUIF__Sapi& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-return enum_value > other_value.enum_value;
-}
-
-const char *PCUIF__Sapi::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case PCU__IF__SAPI__UNKNOWN: return "PCU_IF_SAPI_UNKNOWN";
-case PCU__IF__SAPI__RACH: return "PCU_IF_SAPI_RACH";
-case PCU__IF__SAPI__AGCH: return "PCU_IF_SAPI_AGCH";
-case PCU__IF__SAPI__PCH: return "PCU_IF_SAPI_PCH";
-case PCU__IF__SAPI__BCCH: return "PCU_IF_SAPI_BCCH";
-case PCU__IF__SAPI__PDTCH: return "PCU_IF_SAPI_PDTCH";
-case PCU__IF__SAPI__PRACH: return "PCU_IF_SAPI_PRACH";
-case PCU__IF__SAPI__PTCCH: return "PCU_IF_SAPI_PTCCH";
-case PCU__IF__SAPI__AGCH__DT: return "PCU_IF_SAPI_AGCH_DT";
-default: return "<unknown>";
-}
-}
-
-PCUIF__Sapi::enum_type PCUIF__Sapi::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "PCU_IF_SAPI_UNKNOWN")) return PCU__IF__SAPI__UNKNOWN;
-else if (!strcmp(str_par, "PCU_IF_SAPI_RACH")) return PCU__IF__SAPI__RACH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_AGCH")) return PCU__IF__SAPI__AGCH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_PCH")) return PCU__IF__SAPI__PCH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_BCCH")) return PCU__IF__SAPI__BCCH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_PDTCH")) return PCU__IF__SAPI__PDTCH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_PRACH")) return PCU__IF__SAPI__PRACH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_PTCCH")) return PCU__IF__SAPI__PTCCH;
-else if (!strcmp(str_par, "PCU_IF_SAPI_AGCH_DT")) return PCU__IF__SAPI__AGCH__DT;
-else return UNKNOWN_VALUE;
-}
-
-boolean PCUIF__Sapi::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-case 4:
-case 5:
-case 6:
-case 7:
-case 8:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int PCUIF__Sapi::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 @PCUIF_Types.PCUIF_Sapi.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int PCUIF__Sapi::enum2int(const PCUIF__Sapi& 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 @PCUIF_Types.PCUIF_Sapi.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void PCUIF__Sapi::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_Sapi.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-PCUIF__Sapi::operator PCUIF__Sapi::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-return enum_value;
-}
-
-void PCUIF__Sapi::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 PCUIF__Sapi::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", "@PCUIF_Types.PCUIF_Sapi");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_Sapi.");
- }
-}
-
-void PCUIF__Sapi::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-text_buf.push_int(enum_value);
-}
-
-void PCUIF__Sapi::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 @PCUIF_Types.PCUIF_Sapi.", enum_value);
-}
-
-void PCUIF__Sapi::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__Sapi::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__Sapi::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 4, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int PCUIF__Sapi::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 4);
-}
-
-void PCUIF__Sapi_template::copy_template(const PCUIF__Sapi_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__Sapi_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-}
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template()
-{
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!PCUIF__Sapi::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @PCUIF_Types.PCUIF_Sapi with unknown numeric value %d.", other_value);
-single_value = (PCUIF__Sapi::enum_type)other_value;
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(PCUIF__Sapi::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(const PCUIF__Sapi& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == PCUIF__Sapi::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-single_value = other_value.enum_value;
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(const OPTIONAL<PCUIF__Sapi>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__Sapi::enum_type)(const PCUIF__Sapi&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @PCUIF_Types.PCUIF_Sapi from an unbound optional field.");
-}
-}
-
-PCUIF__Sapi_template::PCUIF__Sapi_template(const PCUIF__Sapi_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__Sapi_template::~PCUIF__Sapi_template()
-{
-clean_up();
-}
-
-boolean PCUIF__Sapi_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean PCUIF__Sapi_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != PCUIF__Sapi::UNBOUND_VALUE;
-}
-
-void PCUIF__Sapi_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(int other_value)
-{
-if (!PCUIF__Sapi::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @PCUIF_Types.PCUIF_Sapi.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__Sapi::enum_type)other_value;
-return *this;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(PCUIF__Sapi::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(const PCUIF__Sapi& other_value)
-{
-if (other_value.enum_value == PCUIF__Sapi::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_Sapi to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(const OPTIONAL<PCUIF__Sapi>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__Sapi::enum_type)(const PCUIF__Sapi&)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 @PCUIF_Types.PCUIF_Sapi.");
-}
-return *this;
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::operator=(const PCUIF__Sapi_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__Sapi_template::match(PCUIF__Sapi::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-}
-return FALSE;
-}
-
-boolean PCUIF__Sapi_template::match(const PCUIF__Sapi& other_value, boolean) const
-{
-if (other_value.enum_value == PCUIF__Sapi::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @PCUIF_Types.PCUIF_Sapi with an unbound value.");
-return match(other_value.enum_value);
-}
-
-PCUIF__Sapi::enum_type PCUIF__Sapi_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 @PCUIF_Types.PCUIF_Sapi.");
-return single_value;
-}
-
-void PCUIF__Sapi_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__Sapi_template[list_length];
-}
-
-PCUIF__Sapi_template& PCUIF__Sapi_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @PCUIF_Types.PCUIF_Sapi.");
-return value_list.list_value[list_index];
-}
-
-void PCUIF__Sapi_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(PCUIF__Sapi::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__Sapi_template::log_match(const PCUIF__Sapi& 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 PCUIF__Sapi_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 @PCUIF_Types.PCUIF_Sapi.");
-}
-}
-
-void PCUIF__Sapi_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (PCUIF__Sapi::enum_type)text_buf.pull_int().get_val();
-if (!PCUIF__Sapi::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @PCUIF_Types.PCUIF_Sapi.", 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 PCUIF__Sapi_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 @PCUIF_Types.PCUIF_Sapi.");
-}
-}
-
-boolean PCUIF__Sapi_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__Sapi_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__Sapi_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- PCUIF__Sapi_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- PCUIF__Sapi::enum_type enum_val = PCUIF__Sapi::str_to_enum(m_p->get_enumerated());
- if (!PCUIF__Sapi::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_Sapi.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@PCUIF_Types.PCUIF_Sapi");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__Sapi_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 : "@PCUIF_Types.PCUIF_Sapi");
-}
-
-PCUIF__Flags::PCUIF__Flags()
-{
-}
-
-PCUIF__Flags::PCUIF__Flags(const BOOLEAN& par_bts__active,
- const BOOLEAN& par_sysmo__direct__dsp,
- const BITSTRING& par_spare,
- const BOOLEAN& par_cs1,
- const BOOLEAN& par_cs2,
- const BOOLEAN& par_cs3,
- const BOOLEAN& par_cs4,
- const BOOLEAN& par_mcs1,
- const BOOLEAN& par_mcs2,
- const BOOLEAN& par_mcs3,
- const BOOLEAN& par_mcs4,
- const BOOLEAN& par_mcs5,
- const BOOLEAN& par_mcs6,
- const BOOLEAN& par_mcs7,
- const BOOLEAN& par_mcs8,
- const BOOLEAN& par_mcs9,
- const BITSTRING& par_spare2)
- : field_bts__active(par_bts__active),
- field_sysmo__direct__dsp(par_sysmo__direct__dsp),
- field_spare(par_spare),
- field_cs1(par_cs1),
- field_cs2(par_cs2),
- field_cs3(par_cs3),
- field_cs4(par_cs4),
- field_mcs1(par_mcs1),
- field_mcs2(par_mcs2),
- field_mcs3(par_mcs3),
- field_mcs4(par_mcs4),
- field_mcs5(par_mcs5),
- field_mcs6(par_mcs6),
- field_mcs7(par_mcs7),
- field_mcs8(par_mcs8),
- field_mcs9(par_mcs9),
- field_spare2(par_spare2)
-{
-}
-
-PCUIF__Flags::PCUIF__Flags(const PCUIF__Flags& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_Flags.");
-if (other_value.bts__active().is_bound()) field_bts__active = other_value.bts__active();
-else field_bts__active.clean_up();
-if (other_value.sysmo__direct__dsp().is_bound()) field_sysmo__direct__dsp = other_value.sysmo__direct__dsp();
-else field_sysmo__direct__dsp.clean_up();
-if (other_value.spare().is_bound()) field_spare = other_value.spare();
-else field_spare.clean_up();
-if (other_value.cs1().is_bound()) field_cs1 = other_value.cs1();
-else field_cs1.clean_up();
-if (other_value.cs2().is_bound()) field_cs2 = other_value.cs2();
-else field_cs2.clean_up();
-if (other_value.cs3().is_bound()) field_cs3 = other_value.cs3();
-else field_cs3.clean_up();
-if (other_value.cs4().is_bound()) field_cs4 = other_value.cs4();
-else field_cs4.clean_up();
-if (other_value.mcs1().is_bound()) field_mcs1 = other_value.mcs1();
-else field_mcs1.clean_up();
-if (other_value.mcs2().is_bound()) field_mcs2 = other_value.mcs2();
-else field_mcs2.clean_up();
-if (other_value.mcs3().is_bound()) field_mcs3 = other_value.mcs3();
-else field_mcs3.clean_up();
-if (other_value.mcs4().is_bound()) field_mcs4 = other_value.mcs4();
-else field_mcs4.clean_up();
-if (other_value.mcs5().is_bound()) field_mcs5 = other_value.mcs5();
-else field_mcs5.clean_up();
-if (other_value.mcs6().is_bound()) field_mcs6 = other_value.mcs6();
-else field_mcs6.clean_up();
-if (other_value.mcs7().is_bound()) field_mcs7 = other_value.mcs7();
-else field_mcs7.clean_up();
-if (other_value.mcs8().is_bound()) field_mcs8 = other_value.mcs8();
-else field_mcs8.clean_up();
-if (other_value.mcs9().is_bound()) field_mcs9 = other_value.mcs9();
-else field_mcs9.clean_up();
-if (other_value.spare2().is_bound()) field_spare2 = other_value.spare2();
-else field_spare2.clean_up();
-}
-
-void PCUIF__Flags::clean_up()
-{
-field_bts__active.clean_up();
-field_sysmo__direct__dsp.clean_up();
-field_spare.clean_up();
-field_cs1.clean_up();
-field_cs2.clean_up();
-field_cs3.clean_up();
-field_cs4.clean_up();
-field_mcs1.clean_up();
-field_mcs2.clean_up();
-field_mcs3.clean_up();
-field_mcs4.clean_up();
-field_mcs5.clean_up();
-field_mcs6.clean_up();
-field_mcs7.clean_up();
-field_mcs8.clean_up();
-field_mcs9.clean_up();
-field_spare2.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__Flags::get_descriptor() const { return &PCUIF__Flags_descr_; }
-PCUIF__Flags& PCUIF__Flags::operator=(const PCUIF__Flags& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_Flags.");
- if (other_value.bts__active().is_bound()) field_bts__active = other_value.bts__active();
- else field_bts__active.clean_up();
- if (other_value.sysmo__direct__dsp().is_bound()) field_sysmo__direct__dsp = other_value.sysmo__direct__dsp();
- else field_sysmo__direct__dsp.clean_up();
- if (other_value.spare().is_bound()) field_spare = other_value.spare();
- else field_spare.clean_up();
- if (other_value.cs1().is_bound()) field_cs1 = other_value.cs1();
- else field_cs1.clean_up();
- if (other_value.cs2().is_bound()) field_cs2 = other_value.cs2();
- else field_cs2.clean_up();
- if (other_value.cs3().is_bound()) field_cs3 = other_value.cs3();
- else field_cs3.clean_up();
- if (other_value.cs4().is_bound()) field_cs4 = other_value.cs4();
- else field_cs4.clean_up();
- if (other_value.mcs1().is_bound()) field_mcs1 = other_value.mcs1();
- else field_mcs1.clean_up();
- if (other_value.mcs2().is_bound()) field_mcs2 = other_value.mcs2();
- else field_mcs2.clean_up();
- if (other_value.mcs3().is_bound()) field_mcs3 = other_value.mcs3();
- else field_mcs3.clean_up();
- if (other_value.mcs4().is_bound()) field_mcs4 = other_value.mcs4();
- else field_mcs4.clean_up();
- if (other_value.mcs5().is_bound()) field_mcs5 = other_value.mcs5();
- else field_mcs5.clean_up();
- if (other_value.mcs6().is_bound()) field_mcs6 = other_value.mcs6();
- else field_mcs6.clean_up();
- if (other_value.mcs7().is_bound()) field_mcs7 = other_value.mcs7();
- else field_mcs7.clean_up();
- if (other_value.mcs8().is_bound()) field_mcs8 = other_value.mcs8();
- else field_mcs8.clean_up();
- if (other_value.mcs9().is_bound()) field_mcs9 = other_value.mcs9();
- else field_mcs9.clean_up();
- if (other_value.spare2().is_bound()) field_spare2 = other_value.spare2();
- else field_spare2.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__Flags::operator==(const PCUIF__Flags& other_value) const
-{
-return field_bts__active==other_value.field_bts__active
- && field_sysmo__direct__dsp==other_value.field_sysmo__direct__dsp
- && field_spare==other_value.field_spare
- && field_cs1==other_value.field_cs1
- && field_cs2==other_value.field_cs2
- && field_cs3==other_value.field_cs3
- && field_cs4==other_value.field_cs4
- && field_mcs1==other_value.field_mcs1
- && field_mcs2==other_value.field_mcs2
- && field_mcs3==other_value.field_mcs3
- && field_mcs4==other_value.field_mcs4
- && field_mcs5==other_value.field_mcs5
- && field_mcs6==other_value.field_mcs6
- && field_mcs7==other_value.field_mcs7
- && field_mcs8==other_value.field_mcs8
- && field_mcs9==other_value.field_mcs9
- && field_spare2==other_value.field_spare2;
-}
-
-boolean PCUIF__Flags::is_bound() const
-{
-if(field_bts__active.is_bound()) return TRUE;
-if(field_sysmo__direct__dsp.is_bound()) return TRUE;
-if(field_spare.is_bound()) return TRUE;
-if(field_cs1.is_bound()) return TRUE;
-if(field_cs2.is_bound()) return TRUE;
-if(field_cs3.is_bound()) return TRUE;
-if(field_cs4.is_bound()) return TRUE;
-if(field_mcs1.is_bound()) return TRUE;
-if(field_mcs2.is_bound()) return TRUE;
-if(field_mcs3.is_bound()) return TRUE;
-if(field_mcs4.is_bound()) return TRUE;
-if(field_mcs5.is_bound()) return TRUE;
-if(field_mcs6.is_bound()) return TRUE;
-if(field_mcs7.is_bound()) return TRUE;
-if(field_mcs8.is_bound()) return TRUE;
-if(field_mcs9.is_bound()) return TRUE;
-if(field_spare2.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__Flags::is_value() const
-{
-if(!field_bts__active.is_value()) return FALSE;
-if(!field_sysmo__direct__dsp.is_value()) return FALSE;
-if(!field_spare.is_value()) return FALSE;
-if(!field_cs1.is_value()) return FALSE;
-if(!field_cs2.is_value()) return FALSE;
-if(!field_cs3.is_value()) return FALSE;
-if(!field_cs4.is_value()) return FALSE;
-if(!field_mcs1.is_value()) return FALSE;
-if(!field_mcs2.is_value()) return FALSE;
-if(!field_mcs3.is_value()) return FALSE;
-if(!field_mcs4.is_value()) return FALSE;
-if(!field_mcs5.is_value()) return FALSE;
-if(!field_mcs6.is_value()) return FALSE;
-if(!field_mcs7.is_value()) return FALSE;
-if(!field_mcs8.is_value()) return FALSE;
-if(!field_mcs9.is_value()) return FALSE;
-if(!field_spare2.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__Flags::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ bts_active := ");
-field_bts__active.log();
-TTCN_Logger::log_event_str(", sysmo_direct_dsp := ");
-field_sysmo__direct__dsp.log();
-TTCN_Logger::log_event_str(", spare := ");
-field_spare.log();
-TTCN_Logger::log_event_str(", cs1 := ");
-field_cs1.log();
-TTCN_Logger::log_event_str(", cs2 := ");
-field_cs2.log();
-TTCN_Logger::log_event_str(", cs3 := ");
-field_cs3.log();
-TTCN_Logger::log_event_str(", cs4 := ");
-field_cs4.log();
-TTCN_Logger::log_event_str(", mcs1 := ");
-field_mcs1.log();
-TTCN_Logger::log_event_str(", mcs2 := ");
-field_mcs2.log();
-TTCN_Logger::log_event_str(", mcs3 := ");
-field_mcs3.log();
-TTCN_Logger::log_event_str(", mcs4 := ");
-field_mcs4.log();
-TTCN_Logger::log_event_str(", mcs5 := ");
-field_mcs5.log();
-TTCN_Logger::log_event_str(", mcs6 := ");
-field_mcs6.log();
-TTCN_Logger::log_event_str(", mcs7 := ");
-field_mcs7.log();
-TTCN_Logger::log_event_str(", mcs8 := ");
-field_mcs8.log();
-TTCN_Logger::log_event_str(", mcs9 := ");
-field_mcs9.log();
-TTCN_Logger::log_event_str(", spare2 := ");
-field_spare2.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__Flags::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (17<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_Flags has 17 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) bts__active().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) sysmo__direct__dsp().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) cs1().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) cs2().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) cs3().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) cs4().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) mcs1().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) mcs2().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) mcs3().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) mcs4().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) mcs5().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) mcs6().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) mcs7().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) mcs8().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) mcs9().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) spare2().set_param(*param.get_elem(16));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bts_active")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bts__active().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sysmo_direct_dsp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sysmo__direct__dsp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs3")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs3().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs4")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs4().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs3")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs3().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs4")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs4().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs5")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs5().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs6")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs6().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs7")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs7().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs8")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs8().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs9")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs9().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_Flags: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_Flags");
- }
-}
-
-void PCUIF__Flags::set_implicit_omit()
-{
-if (bts__active().is_bound()) bts__active().set_implicit_omit();
-if (sysmo__direct__dsp().is_bound()) sysmo__direct__dsp().set_implicit_omit();
-if (spare().is_bound()) spare().set_implicit_omit();
-if (cs1().is_bound()) cs1().set_implicit_omit();
-if (cs2().is_bound()) cs2().set_implicit_omit();
-if (cs3().is_bound()) cs3().set_implicit_omit();
-if (cs4().is_bound()) cs4().set_implicit_omit();
-if (mcs1().is_bound()) mcs1().set_implicit_omit();
-if (mcs2().is_bound()) mcs2().set_implicit_omit();
-if (mcs3().is_bound()) mcs3().set_implicit_omit();
-if (mcs4().is_bound()) mcs4().set_implicit_omit();
-if (mcs5().is_bound()) mcs5().set_implicit_omit();
-if (mcs6().is_bound()) mcs6().set_implicit_omit();
-if (mcs7().is_bound()) mcs7().set_implicit_omit();
-if (mcs8().is_bound()) mcs8().set_implicit_omit();
-if (mcs9().is_bound()) mcs9().set_implicit_omit();
-if (spare2().is_bound()) spare2().set_implicit_omit();
-}
-
-void PCUIF__Flags::encode_text(Text_Buf& text_buf) const
-{
-field_bts__active.encode_text(text_buf);
-field_sysmo__direct__dsp.encode_text(text_buf);
-field_spare.encode_text(text_buf);
-field_cs1.encode_text(text_buf);
-field_cs2.encode_text(text_buf);
-field_cs3.encode_text(text_buf);
-field_cs4.encode_text(text_buf);
-field_mcs1.encode_text(text_buf);
-field_mcs2.encode_text(text_buf);
-field_mcs3.encode_text(text_buf);
-field_mcs4.encode_text(text_buf);
-field_mcs5.encode_text(text_buf);
-field_mcs6.encode_text(text_buf);
-field_mcs7.encode_text(text_buf);
-field_mcs8.encode_text(text_buf);
-field_mcs9.encode_text(text_buf);
-field_spare2.encode_text(text_buf);
-}
-
-void PCUIF__Flags::decode_text(Text_Buf& text_buf)
-{
-field_bts__active.decode_text(text_buf);
-field_sysmo__direct__dsp.decode_text(text_buf);
-field_spare.decode_text(text_buf);
-field_cs1.decode_text(text_buf);
-field_cs2.decode_text(text_buf);
-field_cs3.decode_text(text_buf);
-field_cs4.decode_text(text_buf);
-field_mcs1.decode_text(text_buf);
-field_mcs2.decode_text(text_buf);
-field_mcs3.decode_text(text_buf);
-field_mcs4.decode_text(text_buf);
-field_mcs5.decode_text(text_buf);
-field_mcs6.decode_text(text_buf);
-field_mcs7.decode_text(text_buf);
-field_mcs8.decode_text(text_buf);
-field_mcs9.decode_text(text_buf);
-field_spare2.decode_text(text_buf);
-}
-
-void PCUIF__Flags::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__Flags::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__Flags::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__Flags_bts__active_descr_.raw->forceomit);
- decoded_field_length = field_bts__active.RAW_decode(PCUIF__Flags_bts__active_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__Flags_sysmo__direct__dsp_descr_.raw->forceomit);
- decoded_field_length = field_sysmo__direct__dsp.RAW_decode(PCUIF__Flags_sysmo__direct__dsp_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__Flags_spare_descr_.raw->forceomit);
- decoded_field_length = field_spare.RAW_decode(PCUIF__Flags_spare_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__Flags_cs1_descr_.raw->forceomit);
- decoded_field_length = field_cs1.RAW_decode(PCUIF__Flags_cs1_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__Flags_cs2_descr_.raw->forceomit);
- decoded_field_length = field_cs2.RAW_decode(PCUIF__Flags_cs2_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__Flags_cs3_descr_.raw->forceomit);
- decoded_field_length = field_cs3.RAW_decode(PCUIF__Flags_cs3_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__Flags_cs4_descr_.raw->forceomit);
- decoded_field_length = field_cs4.RAW_decode(PCUIF__Flags_cs4_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_7_force_omit(7, force_omit, PCUIF__Flags_mcs1_descr_.raw->forceomit);
- decoded_field_length = field_mcs1.RAW_decode(PCUIF__Flags_mcs1_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_8_force_omit(8, force_omit, PCUIF__Flags_mcs2_descr_.raw->forceomit);
- decoded_field_length = field_mcs2.RAW_decode(PCUIF__Flags_mcs2_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_9_force_omit(9, force_omit, PCUIF__Flags_mcs3_descr_.raw->forceomit);
- decoded_field_length = field_mcs3.RAW_decode(PCUIF__Flags_mcs3_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_10_force_omit(10, force_omit, PCUIF__Flags_mcs4_descr_.raw->forceomit);
- decoded_field_length = field_mcs4.RAW_decode(PCUIF__Flags_mcs4_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_10_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_11_force_omit(11, force_omit, PCUIF__Flags_mcs5_descr_.raw->forceomit);
- decoded_field_length = field_mcs5.RAW_decode(PCUIF__Flags_mcs5_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_11_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_12_force_omit(12, force_omit, PCUIF__Flags_mcs6_descr_.raw->forceomit);
- decoded_field_length = field_mcs6.RAW_decode(PCUIF__Flags_mcs6_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_12_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_13_force_omit(13, force_omit, PCUIF__Flags_mcs7_descr_.raw->forceomit);
- decoded_field_length = field_mcs7.RAW_decode(PCUIF__Flags_mcs7_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_13_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_14_force_omit(14, force_omit, PCUIF__Flags_mcs8_descr_.raw->forceomit);
- decoded_field_length = field_mcs8.RAW_decode(PCUIF__Flags_mcs8_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_14_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_15_force_omit(15, force_omit, PCUIF__Flags_mcs9_descr_.raw->forceomit);
- decoded_field_length = field_mcs9.RAW_decode(PCUIF__Flags_mcs9_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_15_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_16_force_omit(16, force_omit, PCUIF__Flags_spare2_descr_.raw->forceomit);
- decoded_field_length = field_spare2.RAW_decode(PCUIF__Flags_spare2_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_16_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__Flags::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 17;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(17);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__Flags_bts__active_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__Flags_sysmo__direct__dsp_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__Flags_spare_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__Flags_cs1_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__Flags_cs2_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__Flags_cs3_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__Flags_cs4_descr_.raw);
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, PCUIF__Flags_mcs1_descr_.raw);
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, PCUIF__Flags_mcs2_descr_.raw);
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, PCUIF__Flags_mcs3_descr_.raw);
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 10, PCUIF__Flags_mcs4_descr_.raw);
- myleaf.body.node.nodes[11] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 11, PCUIF__Flags_mcs5_descr_.raw);
- myleaf.body.node.nodes[12] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 12, PCUIF__Flags_mcs6_descr_.raw);
- myleaf.body.node.nodes[13] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 13, PCUIF__Flags_mcs7_descr_.raw);
- myleaf.body.node.nodes[14] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 14, PCUIF__Flags_mcs8_descr_.raw);
- myleaf.body.node.nodes[15] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 15, PCUIF__Flags_mcs9_descr_.raw);
- myleaf.body.node.nodes[16] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 16, PCUIF__Flags_spare2_descr_.raw);
- encoded_length += field_bts__active.RAW_encode(PCUIF__Flags_bts__active_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_sysmo__direct__dsp.RAW_encode(PCUIF__Flags_sysmo__direct__dsp_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_spare.RAW_encode(PCUIF__Flags_spare_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_cs1.RAW_encode(PCUIF__Flags_cs1_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_cs2.RAW_encode(PCUIF__Flags_cs2_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_cs3.RAW_encode(PCUIF__Flags_cs3_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_cs4.RAW_encode(PCUIF__Flags_cs4_descr_, *myleaf.body.node.nodes[6]);
- encoded_length += field_mcs1.RAW_encode(PCUIF__Flags_mcs1_descr_, *myleaf.body.node.nodes[7]);
- encoded_length += field_mcs2.RAW_encode(PCUIF__Flags_mcs2_descr_, *myleaf.body.node.nodes[8]);
- encoded_length += field_mcs3.RAW_encode(PCUIF__Flags_mcs3_descr_, *myleaf.body.node.nodes[9]);
- encoded_length += field_mcs4.RAW_encode(PCUIF__Flags_mcs4_descr_, *myleaf.body.node.nodes[10]);
- encoded_length += field_mcs5.RAW_encode(PCUIF__Flags_mcs5_descr_, *myleaf.body.node.nodes[11]);
- encoded_length += field_mcs6.RAW_encode(PCUIF__Flags_mcs6_descr_, *myleaf.body.node.nodes[12]);
- encoded_length += field_mcs7.RAW_encode(PCUIF__Flags_mcs7_descr_, *myleaf.body.node.nodes[13]);
- encoded_length += field_mcs8.RAW_encode(PCUIF__Flags_mcs8_descr_, *myleaf.body.node.nodes[14]);
- encoded_length += field_mcs9.RAW_encode(PCUIF__Flags_mcs9_descr_, *myleaf.body.node.nodes[15]);
- encoded_length += field_spare2.RAW_encode(PCUIF__Flags_spare2_descr_, *myleaf.body.node.nodes[16]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__Flags_template::single_value_struct {
-BOOLEAN_template field_bts__active;
-BOOLEAN_template field_sysmo__direct__dsp;
-BITSTRING_template field_spare;
-BOOLEAN_template field_cs1;
-BOOLEAN_template field_cs2;
-BOOLEAN_template field_cs3;
-BOOLEAN_template field_cs4;
-BOOLEAN_template field_mcs1;
-BOOLEAN_template field_mcs2;
-BOOLEAN_template field_mcs3;
-BOOLEAN_template field_mcs4;
-BOOLEAN_template field_mcs5;
-BOOLEAN_template field_mcs6;
-BOOLEAN_template field_mcs7;
-BOOLEAN_template field_mcs8;
-BOOLEAN_template field_mcs9;
-BITSTRING_template field_spare2;
-};
-
-void PCUIF__Flags_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_bts__active = ANY_VALUE;
-single_value->field_sysmo__direct__dsp = ANY_VALUE;
-single_value->field_spare = ANY_VALUE;
-single_value->field_cs1 = ANY_VALUE;
-single_value->field_cs2 = ANY_VALUE;
-single_value->field_cs3 = ANY_VALUE;
-single_value->field_cs4 = ANY_VALUE;
-single_value->field_mcs1 = ANY_VALUE;
-single_value->field_mcs2 = ANY_VALUE;
-single_value->field_mcs3 = ANY_VALUE;
-single_value->field_mcs4 = ANY_VALUE;
-single_value->field_mcs5 = ANY_VALUE;
-single_value->field_mcs6 = ANY_VALUE;
-single_value->field_mcs7 = ANY_VALUE;
-single_value->field_mcs8 = ANY_VALUE;
-single_value->field_mcs9 = ANY_VALUE;
-single_value->field_spare2 = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__Flags_template::copy_value(const PCUIF__Flags& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.bts__active().is_bound()) {
- single_value->field_bts__active = other_value.bts__active();
-} else {
- single_value->field_bts__active.clean_up();
-}
-if (other_value.sysmo__direct__dsp().is_bound()) {
- single_value->field_sysmo__direct__dsp = other_value.sysmo__direct__dsp();
-} else {
- single_value->field_sysmo__direct__dsp.clean_up();
-}
-if (other_value.spare().is_bound()) {
- single_value->field_spare = other_value.spare();
-} else {
- single_value->field_spare.clean_up();
-}
-if (other_value.cs1().is_bound()) {
- single_value->field_cs1 = other_value.cs1();
-} else {
- single_value->field_cs1.clean_up();
-}
-if (other_value.cs2().is_bound()) {
- single_value->field_cs2 = other_value.cs2();
-} else {
- single_value->field_cs2.clean_up();
-}
-if (other_value.cs3().is_bound()) {
- single_value->field_cs3 = other_value.cs3();
-} else {
- single_value->field_cs3.clean_up();
-}
-if (other_value.cs4().is_bound()) {
- single_value->field_cs4 = other_value.cs4();
-} else {
- single_value->field_cs4.clean_up();
-}
-if (other_value.mcs1().is_bound()) {
- single_value->field_mcs1 = other_value.mcs1();
-} else {
- single_value->field_mcs1.clean_up();
-}
-if (other_value.mcs2().is_bound()) {
- single_value->field_mcs2 = other_value.mcs2();
-} else {
- single_value->field_mcs2.clean_up();
-}
-if (other_value.mcs3().is_bound()) {
- single_value->field_mcs3 = other_value.mcs3();
-} else {
- single_value->field_mcs3.clean_up();
-}
-if (other_value.mcs4().is_bound()) {
- single_value->field_mcs4 = other_value.mcs4();
-} else {
- single_value->field_mcs4.clean_up();
-}
-if (other_value.mcs5().is_bound()) {
- single_value->field_mcs5 = other_value.mcs5();
-} else {
- single_value->field_mcs5.clean_up();
-}
-if (other_value.mcs6().is_bound()) {
- single_value->field_mcs6 = other_value.mcs6();
-} else {
- single_value->field_mcs6.clean_up();
-}
-if (other_value.mcs7().is_bound()) {
- single_value->field_mcs7 = other_value.mcs7();
-} else {
- single_value->field_mcs7.clean_up();
-}
-if (other_value.mcs8().is_bound()) {
- single_value->field_mcs8 = other_value.mcs8();
-} else {
- single_value->field_mcs8.clean_up();
-}
-if (other_value.mcs9().is_bound()) {
- single_value->field_mcs9 = other_value.mcs9();
-} else {
- single_value->field_mcs9.clean_up();
-}
-if (other_value.spare2().is_bound()) {
- single_value->field_spare2 = other_value.spare2();
-} else {
- single_value->field_spare2.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__Flags_template::copy_template(const PCUIF__Flags_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.bts__active().get_selection()) {
-single_value->field_bts__active = other_value.bts__active();
-} else {
-single_value->field_bts__active.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.sysmo__direct__dsp().get_selection()) {
-single_value->field_sysmo__direct__dsp = other_value.sysmo__direct__dsp();
-} else {
-single_value->field_sysmo__direct__dsp.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare().get_selection()) {
-single_value->field_spare = other_value.spare();
-} else {
-single_value->field_spare.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cs1().get_selection()) {
-single_value->field_cs1 = other_value.cs1();
-} else {
-single_value->field_cs1.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cs2().get_selection()) {
-single_value->field_cs2 = other_value.cs2();
-} else {
-single_value->field_cs2.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cs3().get_selection()) {
-single_value->field_cs3 = other_value.cs3();
-} else {
-single_value->field_cs3.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cs4().get_selection()) {
-single_value->field_cs4 = other_value.cs4();
-} else {
-single_value->field_cs4.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs1().get_selection()) {
-single_value->field_mcs1 = other_value.mcs1();
-} else {
-single_value->field_mcs1.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs2().get_selection()) {
-single_value->field_mcs2 = other_value.mcs2();
-} else {
-single_value->field_mcs2.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs3().get_selection()) {
-single_value->field_mcs3 = other_value.mcs3();
-} else {
-single_value->field_mcs3.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs4().get_selection()) {
-single_value->field_mcs4 = other_value.mcs4();
-} else {
-single_value->field_mcs4.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs5().get_selection()) {
-single_value->field_mcs5 = other_value.mcs5();
-} else {
-single_value->field_mcs5.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs6().get_selection()) {
-single_value->field_mcs6 = other_value.mcs6();
-} else {
-single_value->field_mcs6.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs7().get_selection()) {
-single_value->field_mcs7 = other_value.mcs7();
-} else {
-single_value->field_mcs7.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs8().get_selection()) {
-single_value->field_mcs8 = other_value.mcs8();
-} else {
-single_value->field_mcs8.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcs9().get_selection()) {
-single_value->field_mcs9 = other_value.mcs9();
-} else {
-single_value->field_mcs9.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare2().get_selection()) {
-single_value->field_spare2 = other_value.spare2();
-} else {
-single_value->field_spare2.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__Flags_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Flags.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__Flags_template::PCUIF__Flags_template()
-{
-}
-
-PCUIF__Flags_template::PCUIF__Flags_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__Flags_template::PCUIF__Flags_template(const PCUIF__Flags& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__Flags_template::PCUIF__Flags_template(const OPTIONAL<PCUIF__Flags>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__Flags&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_Flags from an unbound optional field.");
-}
-}
-
-PCUIF__Flags_template::PCUIF__Flags_template(const PCUIF__Flags_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__Flags_template::~PCUIF__Flags_template()
-{
-clean_up();
-}
-
-PCUIF__Flags_template& PCUIF__Flags_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__Flags_template& PCUIF__Flags_template::operator=(const PCUIF__Flags& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__Flags_template& PCUIF__Flags_template::operator=(const OPTIONAL<PCUIF__Flags>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__Flags&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_Flags.");
-}
-return *this;
-}
-
-PCUIF__Flags_template& PCUIF__Flags_template::operator=(const PCUIF__Flags_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__Flags_template::match(const PCUIF__Flags& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.bts__active().is_bound()) return FALSE;
-if(!single_value->field_bts__active.match(other_value.bts__active(), legacy))return FALSE;
-if(!other_value.sysmo__direct__dsp().is_bound()) return FALSE;
-if(!single_value->field_sysmo__direct__dsp.match(other_value.sysmo__direct__dsp(), legacy))return FALSE;
-if(!other_value.spare().is_bound()) return FALSE;
-if(!single_value->field_spare.match(other_value.spare(), legacy))return FALSE;
-if(!other_value.cs1().is_bound()) return FALSE;
-if(!single_value->field_cs1.match(other_value.cs1(), legacy))return FALSE;
-if(!other_value.cs2().is_bound()) return FALSE;
-if(!single_value->field_cs2.match(other_value.cs2(), legacy))return FALSE;
-if(!other_value.cs3().is_bound()) return FALSE;
-if(!single_value->field_cs3.match(other_value.cs3(), legacy))return FALSE;
-if(!other_value.cs4().is_bound()) return FALSE;
-if(!single_value->field_cs4.match(other_value.cs4(), legacy))return FALSE;
-if(!other_value.mcs1().is_bound()) return FALSE;
-if(!single_value->field_mcs1.match(other_value.mcs1(), legacy))return FALSE;
-if(!other_value.mcs2().is_bound()) return FALSE;
-if(!single_value->field_mcs2.match(other_value.mcs2(), legacy))return FALSE;
-if(!other_value.mcs3().is_bound()) return FALSE;
-if(!single_value->field_mcs3.match(other_value.mcs3(), legacy))return FALSE;
-if(!other_value.mcs4().is_bound()) return FALSE;
-if(!single_value->field_mcs4.match(other_value.mcs4(), legacy))return FALSE;
-if(!other_value.mcs5().is_bound()) return FALSE;
-if(!single_value->field_mcs5.match(other_value.mcs5(), legacy))return FALSE;
-if(!other_value.mcs6().is_bound()) return FALSE;
-if(!single_value->field_mcs6.match(other_value.mcs6(), legacy))return FALSE;
-if(!other_value.mcs7().is_bound()) return FALSE;
-if(!single_value->field_mcs7.match(other_value.mcs7(), legacy))return FALSE;
-if(!other_value.mcs8().is_bound()) return FALSE;
-if(!single_value->field_mcs8.match(other_value.mcs8(), legacy))return FALSE;
-if(!other_value.mcs9().is_bound()) return FALSE;
-if(!single_value->field_mcs9.match(other_value.mcs9(), legacy))return FALSE;
-if(!other_value.spare2().is_bound()) return FALSE;
-if(!single_value->field_spare2.match(other_value.spare2(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Flags.");
-}
-return FALSE;
-}
-
-boolean PCUIF__Flags_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_bts__active.is_bound()) return TRUE;
-if (single_value->field_sysmo__direct__dsp.is_bound()) return TRUE;
-if (single_value->field_spare.is_bound()) return TRUE;
-if (single_value->field_cs1.is_bound()) return TRUE;
-if (single_value->field_cs2.is_bound()) return TRUE;
-if (single_value->field_cs3.is_bound()) return TRUE;
-if (single_value->field_cs4.is_bound()) return TRUE;
-if (single_value->field_mcs1.is_bound()) return TRUE;
-if (single_value->field_mcs2.is_bound()) return TRUE;
-if (single_value->field_mcs3.is_bound()) return TRUE;
-if (single_value->field_mcs4.is_bound()) return TRUE;
-if (single_value->field_mcs5.is_bound()) return TRUE;
-if (single_value->field_mcs6.is_bound()) return TRUE;
-if (single_value->field_mcs7.is_bound()) return TRUE;
-if (single_value->field_mcs8.is_bound()) return TRUE;
-if (single_value->field_mcs9.is_bound()) return TRUE;
-if (single_value->field_spare2.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__Flags_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_bts__active.is_value()) return FALSE;
-if (!single_value->field_sysmo__direct__dsp.is_value()) return FALSE;
-if (!single_value->field_spare.is_value()) return FALSE;
-if (!single_value->field_cs1.is_value()) return FALSE;
-if (!single_value->field_cs2.is_value()) return FALSE;
-if (!single_value->field_cs3.is_value()) return FALSE;
-if (!single_value->field_cs4.is_value()) return FALSE;
-if (!single_value->field_mcs1.is_value()) return FALSE;
-if (!single_value->field_mcs2.is_value()) return FALSE;
-if (!single_value->field_mcs3.is_value()) return FALSE;
-if (!single_value->field_mcs4.is_value()) return FALSE;
-if (!single_value->field_mcs5.is_value()) return FALSE;
-if (!single_value->field_mcs6.is_value()) return FALSE;
-if (!single_value->field_mcs7.is_value()) return FALSE;
-if (!single_value->field_mcs8.is_value()) return FALSE;
-if (!single_value->field_mcs9.is_value()) return FALSE;
-if (!single_value->field_spare2.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__Flags_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__Flags PCUIF__Flags_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-PCUIF__Flags ret_val;
-if (single_value->field_bts__active.is_bound()) {
-ret_val.bts__active() = single_value->field_bts__active.valueof();
-}
-if (single_value->field_sysmo__direct__dsp.is_bound()) {
-ret_val.sysmo__direct__dsp() = single_value->field_sysmo__direct__dsp.valueof();
-}
-if (single_value->field_spare.is_bound()) {
-ret_val.spare() = single_value->field_spare.valueof();
-}
-if (single_value->field_cs1.is_bound()) {
-ret_val.cs1() = single_value->field_cs1.valueof();
-}
-if (single_value->field_cs2.is_bound()) {
-ret_val.cs2() = single_value->field_cs2.valueof();
-}
-if (single_value->field_cs3.is_bound()) {
-ret_val.cs3() = single_value->field_cs3.valueof();
-}
-if (single_value->field_cs4.is_bound()) {
-ret_val.cs4() = single_value->field_cs4.valueof();
-}
-if (single_value->field_mcs1.is_bound()) {
-ret_val.mcs1() = single_value->field_mcs1.valueof();
-}
-if (single_value->field_mcs2.is_bound()) {
-ret_val.mcs2() = single_value->field_mcs2.valueof();
-}
-if (single_value->field_mcs3.is_bound()) {
-ret_val.mcs3() = single_value->field_mcs3.valueof();
-}
-if (single_value->field_mcs4.is_bound()) {
-ret_val.mcs4() = single_value->field_mcs4.valueof();
-}
-if (single_value->field_mcs5.is_bound()) {
-ret_val.mcs5() = single_value->field_mcs5.valueof();
-}
-if (single_value->field_mcs6.is_bound()) {
-ret_val.mcs6() = single_value->field_mcs6.valueof();
-}
-if (single_value->field_mcs7.is_bound()) {
-ret_val.mcs7() = single_value->field_mcs7.valueof();
-}
-if (single_value->field_mcs8.is_bound()) {
-ret_val.mcs8() = single_value->field_mcs8.valueof();
-}
-if (single_value->field_mcs9.is_bound()) {
-ret_val.mcs9() = single_value->field_mcs9.valueof();
-}
-if (single_value->field_spare2.is_bound()) {
-ret_val.spare2() = single_value->field_spare2.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__Flags_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_Flags.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__Flags_template[list_length];
-}
-
-PCUIF__Flags_template& PCUIF__Flags_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_Flags.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_Flags.");
-return value_list.list_value[list_index];
-}
-
-BOOLEAN_template& PCUIF__Flags_template::bts__active()
-{
-set_specific();
-return single_value->field_bts__active;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::bts__active() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field bts_active of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_bts__active;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::sysmo__direct__dsp()
-{
-set_specific();
-return single_value->field_sysmo__direct__dsp;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::sysmo__direct__dsp() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sysmo_direct_dsp of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_sysmo__direct__dsp;
-}
-
-BITSTRING_template& PCUIF__Flags_template::spare()
-{
-set_specific();
-return single_value->field_spare;
-}
-
-const BITSTRING_template& PCUIF__Flags_template::spare() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_spare;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::cs1()
-{
-set_specific();
-return single_value->field_cs1;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::cs1() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cs1 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_cs1;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::cs2()
-{
-set_specific();
-return single_value->field_cs2;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::cs2() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cs2 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_cs2;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::cs3()
-{
-set_specific();
-return single_value->field_cs3;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::cs3() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cs3 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_cs3;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::cs4()
-{
-set_specific();
-return single_value->field_cs4;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::cs4() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cs4 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_cs4;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs1()
-{
-set_specific();
-return single_value->field_mcs1;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs1() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs1 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs1;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs2()
-{
-set_specific();
-return single_value->field_mcs2;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs2() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs2 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs2;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs3()
-{
-set_specific();
-return single_value->field_mcs3;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs3() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs3 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs3;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs4()
-{
-set_specific();
-return single_value->field_mcs4;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs4() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs4 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs4;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs5()
-{
-set_specific();
-return single_value->field_mcs5;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs5() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs5 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs5;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs6()
-{
-set_specific();
-return single_value->field_mcs6;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs6() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs6 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs6;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs7()
-{
-set_specific();
-return single_value->field_mcs7;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs7() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs7 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs7;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs8()
-{
-set_specific();
-return single_value->field_mcs8;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs8() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs8 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs8;
-}
-
-BOOLEAN_template& PCUIF__Flags_template::mcs9()
-{
-set_specific();
-return single_value->field_mcs9;
-}
-
-const BOOLEAN_template& PCUIF__Flags_template::mcs9() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcs9 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_mcs9;
-}
-
-BITSTRING_template& PCUIF__Flags_template::spare2()
-{
-set_specific();
-return single_value->field_spare2;
-}
-
-const BITSTRING_template& PCUIF__Flags_template::spare2() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare2 of a non-specific template of type @PCUIF_Types.PCUIF_Flags.");
-return single_value->field_spare2;
-}
-
-int PCUIF__Flags_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 17;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Flags containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Flags.");
- }
- return 0;
-}
-
-void PCUIF__Flags_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ bts_active := ");
-single_value->field_bts__active.log();
-TTCN_Logger::log_event_str(", sysmo_direct_dsp := ");
-single_value->field_sysmo__direct__dsp.log();
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log();
-TTCN_Logger::log_event_str(", cs1 := ");
-single_value->field_cs1.log();
-TTCN_Logger::log_event_str(", cs2 := ");
-single_value->field_cs2.log();
-TTCN_Logger::log_event_str(", cs3 := ");
-single_value->field_cs3.log();
-TTCN_Logger::log_event_str(", cs4 := ");
-single_value->field_cs4.log();
-TTCN_Logger::log_event_str(", mcs1 := ");
-single_value->field_mcs1.log();
-TTCN_Logger::log_event_str(", mcs2 := ");
-single_value->field_mcs2.log();
-TTCN_Logger::log_event_str(", mcs3 := ");
-single_value->field_mcs3.log();
-TTCN_Logger::log_event_str(", mcs4 := ");
-single_value->field_mcs4.log();
-TTCN_Logger::log_event_str(", mcs5 := ");
-single_value->field_mcs5.log();
-TTCN_Logger::log_event_str(", mcs6 := ");
-single_value->field_mcs6.log();
-TTCN_Logger::log_event_str(", mcs7 := ");
-single_value->field_mcs7.log();
-TTCN_Logger::log_event_str(", mcs8 := ");
-single_value->field_mcs8.log();
-TTCN_Logger::log_event_str(", mcs9 := ");
-single_value->field_mcs9.log();
-TTCN_Logger::log_event_str(", spare2 := ");
-single_value->field_spare2.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__Flags_template::log_match(const PCUIF__Flags& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_bts__active.match(match_value.bts__active(), legacy)){
-TTCN_Logger::log_logmatch_info(".bts_active");
-single_value->field_bts__active.log_match(match_value.bts__active(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_sysmo__direct__dsp.match(match_value.sysmo__direct__dsp(), legacy)){
-TTCN_Logger::log_logmatch_info(".sysmo_direct_dsp");
-single_value->field_sysmo__direct__dsp.log_match(match_value.sysmo__direct__dsp(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare.match(match_value.spare(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cs1.match(match_value.cs1(), legacy)){
-TTCN_Logger::log_logmatch_info(".cs1");
-single_value->field_cs1.log_match(match_value.cs1(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cs2.match(match_value.cs2(), legacy)){
-TTCN_Logger::log_logmatch_info(".cs2");
-single_value->field_cs2.log_match(match_value.cs2(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cs3.match(match_value.cs3(), legacy)){
-TTCN_Logger::log_logmatch_info(".cs3");
-single_value->field_cs3.log_match(match_value.cs3(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cs4.match(match_value.cs4(), legacy)){
-TTCN_Logger::log_logmatch_info(".cs4");
-single_value->field_cs4.log_match(match_value.cs4(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs1.match(match_value.mcs1(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs1");
-single_value->field_mcs1.log_match(match_value.mcs1(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs2.match(match_value.mcs2(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs2");
-single_value->field_mcs2.log_match(match_value.mcs2(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs3.match(match_value.mcs3(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs3");
-single_value->field_mcs3.log_match(match_value.mcs3(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs4.match(match_value.mcs4(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs4");
-single_value->field_mcs4.log_match(match_value.mcs4(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs5.match(match_value.mcs5(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs5");
-single_value->field_mcs5.log_match(match_value.mcs5(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs6.match(match_value.mcs6(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs6");
-single_value->field_mcs6.log_match(match_value.mcs6(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs7.match(match_value.mcs7(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs7");
-single_value->field_mcs7.log_match(match_value.mcs7(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs8.match(match_value.mcs8(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs8");
-single_value->field_mcs8.log_match(match_value.mcs8(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcs9.match(match_value.mcs9(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcs9");
-single_value->field_mcs9.log_match(match_value.mcs9(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare2.match(match_value.spare2(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare2");
-single_value->field_spare2.log_match(match_value.spare2(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ bts_active := ");
-single_value->field_bts__active.log_match(match_value.bts__active(), legacy);
-TTCN_Logger::log_event_str(", sysmo_direct_dsp := ");
-single_value->field_sysmo__direct__dsp.log_match(match_value.sysmo__direct__dsp(), legacy);
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::log_event_str(", cs1 := ");
-single_value->field_cs1.log_match(match_value.cs1(), legacy);
-TTCN_Logger::log_event_str(", cs2 := ");
-single_value->field_cs2.log_match(match_value.cs2(), legacy);
-TTCN_Logger::log_event_str(", cs3 := ");
-single_value->field_cs3.log_match(match_value.cs3(), legacy);
-TTCN_Logger::log_event_str(", cs4 := ");
-single_value->field_cs4.log_match(match_value.cs4(), legacy);
-TTCN_Logger::log_event_str(", mcs1 := ");
-single_value->field_mcs1.log_match(match_value.mcs1(), legacy);
-TTCN_Logger::log_event_str(", mcs2 := ");
-single_value->field_mcs2.log_match(match_value.mcs2(), legacy);
-TTCN_Logger::log_event_str(", mcs3 := ");
-single_value->field_mcs3.log_match(match_value.mcs3(), legacy);
-TTCN_Logger::log_event_str(", mcs4 := ");
-single_value->field_mcs4.log_match(match_value.mcs4(), legacy);
-TTCN_Logger::log_event_str(", mcs5 := ");
-single_value->field_mcs5.log_match(match_value.mcs5(), legacy);
-TTCN_Logger::log_event_str(", mcs6 := ");
-single_value->field_mcs6.log_match(match_value.mcs6(), legacy);
-TTCN_Logger::log_event_str(", mcs7 := ");
-single_value->field_mcs7.log_match(match_value.mcs7(), legacy);
-TTCN_Logger::log_event_str(", mcs8 := ");
-single_value->field_mcs8.log_match(match_value.mcs8(), legacy);
-TTCN_Logger::log_event_str(", mcs9 := ");
-single_value->field_mcs9.log_match(match_value.mcs9(), legacy);
-TTCN_Logger::log_event_str(", spare2 := ");
-single_value->field_spare2.log_match(match_value.spare2(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__Flags_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_bts__active.encode_text(text_buf);
-single_value->field_sysmo__direct__dsp.encode_text(text_buf);
-single_value->field_spare.encode_text(text_buf);
-single_value->field_cs1.encode_text(text_buf);
-single_value->field_cs2.encode_text(text_buf);
-single_value->field_cs3.encode_text(text_buf);
-single_value->field_cs4.encode_text(text_buf);
-single_value->field_mcs1.encode_text(text_buf);
-single_value->field_mcs2.encode_text(text_buf);
-single_value->field_mcs3.encode_text(text_buf);
-single_value->field_mcs4.encode_text(text_buf);
-single_value->field_mcs5.encode_text(text_buf);
-single_value->field_mcs6.encode_text(text_buf);
-single_value->field_mcs7.encode_text(text_buf);
-single_value->field_mcs8.encode_text(text_buf);
-single_value->field_mcs9.encode_text(text_buf);
-single_value->field_spare2.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Flags.");
-}
-}
-
-void PCUIF__Flags_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_bts__active.decode_text(text_buf);
-single_value->field_sysmo__direct__dsp.decode_text(text_buf);
-single_value->field_spare.decode_text(text_buf);
-single_value->field_cs1.decode_text(text_buf);
-single_value->field_cs2.decode_text(text_buf);
-single_value->field_cs3.decode_text(text_buf);
-single_value->field_cs4.decode_text(text_buf);
-single_value->field_mcs1.decode_text(text_buf);
-single_value->field_mcs2.decode_text(text_buf);
-single_value->field_mcs3.decode_text(text_buf);
-single_value->field_mcs4.decode_text(text_buf);
-single_value->field_mcs5.decode_text(text_buf);
-single_value->field_mcs6.decode_text(text_buf);
-single_value->field_mcs7.decode_text(text_buf);
-single_value->field_mcs8.decode_text(text_buf);
-single_value->field_mcs9.decode_text(text_buf);
-single_value->field_spare2.decode_text(text_buf);
-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 PCUIF__Flags_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_Flags.");
-}
-}
-
-void PCUIF__Flags_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__Flags_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (17<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_Flags has 17 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) bts__active().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) sysmo__direct__dsp().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) cs1().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) cs2().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) cs3().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) cs4().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) mcs1().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) mcs2().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) mcs3().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) mcs4().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) mcs5().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) mcs6().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) mcs7().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) mcs8().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) mcs9().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) spare2().set_param(*param.get_elem(16));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bts_active")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bts__active().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sysmo_direct_dsp")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sysmo__direct__dsp().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs3")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs3().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cs4")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cs4().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs3")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs3().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs4")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs4().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs5")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs5().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs6")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs6().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs7")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs7().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs8")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs8().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcs9")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcs9().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare2")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare2().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_Flags: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_Flags");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__Flags_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_bts__active.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_sysmo__direct__dsp.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_spare.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_cs1.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_cs2.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_cs3.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_cs4.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs1.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs2.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs3.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs4.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs5.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs6.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs7.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs8.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_mcs9.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-single_value->field_spare2.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Flags");
-return;
-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 : "@PCUIF_Types.PCUIF_Flags");
-}
-
-boolean PCUIF__Flags_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__Flags_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__TextType::PCUIF__TextType()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-PCUIF__TextType::PCUIF__TextType(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @PCUIF_Types.PCUIF_TextType with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-PCUIF__TextType::PCUIF__TextType(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-PCUIF__TextType::PCUIF__TextType(const PCUIF__TextType& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-enum_value = other_value.enum_value;
-}
-
-PCUIF__TextType& PCUIF__TextType::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_TextType.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-PCUIF__TextType& PCUIF__TextType::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-PCUIF__TextType& PCUIF__TextType::operator=(const PCUIF__TextType& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean PCUIF__TextType::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 @PCUIF_Types.PCUIF_TextType.");
-return enum_value == other_value;
-}
-
-boolean PCUIF__TextType::operator==(const PCUIF__TextType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-return enum_value == other_value.enum_value;
-}
-
-boolean PCUIF__TextType::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 @PCUIF_Types.PCUIF_TextType.");
-return enum_value < other_value;
-}
-
-boolean PCUIF__TextType::operator<(const PCUIF__TextType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-return enum_value < other_value.enum_value;
-}
-
-boolean PCUIF__TextType::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 @PCUIF_Types.PCUIF_TextType.");
-return enum_value > other_value;
-}
-
-boolean PCUIF__TextType::operator>(const PCUIF__TextType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-return enum_value > other_value.enum_value;
-}
-
-const char *PCUIF__TextType::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case PCU__VERSION: return "PCU_VERSION";
-case PCU__OML__ALERT: return "PCU_OML_ALERT";
-default: return "<unknown>";
-}
-}
-
-PCUIF__TextType::enum_type PCUIF__TextType::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "PCU_VERSION")) return PCU__VERSION;
-else if (!strcmp(str_par, "PCU_OML_ALERT")) return PCU__OML__ALERT;
-else return UNKNOWN_VALUE;
-}
-
-boolean PCUIF__TextType::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int PCUIF__TextType::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 @PCUIF_Types.PCUIF_TextType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int PCUIF__TextType::enum2int(const PCUIF__TextType& 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 @PCUIF_Types.PCUIF_TextType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void PCUIF__TextType::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_TextType.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-PCUIF__TextType::operator PCUIF__TextType::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @PCUIF_Types.PCUIF_TextType.");
-return enum_value;
-}
-
-void PCUIF__TextType::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 PCUIF__TextType::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", "@PCUIF_Types.PCUIF_TextType");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_TextType.");
- }
-}
-
-void PCUIF__TextType::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-text_buf.push_int(enum_value);
-}
-
-void PCUIF__TextType::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 @PCUIF_Types.PCUIF_TextType.", enum_value);
-}
-
-void PCUIF__TextType::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__TextType::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__TextType::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 2, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int PCUIF__TextType::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 2);
-}
-
-void PCUIF__TextType_template::copy_template(const PCUIF__TextType_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__TextType_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_TextType.");
-}
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template()
-{
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!PCUIF__TextType::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @PCUIF_Types.PCUIF_TextType with unknown numeric value %d.", other_value);
-single_value = (PCUIF__TextType::enum_type)other_value;
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(PCUIF__TextType::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(const PCUIF__TextType& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == PCUIF__TextType::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType.");
-single_value = other_value.enum_value;
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(const OPTIONAL<PCUIF__TextType>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__TextType::enum_type)(const PCUIF__TextType&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @PCUIF_Types.PCUIF_TextType from an unbound optional field.");
-}
-}
-
-PCUIF__TextType_template::PCUIF__TextType_template(const PCUIF__TextType_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__TextType_template::~PCUIF__TextType_template()
-{
-clean_up();
-}
-
-boolean PCUIF__TextType_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean PCUIF__TextType_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != PCUIF__TextType::UNBOUND_VALUE;
-}
-
-void PCUIF__TextType_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(int other_value)
-{
-if (!PCUIF__TextType::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @PCUIF_Types.PCUIF_TextType.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__TextType::enum_type)other_value;
-return *this;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(PCUIF__TextType::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(const PCUIF__TextType& other_value)
-{
-if (other_value.enum_value == PCUIF__TextType::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_TextType to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(const OPTIONAL<PCUIF__TextType>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__TextType::enum_type)(const PCUIF__TextType&)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 @PCUIF_Types.PCUIF_TextType.");
-}
-return *this;
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::operator=(const PCUIF__TextType_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__TextType_template::match(PCUIF__TextType::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_TextType.");
-}
-return FALSE;
-}
-
-boolean PCUIF__TextType_template::match(const PCUIF__TextType& other_value, boolean) const
-{
-if (other_value.enum_value == PCUIF__TextType::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @PCUIF_Types.PCUIF_TextType with an unbound value.");
-return match(other_value.enum_value);
-}
-
-PCUIF__TextType::enum_type PCUIF__TextType_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 @PCUIF_Types.PCUIF_TextType.");
-return single_value;
-}
-
-void PCUIF__TextType_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @PCUIF_Types.PCUIF_TextType.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__TextType_template[list_length];
-}
-
-PCUIF__TextType_template& PCUIF__TextType_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @PCUIF_Types.PCUIF_TextType.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @PCUIF_Types.PCUIF_TextType.");
-return value_list.list_value[list_index];
-}
-
-void PCUIF__TextType_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(PCUIF__TextType::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__TextType_template::log_match(const PCUIF__TextType& 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 PCUIF__TextType_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 @PCUIF_Types.PCUIF_TextType.");
-}
-}
-
-void PCUIF__TextType_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (PCUIF__TextType::enum_type)text_buf.pull_int().get_val();
-if (!PCUIF__TextType::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @PCUIF_Types.PCUIF_TextType.", 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 PCUIF__TextType_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 @PCUIF_Types.PCUIF_TextType.");
-}
-}
-
-boolean PCUIF__TextType_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__TextType_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__TextType_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- PCUIF__TextType_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- PCUIF__TextType::enum_type enum_val = PCUIF__TextType::str_to_enum(m_p->get_enumerated());
- if (!PCUIF__TextType::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_TextType.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@PCUIF_Types.PCUIF_TextType");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__TextType_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 : "@PCUIF_Types.PCUIF_TextType");
-}
-
-PCUIF__txt__ind::PCUIF__txt__ind()
-{
-}
-
-PCUIF__txt__ind::PCUIF__txt__ind(const PCUIF__TextType& par_txt__type,
- const CHARSTRING& par_text)
- : field_txt__type(par_txt__type),
- field_text(par_text)
-{
-}
-
-PCUIF__txt__ind::PCUIF__txt__ind(const PCUIF__txt__ind& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_txt_ind.");
-if (other_value.txt__type().is_bound()) field_txt__type = other_value.txt__type();
-else field_txt__type.clean_up();
-if (other_value.text().is_bound()) field_text = other_value.text();
-else field_text.clean_up();
-}
-
-void PCUIF__txt__ind::clean_up()
-{
-field_txt__type.clean_up();
-field_text.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__txt__ind::get_descriptor() const { return &PCUIF__txt__ind_descr_; }
-PCUIF__txt__ind& PCUIF__txt__ind::operator=(const PCUIF__txt__ind& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_txt_ind.");
- if (other_value.txt__type().is_bound()) field_txt__type = other_value.txt__type();
- else field_txt__type.clean_up();
- if (other_value.text().is_bound()) field_text = other_value.text();
- else field_text.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__txt__ind::operator==(const PCUIF__txt__ind& other_value) const
-{
-return field_txt__type==other_value.field_txt__type
- && field_text==other_value.field_text;
-}
-
-boolean PCUIF__txt__ind::is_bound() const
-{
-if(field_txt__type.is_bound()) return TRUE;
-if(field_text.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__txt__ind::is_value() const
-{
-if(!field_txt__type.is_value()) return FALSE;
-if(!field_text.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__txt__ind::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ txt_type := ");
-field_txt__type.log();
-TTCN_Logger::log_event_str(", text := ");
-field_text.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__txt__ind::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_txt_ind has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) txt__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) text().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "txt_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- txt__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "text")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- text().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_txt_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_txt_ind");
- }
-}
-
-void PCUIF__txt__ind::set_implicit_omit()
-{
-if (txt__type().is_bound()) txt__type().set_implicit_omit();
-if (text().is_bound()) text().set_implicit_omit();
-}
-
-void PCUIF__txt__ind::encode_text(Text_Buf& text_buf) const
-{
-field_txt__type.encode_text(text_buf);
-field_text.encode_text(text_buf);
-}
-
-void PCUIF__txt__ind::decode_text(Text_Buf& text_buf)
-{
-field_txt__type.decode_text(text_buf);
-field_text.decode_text(text_buf);
-}
-
-void PCUIF__txt__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__txt__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__txt__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__txt__ind_txt__type_descr_.raw->forceomit);
- decoded_field_length = field_txt__type.RAW_decode(PCUIF__txt__ind_txt__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__txt__ind_text_descr_.raw->forceomit);
- decoded_field_length = field_text.RAW_decode(PCUIF__txt__ind_text_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__txt__ind::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 2;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(2);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__txt__ind_txt__type_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__txt__ind_text_descr_.raw);
- encoded_length += field_txt__type.RAW_encode(PCUIF__txt__ind_txt__type_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_text.RAW_encode(PCUIF__txt__ind_text_descr_, *myleaf.body.node.nodes[1]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__txt__ind_template::single_value_struct {
-PCUIF__TextType_template field_txt__type;
-CHARSTRING_template field_text;
-};
-
-void PCUIF__txt__ind_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_txt__type = ANY_VALUE;
-single_value->field_text = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__txt__ind_template::copy_value(const PCUIF__txt__ind& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.txt__type().is_bound()) {
- single_value->field_txt__type = other_value.txt__type();
-} else {
- single_value->field_txt__type.clean_up();
-}
-if (other_value.text().is_bound()) {
- single_value->field_text = other_value.text();
-} else {
- single_value->field_text.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__txt__ind_template::copy_template(const PCUIF__txt__ind_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.txt__type().get_selection()) {
-single_value->field_txt__type = other_value.txt__type();
-} else {
-single_value->field_txt__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.text().get_selection()) {
-single_value->field_text = other_value.text();
-} else {
-single_value->field_text.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__txt__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_txt_ind.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__txt__ind_template::PCUIF__txt__ind_template()
-{
-}
-
-PCUIF__txt__ind_template::PCUIF__txt__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__txt__ind_template::PCUIF__txt__ind_template(const PCUIF__txt__ind& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__txt__ind_template::PCUIF__txt__ind_template(const OPTIONAL<PCUIF__txt__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__txt__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_txt_ind from an unbound optional field.");
-}
-}
-
-PCUIF__txt__ind_template::PCUIF__txt__ind_template(const PCUIF__txt__ind_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__txt__ind_template::~PCUIF__txt__ind_template()
-{
-clean_up();
-}
-
-PCUIF__txt__ind_template& PCUIF__txt__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__txt__ind_template& PCUIF__txt__ind_template::operator=(const PCUIF__txt__ind& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__txt__ind_template& PCUIF__txt__ind_template::operator=(const OPTIONAL<PCUIF__txt__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__txt__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_txt_ind.");
-}
-return *this;
-}
-
-PCUIF__txt__ind_template& PCUIF__txt__ind_template::operator=(const PCUIF__txt__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__txt__ind_template::match(const PCUIF__txt__ind& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.txt__type().is_bound()) return FALSE;
-if(!single_value->field_txt__type.match(other_value.txt__type(), legacy))return FALSE;
-if(!other_value.text().is_bound()) return FALSE;
-if(!single_value->field_text.match(other_value.text(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_txt_ind.");
-}
-return FALSE;
-}
-
-boolean PCUIF__txt__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_txt__type.is_bound()) return TRUE;
-if (single_value->field_text.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__txt__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_txt__type.is_value()) return FALSE;
-if (!single_value->field_text.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__txt__ind_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__txt__ind PCUIF__txt__ind_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_txt_ind.");
-PCUIF__txt__ind ret_val;
-if (single_value->field_txt__type.is_bound()) {
-ret_val.txt__type() = single_value->field_txt__type.valueof();
-}
-if (single_value->field_text.is_bound()) {
-ret_val.text() = single_value->field_text.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__txt__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_txt_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__txt__ind_template[list_length];
-}
-
-PCUIF__txt__ind_template& PCUIF__txt__ind_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_txt_ind.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_txt_ind.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__TextType_template& PCUIF__txt__ind_template::txt__type()
-{
-set_specific();
-return single_value->field_txt__type;
-}
-
-const PCUIF__TextType_template& PCUIF__txt__ind_template::txt__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field txt_type of a non-specific template of type @PCUIF_Types.PCUIF_txt_ind.");
-return single_value->field_txt__type;
-}
-
-CHARSTRING_template& PCUIF__txt__ind_template::text()
-{
-set_specific();
-return single_value->field_text;
-}
-
-const CHARSTRING_template& PCUIF__txt__ind_template::text() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field text of a non-specific template of type @PCUIF_Types.PCUIF_txt_ind.");
-return single_value->field_text;
-}
-
-int PCUIF__txt__ind_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 2;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_txt_ind containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_txt_ind.");
- }
- return 0;
-}
-
-void PCUIF__txt__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ txt_type := ");
-single_value->field_txt__type.log();
-TTCN_Logger::log_event_str(", text := ");
-single_value->field_text.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__txt__ind_template::log_match(const PCUIF__txt__ind& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_txt__type.match(match_value.txt__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".txt_type");
-single_value->field_txt__type.log_match(match_value.txt__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_text.match(match_value.text(), legacy)){
-TTCN_Logger::log_logmatch_info(".text");
-single_value->field_text.log_match(match_value.text(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ txt_type := ");
-single_value->field_txt__type.log_match(match_value.txt__type(), legacy);
-TTCN_Logger::log_event_str(", text := ");
-single_value->field_text.log_match(match_value.text(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__txt__ind_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_txt__type.encode_text(text_buf);
-single_value->field_text.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_txt_ind.");
-}
-}
-
-void PCUIF__txt__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_txt__type.decode_text(text_buf);
-single_value->field_text.decode_text(text_buf);
-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 PCUIF__txt__ind_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_txt_ind.");
-}
-}
-
-void PCUIF__txt__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__txt__ind_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (2<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_txt_ind has 2 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) txt__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) text().set_param(*param.get_elem(1));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "txt_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- txt__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "text")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- text().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_txt_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_txt_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__txt__ind_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_txt__type.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_txt_ind");
-single_value->field_text.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_txt_ind");
-return;
-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 : "@PCUIF_Types.PCUIF_txt_ind");
-}
-
-boolean PCUIF__txt__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__txt__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__data::PCUIF__data()
-{
-}
-
-PCUIF__data::PCUIF__data(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_len,
- const OCTETSTRING& par_data,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr,
- const INTEGER& par_rssi,
- const INTEGER& par_ber10k,
- const INTEGER& par_ta__offs__qbits,
- const INTEGER& par_lqual__cb)
- : field_sapi(par_sapi),
- field_len(par_len),
- field_data(par_data),
- field_fn(par_fn),
- field_arfcn(par_arfcn),
- field_trx__nr(par_trx__nr),
- field_ts__nr(par_ts__nr),
- field_block__nr(par_block__nr),
- field_rssi(par_rssi),
- field_ber10k(par_ber10k),
- field_ta__offs__qbits(par_ta__offs__qbits),
- field_lqual__cb(par_lqual__cb)
-{
-}
-
-PCUIF__data::PCUIF__data(const PCUIF__data& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_data.");
-if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
-else field_sapi.clean_up();
-if (other_value.len().is_bound()) field_len = other_value.len();
-else field_len.clean_up();
-if (other_value.data().is_bound()) field_data = other_value.data();
-else field_data.clean_up();
-if (other_value.fn().is_bound()) field_fn = other_value.fn();
-else field_fn.clean_up();
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
-else field_trx__nr.clean_up();
-if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
-else field_ts__nr.clean_up();
-if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
-else field_block__nr.clean_up();
-if (other_value.rssi().is_bound()) field_rssi = other_value.rssi();
-else field_rssi.clean_up();
-if (other_value.ber10k().is_bound()) field_ber10k = other_value.ber10k();
-else field_ber10k.clean_up();
-if (other_value.ta__offs__qbits().is_bound()) field_ta__offs__qbits = other_value.ta__offs__qbits();
-else field_ta__offs__qbits.clean_up();
-if (other_value.lqual__cb().is_bound()) field_lqual__cb = other_value.lqual__cb();
-else field_lqual__cb.clean_up();
-}
-
-void PCUIF__data::clean_up()
-{
-field_sapi.clean_up();
-field_len.clean_up();
-field_data.clean_up();
-field_fn.clean_up();
-field_arfcn.clean_up();
-field_trx__nr.clean_up();
-field_ts__nr.clean_up();
-field_block__nr.clean_up();
-field_rssi.clean_up();
-field_ber10k.clean_up();
-field_ta__offs__qbits.clean_up();
-field_lqual__cb.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__data::get_descriptor() const { return &PCUIF__data_descr_; }
-PCUIF__data& PCUIF__data::operator=(const PCUIF__data& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_data.");
- if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
- else field_sapi.clean_up();
- if (other_value.len().is_bound()) field_len = other_value.len();
- else field_len.clean_up();
- if (other_value.data().is_bound()) field_data = other_value.data();
- else field_data.clean_up();
- if (other_value.fn().is_bound()) field_fn = other_value.fn();
- else field_fn.clean_up();
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
- if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
- else field_trx__nr.clean_up();
- if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
- else field_ts__nr.clean_up();
- if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
- else field_block__nr.clean_up();
- if (other_value.rssi().is_bound()) field_rssi = other_value.rssi();
- else field_rssi.clean_up();
- if (other_value.ber10k().is_bound()) field_ber10k = other_value.ber10k();
- else field_ber10k.clean_up();
- if (other_value.ta__offs__qbits().is_bound()) field_ta__offs__qbits = other_value.ta__offs__qbits();
- else field_ta__offs__qbits.clean_up();
- if (other_value.lqual__cb().is_bound()) field_lqual__cb = other_value.lqual__cb();
- else field_lqual__cb.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__data::operator==(const PCUIF__data& other_value) const
-{
-return field_sapi==other_value.field_sapi
- && field_len==other_value.field_len
- && field_data==other_value.field_data
- && field_fn==other_value.field_fn
- && field_arfcn==other_value.field_arfcn
- && field_trx__nr==other_value.field_trx__nr
- && field_ts__nr==other_value.field_ts__nr
- && field_block__nr==other_value.field_block__nr
- && field_rssi==other_value.field_rssi
- && field_ber10k==other_value.field_ber10k
- && field_ta__offs__qbits==other_value.field_ta__offs__qbits
- && field_lqual__cb==other_value.field_lqual__cb;
-}
-
-boolean PCUIF__data::is_bound() const
-{
-if(field_sapi.is_bound()) return TRUE;
-if(field_len.is_bound()) return TRUE;
-if(field_data.is_bound()) return TRUE;
-if(field_fn.is_bound()) return TRUE;
-if(field_arfcn.is_bound()) return TRUE;
-if(field_trx__nr.is_bound()) return TRUE;
-if(field_ts__nr.is_bound()) return TRUE;
-if(field_block__nr.is_bound()) return TRUE;
-if(field_rssi.is_bound()) return TRUE;
-if(field_ber10k.is_bound()) return TRUE;
-if(field_ta__offs__qbits.is_bound()) return TRUE;
-if(field_lqual__cb.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__data::is_value() const
-{
-if(!field_sapi.is_value()) return FALSE;
-if(!field_len.is_value()) return FALSE;
-if(!field_data.is_value()) return FALSE;
-if(!field_fn.is_value()) return FALSE;
-if(!field_arfcn.is_value()) return FALSE;
-if(!field_trx__nr.is_value()) return FALSE;
-if(!field_ts__nr.is_value()) return FALSE;
-if(!field_block__nr.is_value()) return FALSE;
-if(!field_rssi.is_value()) return FALSE;
-if(!field_ber10k.is_value()) return FALSE;
-if(!field_ta__offs__qbits.is_value()) return FALSE;
-if(!field_lqual__cb.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__data::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ sapi := ");
-field_sapi.log();
-TTCN_Logger::log_event_str(", len := ");
-field_len.log();
-TTCN_Logger::log_event_str(", data := ");
-field_data.log();
-TTCN_Logger::log_event_str(", fn := ");
-field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-field_block__nr.log();
-TTCN_Logger::log_event_str(", rssi := ");
-field_rssi.log();
-TTCN_Logger::log_event_str(", ber10k := ");
-field_ber10k.log();
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-field_ta__offs__qbits.log();
-TTCN_Logger::log_event_str(", lqual_cb := ");
-field_lqual__cb.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__data::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (12<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_data has 12 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) len().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) rssi().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) ber10k().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) ta__offs__qbits().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) lqual__cb().set_param(*param.get_elem(11));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "len")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- len().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rssi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rssi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ber10k")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ber10k().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ta_offs_qbits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ta__offs__qbits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lqual_cb")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lqual__cb().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_data");
- }
-}
-
-void PCUIF__data::set_implicit_omit()
-{
-if (sapi().is_bound()) sapi().set_implicit_omit();
-if (len().is_bound()) len().set_implicit_omit();
-if (data().is_bound()) data().set_implicit_omit();
-if (fn().is_bound()) fn().set_implicit_omit();
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-if (trx__nr().is_bound()) trx__nr().set_implicit_omit();
-if (ts__nr().is_bound()) ts__nr().set_implicit_omit();
-if (block__nr().is_bound()) block__nr().set_implicit_omit();
-if (rssi().is_bound()) rssi().set_implicit_omit();
-if (ber10k().is_bound()) ber10k().set_implicit_omit();
-if (ta__offs__qbits().is_bound()) ta__offs__qbits().set_implicit_omit();
-if (lqual__cb().is_bound()) lqual__cb().set_implicit_omit();
-}
-
-void PCUIF__data::encode_text(Text_Buf& text_buf) const
-{
-field_sapi.encode_text(text_buf);
-field_len.encode_text(text_buf);
-field_data.encode_text(text_buf);
-field_fn.encode_text(text_buf);
-field_arfcn.encode_text(text_buf);
-field_trx__nr.encode_text(text_buf);
-field_ts__nr.encode_text(text_buf);
-field_block__nr.encode_text(text_buf);
-field_rssi.encode_text(text_buf);
-field_ber10k.encode_text(text_buf);
-field_ta__offs__qbits.encode_text(text_buf);
-field_lqual__cb.encode_text(text_buf);
-}
-
-void PCUIF__data::decode_text(Text_Buf& text_buf)
-{
-field_sapi.decode_text(text_buf);
-field_len.decode_text(text_buf);
-field_data.decode_text(text_buf);
-field_fn.decode_text(text_buf);
-field_arfcn.decode_text(text_buf);
-field_trx__nr.decode_text(text_buf);
-field_ts__nr.decode_text(text_buf);
-field_block__nr.decode_text(text_buf);
-field_rssi.decode_text(text_buf);
-field_ber10k.decode_text(text_buf);
-field_ta__offs__qbits.decode_text(text_buf);
-field_lqual__cb.decode_text(text_buf);
-}
-
-void PCUIF__data::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__data::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__data::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__data_sapi_descr_.raw->forceomit);
- decoded_field_length = field_sapi.RAW_decode(PCUIF__data_sapi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__data_len_descr_.raw->forceomit);
- decoded_field_length = field_len.RAW_decode(PCUIF__data_len_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__data_data_descr_.raw->forceomit);
- decoded_field_length = field_data.RAW_decode(PCUIF__data_data_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__data_fn_descr_.raw->forceomit);
- decoded_field_length = field_fn.RAW_decode(PCUIF__data_fn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__data_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(PCUIF__data_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__data_trx__nr_descr_.raw->forceomit);
- decoded_field_length = field_trx__nr.RAW_decode(PCUIF__data_trx__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__data_ts__nr_descr_.raw->forceomit);
- decoded_field_length = field_ts__nr.RAW_decode(PCUIF__data_ts__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_7_force_omit(7, force_omit, PCUIF__data_block__nr_descr_.raw->forceomit);
- decoded_field_length = field_block__nr.RAW_decode(PCUIF__data_block__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_8_force_omit(8, force_omit, PCUIF__data_rssi_descr_.raw->forceomit);
- decoded_field_length = field_rssi.RAW_decode(PCUIF__data_rssi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_9_force_omit(9, force_omit, PCUIF__data_ber10k_descr_.raw->forceomit);
- decoded_field_length = field_ber10k.RAW_decode(PCUIF__data_ber10k_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_10_force_omit(10, force_omit, PCUIF__data_ta__offs__qbits_descr_.raw->forceomit);
- decoded_field_length = field_ta__offs__qbits.RAW_decode(PCUIF__data_ta__offs__qbits_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_10_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_11_force_omit(11, force_omit, PCUIF__data_lqual__cb_descr_.raw->forceomit);
- decoded_field_length = field_lqual__cb.RAW_decode(PCUIF__data_lqual__cb_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_11_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__data::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 12;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(12);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__data_sapi_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__data_len_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__data_data_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__data_fn_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__data_arfcn_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__data_trx__nr_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__data_ts__nr_descr_.raw);
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, PCUIF__data_block__nr_descr_.raw);
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, PCUIF__data_rssi_descr_.raw);
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, PCUIF__data_ber10k_descr_.raw);
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 10, PCUIF__data_ta__offs__qbits_descr_.raw);
- myleaf.body.node.nodes[11] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 11, PCUIF__data_lqual__cb_descr_.raw);
- encoded_length += field_sapi.RAW_encode(PCUIF__data_sapi_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_len.RAW_encode(PCUIF__data_len_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_data.RAW_encode(PCUIF__data_data_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_fn.RAW_encode(PCUIF__data_fn_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_arfcn.RAW_encode(PCUIF__data_arfcn_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_trx__nr.RAW_encode(PCUIF__data_trx__nr_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_ts__nr.RAW_encode(PCUIF__data_ts__nr_descr_, *myleaf.body.node.nodes[6]);
- encoded_length += field_block__nr.RAW_encode(PCUIF__data_block__nr_descr_, *myleaf.body.node.nodes[7]);
- encoded_length += field_rssi.RAW_encode(PCUIF__data_rssi_descr_, *myleaf.body.node.nodes[8]);
- encoded_length += field_ber10k.RAW_encode(PCUIF__data_ber10k_descr_, *myleaf.body.node.nodes[9]);
- encoded_length += field_ta__offs__qbits.RAW_encode(PCUIF__data_ta__offs__qbits_descr_, *myleaf.body.node.nodes[10]);
- encoded_length += field_lqual__cb.RAW_encode(PCUIF__data_lqual__cb_descr_, *myleaf.body.node.nodes[11]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__data_template::single_value_struct {
-PCUIF__Sapi_template field_sapi;
-INTEGER_template field_len;
-OCTETSTRING_template field_data;
-INTEGER_template field_fn;
-INTEGER_template field_arfcn;
-INTEGER_template field_trx__nr;
-INTEGER_template field_ts__nr;
-INTEGER_template field_block__nr;
-INTEGER_template field_rssi;
-INTEGER_template field_ber10k;
-INTEGER_template field_ta__offs__qbits;
-INTEGER_template field_lqual__cb;
-};
-
-void PCUIF__data_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_sapi = ANY_VALUE;
-single_value->field_len = ANY_VALUE;
-single_value->field_data = ANY_VALUE;
-single_value->field_fn = ANY_VALUE;
-single_value->field_arfcn = ANY_VALUE;
-single_value->field_trx__nr = ANY_VALUE;
-single_value->field_ts__nr = ANY_VALUE;
-single_value->field_block__nr = ANY_VALUE;
-single_value->field_rssi = ANY_VALUE;
-single_value->field_ber10k = ANY_VALUE;
-single_value->field_ta__offs__qbits = ANY_VALUE;
-single_value->field_lqual__cb = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__data_template::copy_value(const PCUIF__data& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.sapi().is_bound()) {
- single_value->field_sapi = other_value.sapi();
-} else {
- single_value->field_sapi.clean_up();
-}
-if (other_value.len().is_bound()) {
- single_value->field_len = other_value.len();
-} else {
- single_value->field_len.clean_up();
-}
-if (other_value.data().is_bound()) {
- single_value->field_data = other_value.data();
-} else {
- single_value->field_data.clean_up();
-}
-if (other_value.fn().is_bound()) {
- single_value->field_fn = other_value.fn();
-} else {
- single_value->field_fn.clean_up();
-}
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-if (other_value.trx__nr().is_bound()) {
- single_value->field_trx__nr = other_value.trx__nr();
-} else {
- single_value->field_trx__nr.clean_up();
-}
-if (other_value.ts__nr().is_bound()) {
- single_value->field_ts__nr = other_value.ts__nr();
-} else {
- single_value->field_ts__nr.clean_up();
-}
-if (other_value.block__nr().is_bound()) {
- single_value->field_block__nr = other_value.block__nr();
-} else {
- single_value->field_block__nr.clean_up();
-}
-if (other_value.rssi().is_bound()) {
- single_value->field_rssi = other_value.rssi();
-} else {
- single_value->field_rssi.clean_up();
-}
-if (other_value.ber10k().is_bound()) {
- single_value->field_ber10k = other_value.ber10k();
-} else {
- single_value->field_ber10k.clean_up();
-}
-if (other_value.ta__offs__qbits().is_bound()) {
- single_value->field_ta__offs__qbits = other_value.ta__offs__qbits();
-} else {
- single_value->field_ta__offs__qbits.clean_up();
-}
-if (other_value.lqual__cb().is_bound()) {
- single_value->field_lqual__cb = other_value.lqual__cb();
-} else {
- single_value->field_lqual__cb.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__data_template::copy_template(const PCUIF__data_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.sapi().get_selection()) {
-single_value->field_sapi = other_value.sapi();
-} else {
-single_value->field_sapi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.len().get_selection()) {
-single_value->field_len = other_value.len();
-} else {
-single_value->field_len.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.data().get_selection()) {
-single_value->field_data = other_value.data();
-} else {
-single_value->field_data.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.fn().get_selection()) {
-single_value->field_fn = other_value.fn();
-} else {
-single_value->field_fn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.trx__nr().get_selection()) {
-single_value->field_trx__nr = other_value.trx__nr();
-} else {
-single_value->field_trx__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ts__nr().get_selection()) {
-single_value->field_ts__nr = other_value.ts__nr();
-} else {
-single_value->field_ts__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.block__nr().get_selection()) {
-single_value->field_block__nr = other_value.block__nr();
-} else {
-single_value->field_block__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rssi().get_selection()) {
-single_value->field_rssi = other_value.rssi();
-} else {
-single_value->field_rssi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ber10k().get_selection()) {
-single_value->field_ber10k = other_value.ber10k();
-} else {
-single_value->field_ber10k.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ta__offs__qbits().get_selection()) {
-single_value->field_ta__offs__qbits = other_value.ta__offs__qbits();
-} else {
-single_value->field_ta__offs__qbits.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lqual__cb().get_selection()) {
-single_value->field_lqual__cb = other_value.lqual__cb();
-} else {
-single_value->field_lqual__cb.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__data_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__data_template::PCUIF__data_template()
-{
-}
-
-PCUIF__data_template::PCUIF__data_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__data_template::PCUIF__data_template(const PCUIF__data& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__data_template::PCUIF__data_template(const OPTIONAL<PCUIF__data>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_data from an unbound optional field.");
-}
-}
-
-PCUIF__data_template::PCUIF__data_template(const PCUIF__data_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__data_template::~PCUIF__data_template()
-{
-clean_up();
-}
-
-PCUIF__data_template& PCUIF__data_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__data_template& PCUIF__data_template::operator=(const PCUIF__data& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__data_template& PCUIF__data_template::operator=(const OPTIONAL<PCUIF__data>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__data&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_data.");
-}
-return *this;
-}
-
-PCUIF__data_template& PCUIF__data_template::operator=(const PCUIF__data_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__data_template::match(const PCUIF__data& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.sapi().is_bound()) return FALSE;
-if(!single_value->field_sapi.match(other_value.sapi(), legacy))return FALSE;
-if(!other_value.len().is_bound()) return FALSE;
-if(!single_value->field_len.match(other_value.len(), legacy))return FALSE;
-if(!other_value.data().is_bound()) return FALSE;
-if(!single_value->field_data.match(other_value.data(), legacy))return FALSE;
-if(!other_value.fn().is_bound()) return FALSE;
-if(!single_value->field_fn.match(other_value.fn(), legacy))return FALSE;
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-if(!other_value.trx__nr().is_bound()) return FALSE;
-if(!single_value->field_trx__nr.match(other_value.trx__nr(), legacy))return FALSE;
-if(!other_value.ts__nr().is_bound()) return FALSE;
-if(!single_value->field_ts__nr.match(other_value.ts__nr(), legacy))return FALSE;
-if(!other_value.block__nr().is_bound()) return FALSE;
-if(!single_value->field_block__nr.match(other_value.block__nr(), legacy))return FALSE;
-if(!other_value.rssi().is_bound()) return FALSE;
-if(!single_value->field_rssi.match(other_value.rssi(), legacy))return FALSE;
-if(!other_value.ber10k().is_bound()) return FALSE;
-if(!single_value->field_ber10k.match(other_value.ber10k(), legacy))return FALSE;
-if(!other_value.ta__offs__qbits().is_bound()) return FALSE;
-if(!single_value->field_ta__offs__qbits.match(other_value.ta__offs__qbits(), legacy))return FALSE;
-if(!other_value.lqual__cb().is_bound()) return FALSE;
-if(!single_value->field_lqual__cb.match(other_value.lqual__cb(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data.");
-}
-return FALSE;
-}
-
-boolean PCUIF__data_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_sapi.is_bound()) return TRUE;
-if (single_value->field_len.is_bound()) return TRUE;
-if (single_value->field_data.is_bound()) return TRUE;
-if (single_value->field_fn.is_bound()) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-if (single_value->field_trx__nr.is_bound()) return TRUE;
-if (single_value->field_ts__nr.is_bound()) return TRUE;
-if (single_value->field_block__nr.is_bound()) return TRUE;
-if (single_value->field_rssi.is_bound()) return TRUE;
-if (single_value->field_ber10k.is_bound()) return TRUE;
-if (single_value->field_ta__offs__qbits.is_bound()) return TRUE;
-if (single_value->field_lqual__cb.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__data_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_sapi.is_value()) return FALSE;
-if (!single_value->field_len.is_value()) return FALSE;
-if (!single_value->field_data.is_value()) return FALSE;
-if (!single_value->field_fn.is_value()) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-if (!single_value->field_trx__nr.is_value()) return FALSE;
-if (!single_value->field_ts__nr.is_value()) return FALSE;
-if (!single_value->field_block__nr.is_value()) return FALSE;
-if (!single_value->field_rssi.is_value()) return FALSE;
-if (!single_value->field_ber10k.is_value()) return FALSE;
-if (!single_value->field_ta__offs__qbits.is_value()) return FALSE;
-if (!single_value->field_lqual__cb.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__data_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__data PCUIF__data_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_data.");
-PCUIF__data ret_val;
-if (single_value->field_sapi.is_bound()) {
-ret_val.sapi() = single_value->field_sapi.valueof();
-}
-if (single_value->field_len.is_bound()) {
-ret_val.len() = single_value->field_len.valueof();
-}
-if (single_value->field_data.is_bound()) {
-ret_val.data() = single_value->field_data.valueof();
-}
-if (single_value->field_fn.is_bound()) {
-ret_val.fn() = single_value->field_fn.valueof();
-}
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-if (single_value->field_trx__nr.is_bound()) {
-ret_val.trx__nr() = single_value->field_trx__nr.valueof();
-}
-if (single_value->field_ts__nr.is_bound()) {
-ret_val.ts__nr() = single_value->field_ts__nr.valueof();
-}
-if (single_value->field_block__nr.is_bound()) {
-ret_val.block__nr() = single_value->field_block__nr.valueof();
-}
-if (single_value->field_rssi.is_bound()) {
-ret_val.rssi() = single_value->field_rssi.valueof();
-}
-if (single_value->field_ber10k.is_bound()) {
-ret_val.ber10k() = single_value->field_ber10k.valueof();
-}
-if (single_value->field_ta__offs__qbits.is_bound()) {
-ret_val.ta__offs__qbits() = single_value->field_ta__offs__qbits.valueof();
-}
-if (single_value->field_lqual__cb.is_bound()) {
-ret_val.lqual__cb() = single_value->field_lqual__cb.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__data_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_data.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__data_template[list_length];
-}
-
-PCUIF__data_template& PCUIF__data_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_data.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_data.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__Sapi_template& PCUIF__data_template::sapi()
-{
-set_specific();
-return single_value->field_sapi;
-}
-
-const PCUIF__Sapi_template& PCUIF__data_template::sapi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sapi of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_sapi;
-}
-
-INTEGER_template& PCUIF__data_template::len()
-{
-set_specific();
-return single_value->field_len;
-}
-
-const INTEGER_template& PCUIF__data_template::len() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field len of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_len;
-}
-
-OCTETSTRING_template& PCUIF__data_template::data()
-{
-set_specific();
-return single_value->field_data;
-}
-
-const OCTETSTRING_template& PCUIF__data_template::data() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field data of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_data;
-}
-
-INTEGER_template& PCUIF__data_template::fn()
-{
-set_specific();
-return single_value->field_fn;
-}
-
-const INTEGER_template& PCUIF__data_template::fn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field fn of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_fn;
-}
-
-INTEGER_template& PCUIF__data_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& PCUIF__data_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_arfcn;
-}
-
-INTEGER_template& PCUIF__data_template::trx__nr()
-{
-set_specific();
-return single_value->field_trx__nr;
-}
-
-const INTEGER_template& PCUIF__data_template::trx__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field trx_nr of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_trx__nr;
-}
-
-INTEGER_template& PCUIF__data_template::ts__nr()
-{
-set_specific();
-return single_value->field_ts__nr;
-}
-
-const INTEGER_template& PCUIF__data_template::ts__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ts_nr of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_ts__nr;
-}
-
-INTEGER_template& PCUIF__data_template::block__nr()
-{
-set_specific();
-return single_value->field_block__nr;
-}
-
-const INTEGER_template& PCUIF__data_template::block__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field block_nr of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_block__nr;
-}
-
-INTEGER_template& PCUIF__data_template::rssi()
-{
-set_specific();
-return single_value->field_rssi;
-}
-
-const INTEGER_template& PCUIF__data_template::rssi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rssi of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_rssi;
-}
-
-INTEGER_template& PCUIF__data_template::ber10k()
-{
-set_specific();
-return single_value->field_ber10k;
-}
-
-const INTEGER_template& PCUIF__data_template::ber10k() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ber10k of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_ber10k;
-}
-
-INTEGER_template& PCUIF__data_template::ta__offs__qbits()
-{
-set_specific();
-return single_value->field_ta__offs__qbits;
-}
-
-const INTEGER_template& PCUIF__data_template::ta__offs__qbits() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ta_offs_qbits of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_ta__offs__qbits;
-}
-
-INTEGER_template& PCUIF__data_template::lqual__cb()
-{
-set_specific();
-return single_value->field_lqual__cb;
-}
-
-const INTEGER_template& PCUIF__data_template::lqual__cb() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lqual_cb of a non-specific template of type @PCUIF_Types.PCUIF_data.");
-return single_value->field_lqual__cb;
-}
-
-int PCUIF__data_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 12;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data.");
- }
- return 0;
-}
-
-void PCUIF__data_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log();
-TTCN_Logger::log_event_str(", len := ");
-single_value->field_len.log();
-TTCN_Logger::log_event_str(", data := ");
-single_value->field_data.log();
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log();
-TTCN_Logger::log_event_str(", rssi := ");
-single_value->field_rssi.log();
-TTCN_Logger::log_event_str(", ber10k := ");
-single_value->field_ber10k.log();
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-single_value->field_ta__offs__qbits.log();
-TTCN_Logger::log_event_str(", lqual_cb := ");
-single_value->field_lqual__cb.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__data_template::log_match(const PCUIF__data& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_sapi.match(match_value.sapi(), legacy)){
-TTCN_Logger::log_logmatch_info(".sapi");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_len.match(match_value.len(), legacy)){
-TTCN_Logger::log_logmatch_info(".len");
-single_value->field_len.log_match(match_value.len(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_data.match(match_value.data(), legacy)){
-TTCN_Logger::log_logmatch_info(".data");
-single_value->field_data.log_match(match_value.data(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_fn.match(match_value.fn(), legacy)){
-TTCN_Logger::log_logmatch_info(".fn");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_trx__nr.match(match_value.trx__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".trx_nr");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ts__nr.match(match_value.ts__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".ts_nr");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_block__nr.match(match_value.block__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".block_nr");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rssi.match(match_value.rssi(), legacy)){
-TTCN_Logger::log_logmatch_info(".rssi");
-single_value->field_rssi.log_match(match_value.rssi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ber10k.match(match_value.ber10k(), legacy)){
-TTCN_Logger::log_logmatch_info(".ber10k");
-single_value->field_ber10k.log_match(match_value.ber10k(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ta__offs__qbits.match(match_value.ta__offs__qbits(), legacy)){
-TTCN_Logger::log_logmatch_info(".ta_offs_qbits");
-single_value->field_ta__offs__qbits.log_match(match_value.ta__offs__qbits(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lqual__cb.match(match_value.lqual__cb(), legacy)){
-TTCN_Logger::log_logmatch_info(".lqual_cb");
-single_value->field_lqual__cb.log_match(match_value.lqual__cb(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::log_event_str(", len := ");
-single_value->field_len.log_match(match_value.len(), legacy);
-TTCN_Logger::log_event_str(", data := ");
-single_value->field_data.log_match(match_value.data(), legacy);
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::log_event_str(", rssi := ");
-single_value->field_rssi.log_match(match_value.rssi(), legacy);
-TTCN_Logger::log_event_str(", ber10k := ");
-single_value->field_ber10k.log_match(match_value.ber10k(), legacy);
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-single_value->field_ta__offs__qbits.log_match(match_value.ta__offs__qbits(), legacy);
-TTCN_Logger::log_event_str(", lqual_cb := ");
-single_value->field_lqual__cb.log_match(match_value.lqual__cb(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__data_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_sapi.encode_text(text_buf);
-single_value->field_len.encode_text(text_buf);
-single_value->field_data.encode_text(text_buf);
-single_value->field_fn.encode_text(text_buf);
-single_value->field_arfcn.encode_text(text_buf);
-single_value->field_trx__nr.encode_text(text_buf);
-single_value->field_ts__nr.encode_text(text_buf);
-single_value->field_block__nr.encode_text(text_buf);
-single_value->field_rssi.encode_text(text_buf);
-single_value->field_ber10k.encode_text(text_buf);
-single_value->field_ta__offs__qbits.encode_text(text_buf);
-single_value->field_lqual__cb.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data.");
-}
-}
-
-void PCUIF__data_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_sapi.decode_text(text_buf);
-single_value->field_len.decode_text(text_buf);
-single_value->field_data.decode_text(text_buf);
-single_value->field_fn.decode_text(text_buf);
-single_value->field_arfcn.decode_text(text_buf);
-single_value->field_trx__nr.decode_text(text_buf);
-single_value->field_ts__nr.decode_text(text_buf);
-single_value->field_block__nr.decode_text(text_buf);
-single_value->field_rssi.decode_text(text_buf);
-single_value->field_ber10k.decode_text(text_buf);
-single_value->field_ta__offs__qbits.decode_text(text_buf);
-single_value->field_lqual__cb.decode_text(text_buf);
-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 PCUIF__data_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_data.");
-}
-}
-
-void PCUIF__data_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__data_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (12<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_data has 12 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) len().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) data().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) rssi().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) ber10k().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) ta__offs__qbits().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) lqual__cb().set_param(*param.get_elem(11));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "len")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- len().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "data")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- data().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rssi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rssi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ber10k")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ber10k().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ta_offs_qbits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ta__offs__qbits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lqual_cb")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lqual__cb().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_data: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_data");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__data_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_sapi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_len.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_data.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_fn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_trx__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_ts__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_block__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_rssi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_ber10k.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_ta__offs__qbits.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-single_value->field_lqual__cb.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data");
-return;
-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 : "@PCUIF_Types.PCUIF_data");
-}
-
-boolean PCUIF__data_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__data_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__data__cnf__dt::PCUIF__data__cnf__dt()
-{
-}
-
-PCUIF__data__cnf__dt::PCUIF__data__cnf__dt(const PCUIF__Sapi& par_sapi,
- const OCTETSTRING& par_tlli,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr,
- const INTEGER& par_rssi,
- const INTEGER& par_ber10k,
- const INTEGER& par_ta__offs__qbits,
- const INTEGER& par_lqual__cb)
- : field_sapi(par_sapi),
- field_tlli(par_tlli),
- field_fn(par_fn),
- field_arfcn(par_arfcn),
- field_trx__nr(par_trx__nr),
- field_ts__nr(par_ts__nr),
- field_block__nr(par_block__nr),
- field_rssi(par_rssi),
- field_ber10k(par_ber10k),
- field_ta__offs__qbits(par_ta__offs__qbits),
- field_lqual__cb(par_lqual__cb)
-{
-}
-
-PCUIF__data__cnf__dt::PCUIF__data__cnf__dt(const PCUIF__data__cnf__dt& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
-else field_sapi.clean_up();
-if (other_value.tlli().is_bound()) field_tlli = other_value.tlli();
-else field_tlli.clean_up();
-if (other_value.fn().is_bound()) field_fn = other_value.fn();
-else field_fn.clean_up();
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
-else field_trx__nr.clean_up();
-if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
-else field_ts__nr.clean_up();
-if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
-else field_block__nr.clean_up();
-if (other_value.rssi().is_bound()) field_rssi = other_value.rssi();
-else field_rssi.clean_up();
-if (other_value.ber10k().is_bound()) field_ber10k = other_value.ber10k();
-else field_ber10k.clean_up();
-if (other_value.ta__offs__qbits().is_bound()) field_ta__offs__qbits = other_value.ta__offs__qbits();
-else field_ta__offs__qbits.clean_up();
-if (other_value.lqual__cb().is_bound()) field_lqual__cb = other_value.lqual__cb();
-else field_lqual__cb.clean_up();
-}
-
-void PCUIF__data__cnf__dt::clean_up()
-{
-field_sapi.clean_up();
-field_tlli.clean_up();
-field_fn.clean_up();
-field_arfcn.clean_up();
-field_trx__nr.clean_up();
-field_ts__nr.clean_up();
-field_block__nr.clean_up();
-field_rssi.clean_up();
-field_ber10k.clean_up();
-field_ta__offs__qbits.clean_up();
-field_lqual__cb.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__data__cnf__dt::get_descriptor() const { return &PCUIF__data__cnf__dt_descr_; }
-PCUIF__data__cnf__dt& PCUIF__data__cnf__dt::operator=(const PCUIF__data__cnf__dt& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_data_cnf_dt.");
- if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
- else field_sapi.clean_up();
- if (other_value.tlli().is_bound()) field_tlli = other_value.tlli();
- else field_tlli.clean_up();
- if (other_value.fn().is_bound()) field_fn = other_value.fn();
- else field_fn.clean_up();
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
- if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
- else field_trx__nr.clean_up();
- if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
- else field_ts__nr.clean_up();
- if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
- else field_block__nr.clean_up();
- if (other_value.rssi().is_bound()) field_rssi = other_value.rssi();
- else field_rssi.clean_up();
- if (other_value.ber10k().is_bound()) field_ber10k = other_value.ber10k();
- else field_ber10k.clean_up();
- if (other_value.ta__offs__qbits().is_bound()) field_ta__offs__qbits = other_value.ta__offs__qbits();
- else field_ta__offs__qbits.clean_up();
- if (other_value.lqual__cb().is_bound()) field_lqual__cb = other_value.lqual__cb();
- else field_lqual__cb.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__data__cnf__dt::operator==(const PCUIF__data__cnf__dt& other_value) const
-{
-return field_sapi==other_value.field_sapi
- && field_tlli==other_value.field_tlli
- && field_fn==other_value.field_fn
- && field_arfcn==other_value.field_arfcn
- && field_trx__nr==other_value.field_trx__nr
- && field_ts__nr==other_value.field_ts__nr
- && field_block__nr==other_value.field_block__nr
- && field_rssi==other_value.field_rssi
- && field_ber10k==other_value.field_ber10k
- && field_ta__offs__qbits==other_value.field_ta__offs__qbits
- && field_lqual__cb==other_value.field_lqual__cb;
-}
-
-boolean PCUIF__data__cnf__dt::is_bound() const
-{
-if(field_sapi.is_bound()) return TRUE;
-if(field_tlli.is_bound()) return TRUE;
-if(field_fn.is_bound()) return TRUE;
-if(field_arfcn.is_bound()) return TRUE;
-if(field_trx__nr.is_bound()) return TRUE;
-if(field_ts__nr.is_bound()) return TRUE;
-if(field_block__nr.is_bound()) return TRUE;
-if(field_rssi.is_bound()) return TRUE;
-if(field_ber10k.is_bound()) return TRUE;
-if(field_ta__offs__qbits.is_bound()) return TRUE;
-if(field_lqual__cb.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__data__cnf__dt::is_value() const
-{
-if(!field_sapi.is_value()) return FALSE;
-if(!field_tlli.is_value()) return FALSE;
-if(!field_fn.is_value()) return FALSE;
-if(!field_arfcn.is_value()) return FALSE;
-if(!field_trx__nr.is_value()) return FALSE;
-if(!field_ts__nr.is_value()) return FALSE;
-if(!field_block__nr.is_value()) return FALSE;
-if(!field_rssi.is_value()) return FALSE;
-if(!field_ber10k.is_value()) return FALSE;
-if(!field_ta__offs__qbits.is_value()) return FALSE;
-if(!field_lqual__cb.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__data__cnf__dt::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ sapi := ");
-field_sapi.log();
-TTCN_Logger::log_event_str(", tlli := ");
-field_tlli.log();
-TTCN_Logger::log_event_str(", fn := ");
-field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-field_block__nr.log();
-TTCN_Logger::log_event_str(", rssi := ");
-field_rssi.log();
-TTCN_Logger::log_event_str(", ber10k := ");
-field_ber10k.log();
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-field_ta__offs__qbits.log();
-TTCN_Logger::log_event_str(", lqual_cb := ");
-field_lqual__cb.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__data__cnf__dt::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (11<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_data_cnf_dt has 11 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) tlli().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) rssi().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) ber10k().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) ta__offs__qbits().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) lqual__cb().set_param(*param.get_elem(10));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tlli")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tlli().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rssi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rssi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ber10k")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ber10k().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ta_offs_qbits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ta__offs__qbits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lqual_cb")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lqual__cb().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_data_cnf_dt: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_data_cnf_dt");
- }
-}
-
-void PCUIF__data__cnf__dt::set_implicit_omit()
-{
-if (sapi().is_bound()) sapi().set_implicit_omit();
-if (tlli().is_bound()) tlli().set_implicit_omit();
-if (fn().is_bound()) fn().set_implicit_omit();
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-if (trx__nr().is_bound()) trx__nr().set_implicit_omit();
-if (ts__nr().is_bound()) ts__nr().set_implicit_omit();
-if (block__nr().is_bound()) block__nr().set_implicit_omit();
-if (rssi().is_bound()) rssi().set_implicit_omit();
-if (ber10k().is_bound()) ber10k().set_implicit_omit();
-if (ta__offs__qbits().is_bound()) ta__offs__qbits().set_implicit_omit();
-if (lqual__cb().is_bound()) lqual__cb().set_implicit_omit();
-}
-
-void PCUIF__data__cnf__dt::encode_text(Text_Buf& text_buf) const
-{
-field_sapi.encode_text(text_buf);
-field_tlli.encode_text(text_buf);
-field_fn.encode_text(text_buf);
-field_arfcn.encode_text(text_buf);
-field_trx__nr.encode_text(text_buf);
-field_ts__nr.encode_text(text_buf);
-field_block__nr.encode_text(text_buf);
-field_rssi.encode_text(text_buf);
-field_ber10k.encode_text(text_buf);
-field_ta__offs__qbits.encode_text(text_buf);
-field_lqual__cb.encode_text(text_buf);
-}
-
-void PCUIF__data__cnf__dt::decode_text(Text_Buf& text_buf)
-{
-field_sapi.decode_text(text_buf);
-field_tlli.decode_text(text_buf);
-field_fn.decode_text(text_buf);
-field_arfcn.decode_text(text_buf);
-field_trx__nr.decode_text(text_buf);
-field_ts__nr.decode_text(text_buf);
-field_block__nr.decode_text(text_buf);
-field_rssi.decode_text(text_buf);
-field_ber10k.decode_text(text_buf);
-field_ta__offs__qbits.decode_text(text_buf);
-field_lqual__cb.decode_text(text_buf);
-}
-
-void PCUIF__data__cnf__dt::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__data__cnf__dt::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__data__cnf__dt::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__data__cnf__dt_sapi_descr_.raw->forceomit);
- decoded_field_length = field_sapi.RAW_decode(PCUIF__data__cnf__dt_sapi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__data__cnf__dt_tlli_descr_.raw->forceomit);
- decoded_field_length = field_tlli.RAW_decode(PCUIF__data__cnf__dt_tlli_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__data__cnf__dt_fn_descr_.raw->forceomit);
- decoded_field_length = field_fn.RAW_decode(PCUIF__data__cnf__dt_fn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__data__cnf__dt_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(PCUIF__data__cnf__dt_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__data__cnf__dt_trx__nr_descr_.raw->forceomit);
- decoded_field_length = field_trx__nr.RAW_decode(PCUIF__data__cnf__dt_trx__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__data__cnf__dt_ts__nr_descr_.raw->forceomit);
- decoded_field_length = field_ts__nr.RAW_decode(PCUIF__data__cnf__dt_ts__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__data__cnf__dt_block__nr_descr_.raw->forceomit);
- decoded_field_length = field_block__nr.RAW_decode(PCUIF__data__cnf__dt_block__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_7_force_omit(7, force_omit, PCUIF__data__cnf__dt_rssi_descr_.raw->forceomit);
- decoded_field_length = field_rssi.RAW_decode(PCUIF__data__cnf__dt_rssi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_8_force_omit(8, force_omit, PCUIF__data__cnf__dt_ber10k_descr_.raw->forceomit);
- decoded_field_length = field_ber10k.RAW_decode(PCUIF__data__cnf__dt_ber10k_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_9_force_omit(9, force_omit, PCUIF__data__cnf__dt_ta__offs__qbits_descr_.raw->forceomit);
- decoded_field_length = field_ta__offs__qbits.RAW_decode(PCUIF__data__cnf__dt_ta__offs__qbits_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_10_force_omit(10, force_omit, PCUIF__data__cnf__dt_lqual__cb_descr_.raw->forceomit);
- decoded_field_length = field_lqual__cb.RAW_decode(PCUIF__data__cnf__dt_lqual__cb_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_10_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__data__cnf__dt::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 11;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(11);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__data__cnf__dt_sapi_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__data__cnf__dt_tlli_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__data__cnf__dt_fn_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__data__cnf__dt_arfcn_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__data__cnf__dt_trx__nr_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__data__cnf__dt_ts__nr_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__data__cnf__dt_block__nr_descr_.raw);
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, PCUIF__data__cnf__dt_rssi_descr_.raw);
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, PCUIF__data__cnf__dt_ber10k_descr_.raw);
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, PCUIF__data__cnf__dt_ta__offs__qbits_descr_.raw);
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 10, PCUIF__data__cnf__dt_lqual__cb_descr_.raw);
- encoded_length += field_sapi.RAW_encode(PCUIF__data__cnf__dt_sapi_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_tlli.RAW_encode(PCUIF__data__cnf__dt_tlli_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_fn.RAW_encode(PCUIF__data__cnf__dt_fn_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_arfcn.RAW_encode(PCUIF__data__cnf__dt_arfcn_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_trx__nr.RAW_encode(PCUIF__data__cnf__dt_trx__nr_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_ts__nr.RAW_encode(PCUIF__data__cnf__dt_ts__nr_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_block__nr.RAW_encode(PCUIF__data__cnf__dt_block__nr_descr_, *myleaf.body.node.nodes[6]);
- encoded_length += field_rssi.RAW_encode(PCUIF__data__cnf__dt_rssi_descr_, *myleaf.body.node.nodes[7]);
- encoded_length += field_ber10k.RAW_encode(PCUIF__data__cnf__dt_ber10k_descr_, *myleaf.body.node.nodes[8]);
- encoded_length += field_ta__offs__qbits.RAW_encode(PCUIF__data__cnf__dt_ta__offs__qbits_descr_, *myleaf.body.node.nodes[9]);
- encoded_length += field_lqual__cb.RAW_encode(PCUIF__data__cnf__dt_lqual__cb_descr_, *myleaf.body.node.nodes[10]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__data__cnf__dt_template::single_value_struct {
-PCUIF__Sapi_template field_sapi;
-OCTETSTRING_template field_tlli;
-INTEGER_template field_fn;
-INTEGER_template field_arfcn;
-INTEGER_template field_trx__nr;
-INTEGER_template field_ts__nr;
-INTEGER_template field_block__nr;
-INTEGER_template field_rssi;
-INTEGER_template field_ber10k;
-INTEGER_template field_ta__offs__qbits;
-INTEGER_template field_lqual__cb;
-};
-
-void PCUIF__data__cnf__dt_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_sapi = ANY_VALUE;
-single_value->field_tlli = ANY_VALUE;
-single_value->field_fn = ANY_VALUE;
-single_value->field_arfcn = ANY_VALUE;
-single_value->field_trx__nr = ANY_VALUE;
-single_value->field_ts__nr = ANY_VALUE;
-single_value->field_block__nr = ANY_VALUE;
-single_value->field_rssi = ANY_VALUE;
-single_value->field_ber10k = ANY_VALUE;
-single_value->field_ta__offs__qbits = ANY_VALUE;
-single_value->field_lqual__cb = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__data__cnf__dt_template::copy_value(const PCUIF__data__cnf__dt& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.sapi().is_bound()) {
- single_value->field_sapi = other_value.sapi();
-} else {
- single_value->field_sapi.clean_up();
-}
-if (other_value.tlli().is_bound()) {
- single_value->field_tlli = other_value.tlli();
-} else {
- single_value->field_tlli.clean_up();
-}
-if (other_value.fn().is_bound()) {
- single_value->field_fn = other_value.fn();
-} else {
- single_value->field_fn.clean_up();
-}
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-if (other_value.trx__nr().is_bound()) {
- single_value->field_trx__nr = other_value.trx__nr();
-} else {
- single_value->field_trx__nr.clean_up();
-}
-if (other_value.ts__nr().is_bound()) {
- single_value->field_ts__nr = other_value.ts__nr();
-} else {
- single_value->field_ts__nr.clean_up();
-}
-if (other_value.block__nr().is_bound()) {
- single_value->field_block__nr = other_value.block__nr();
-} else {
- single_value->field_block__nr.clean_up();
-}
-if (other_value.rssi().is_bound()) {
- single_value->field_rssi = other_value.rssi();
-} else {
- single_value->field_rssi.clean_up();
-}
-if (other_value.ber10k().is_bound()) {
- single_value->field_ber10k = other_value.ber10k();
-} else {
- single_value->field_ber10k.clean_up();
-}
-if (other_value.ta__offs__qbits().is_bound()) {
- single_value->field_ta__offs__qbits = other_value.ta__offs__qbits();
-} else {
- single_value->field_ta__offs__qbits.clean_up();
-}
-if (other_value.lqual__cb().is_bound()) {
- single_value->field_lqual__cb = other_value.lqual__cb();
-} else {
- single_value->field_lqual__cb.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__data__cnf__dt_template::copy_template(const PCUIF__data__cnf__dt_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.sapi().get_selection()) {
-single_value->field_sapi = other_value.sapi();
-} else {
-single_value->field_sapi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.tlli().get_selection()) {
-single_value->field_tlli = other_value.tlli();
-} else {
-single_value->field_tlli.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.fn().get_selection()) {
-single_value->field_fn = other_value.fn();
-} else {
-single_value->field_fn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.trx__nr().get_selection()) {
-single_value->field_trx__nr = other_value.trx__nr();
-} else {
-single_value->field_trx__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ts__nr().get_selection()) {
-single_value->field_ts__nr = other_value.ts__nr();
-} else {
-single_value->field_ts__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.block__nr().get_selection()) {
-single_value->field_block__nr = other_value.block__nr();
-} else {
-single_value->field_block__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rssi().get_selection()) {
-single_value->field_rssi = other_value.rssi();
-} else {
-single_value->field_rssi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ber10k().get_selection()) {
-single_value->field_ber10k = other_value.ber10k();
-} else {
-single_value->field_ber10k.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ta__offs__qbits().get_selection()) {
-single_value->field_ta__offs__qbits = other_value.ta__offs__qbits();
-} else {
-single_value->field_ta__offs__qbits.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lqual__cb().get_selection()) {
-single_value->field_lqual__cb = other_value.lqual__cb();
-} else {
-single_value->field_lqual__cb.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__data__cnf__dt_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__data__cnf__dt_template::PCUIF__data__cnf__dt_template()
-{
-}
-
-PCUIF__data__cnf__dt_template::PCUIF__data__cnf__dt_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__data__cnf__dt_template::PCUIF__data__cnf__dt_template(const PCUIF__data__cnf__dt& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__data__cnf__dt_template::PCUIF__data__cnf__dt_template(const OPTIONAL<PCUIF__data__cnf__dt>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__data__cnf__dt&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_data_cnf_dt from an unbound optional field.");
-}
-}
-
-PCUIF__data__cnf__dt_template::PCUIF__data__cnf__dt_template(const PCUIF__data__cnf__dt_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__data__cnf__dt_template::~PCUIF__data__cnf__dt_template()
-{
-clean_up();
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__data__cnf__dt_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__data__cnf__dt_template::operator=(const PCUIF__data__cnf__dt& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__data__cnf__dt_template::operator=(const OPTIONAL<PCUIF__data__cnf__dt>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__data__cnf__dt&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-}
-return *this;
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__data__cnf__dt_template::operator=(const PCUIF__data__cnf__dt_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__data__cnf__dt_template::match(const PCUIF__data__cnf__dt& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.sapi().is_bound()) return FALSE;
-if(!single_value->field_sapi.match(other_value.sapi(), legacy))return FALSE;
-if(!other_value.tlli().is_bound()) return FALSE;
-if(!single_value->field_tlli.match(other_value.tlli(), legacy))return FALSE;
-if(!other_value.fn().is_bound()) return FALSE;
-if(!single_value->field_fn.match(other_value.fn(), legacy))return FALSE;
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-if(!other_value.trx__nr().is_bound()) return FALSE;
-if(!single_value->field_trx__nr.match(other_value.trx__nr(), legacy))return FALSE;
-if(!other_value.ts__nr().is_bound()) return FALSE;
-if(!single_value->field_ts__nr.match(other_value.ts__nr(), legacy))return FALSE;
-if(!other_value.block__nr().is_bound()) return FALSE;
-if(!single_value->field_block__nr.match(other_value.block__nr(), legacy))return FALSE;
-if(!other_value.rssi().is_bound()) return FALSE;
-if(!single_value->field_rssi.match(other_value.rssi(), legacy))return FALSE;
-if(!other_value.ber10k().is_bound()) return FALSE;
-if(!single_value->field_ber10k.match(other_value.ber10k(), legacy))return FALSE;
-if(!other_value.ta__offs__qbits().is_bound()) return FALSE;
-if(!single_value->field_ta__offs__qbits.match(other_value.ta__offs__qbits(), legacy))return FALSE;
-if(!other_value.lqual__cb().is_bound()) return FALSE;
-if(!single_value->field_lqual__cb.match(other_value.lqual__cb(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-}
-return FALSE;
-}
-
-boolean PCUIF__data__cnf__dt_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_sapi.is_bound()) return TRUE;
-if (single_value->field_tlli.is_bound()) return TRUE;
-if (single_value->field_fn.is_bound()) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-if (single_value->field_trx__nr.is_bound()) return TRUE;
-if (single_value->field_ts__nr.is_bound()) return TRUE;
-if (single_value->field_block__nr.is_bound()) return TRUE;
-if (single_value->field_rssi.is_bound()) return TRUE;
-if (single_value->field_ber10k.is_bound()) return TRUE;
-if (single_value->field_ta__offs__qbits.is_bound()) return TRUE;
-if (single_value->field_lqual__cb.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__data__cnf__dt_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_sapi.is_value()) return FALSE;
-if (!single_value->field_tlli.is_value()) return FALSE;
-if (!single_value->field_fn.is_value()) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-if (!single_value->field_trx__nr.is_value()) return FALSE;
-if (!single_value->field_ts__nr.is_value()) return FALSE;
-if (!single_value->field_block__nr.is_value()) return FALSE;
-if (!single_value->field_rssi.is_value()) return FALSE;
-if (!single_value->field_ber10k.is_value()) return FALSE;
-if (!single_value->field_ta__offs__qbits.is_value()) return FALSE;
-if (!single_value->field_lqual__cb.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__data__cnf__dt_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__data__cnf__dt PCUIF__data__cnf__dt_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-PCUIF__data__cnf__dt ret_val;
-if (single_value->field_sapi.is_bound()) {
-ret_val.sapi() = single_value->field_sapi.valueof();
-}
-if (single_value->field_tlli.is_bound()) {
-ret_val.tlli() = single_value->field_tlli.valueof();
-}
-if (single_value->field_fn.is_bound()) {
-ret_val.fn() = single_value->field_fn.valueof();
-}
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-if (single_value->field_trx__nr.is_bound()) {
-ret_val.trx__nr() = single_value->field_trx__nr.valueof();
-}
-if (single_value->field_ts__nr.is_bound()) {
-ret_val.ts__nr() = single_value->field_ts__nr.valueof();
-}
-if (single_value->field_block__nr.is_bound()) {
-ret_val.block__nr() = single_value->field_block__nr.valueof();
-}
-if (single_value->field_rssi.is_bound()) {
-ret_val.rssi() = single_value->field_rssi.valueof();
-}
-if (single_value->field_ber10k.is_bound()) {
-ret_val.ber10k() = single_value->field_ber10k.valueof();
-}
-if (single_value->field_ta__offs__qbits.is_bound()) {
-ret_val.ta__offs__qbits() = single_value->field_ta__offs__qbits.valueof();
-}
-if (single_value->field_lqual__cb.is_bound()) {
-ret_val.lqual__cb() = single_value->field_lqual__cb.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__data__cnf__dt_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__data__cnf__dt_template[list_length];
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__data__cnf__dt_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__Sapi_template& PCUIF__data__cnf__dt_template::sapi()
-{
-set_specific();
-return single_value->field_sapi;
-}
-
-const PCUIF__Sapi_template& PCUIF__data__cnf__dt_template::sapi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sapi of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_sapi;
-}
-
-OCTETSTRING_template& PCUIF__data__cnf__dt_template::tlli()
-{
-set_specific();
-return single_value->field_tlli;
-}
-
-const OCTETSTRING_template& PCUIF__data__cnf__dt_template::tlli() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field tlli of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_tlli;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::fn()
-{
-set_specific();
-return single_value->field_fn;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::fn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field fn of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_fn;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_arfcn;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::trx__nr()
-{
-set_specific();
-return single_value->field_trx__nr;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::trx__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field trx_nr of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_trx__nr;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::ts__nr()
-{
-set_specific();
-return single_value->field_ts__nr;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::ts__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ts_nr of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_ts__nr;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::block__nr()
-{
-set_specific();
-return single_value->field_block__nr;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::block__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field block_nr of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_block__nr;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::rssi()
-{
-set_specific();
-return single_value->field_rssi;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::rssi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rssi of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_rssi;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::ber10k()
-{
-set_specific();
-return single_value->field_ber10k;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::ber10k() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ber10k of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_ber10k;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::ta__offs__qbits()
-{
-set_specific();
-return single_value->field_ta__offs__qbits;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::ta__offs__qbits() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ta_offs_qbits of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_ta__offs__qbits;
-}
-
-INTEGER_template& PCUIF__data__cnf__dt_template::lqual__cb()
-{
-set_specific();
-return single_value->field_lqual__cb;
-}
-
-const INTEGER_template& PCUIF__data__cnf__dt_template::lqual__cb() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lqual_cb of a non-specific template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-return single_value->field_lqual__cb;
-}
-
-int PCUIF__data__cnf__dt_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 11;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_data_cnf_dt containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
- }
- return 0;
-}
-
-void PCUIF__data__cnf__dt_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log();
-TTCN_Logger::log_event_str(", tlli := ");
-single_value->field_tlli.log();
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log();
-TTCN_Logger::log_event_str(", rssi := ");
-single_value->field_rssi.log();
-TTCN_Logger::log_event_str(", ber10k := ");
-single_value->field_ber10k.log();
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-single_value->field_ta__offs__qbits.log();
-TTCN_Logger::log_event_str(", lqual_cb := ");
-single_value->field_lqual__cb.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__data__cnf__dt_template::log_match(const PCUIF__data__cnf__dt& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_sapi.match(match_value.sapi(), legacy)){
-TTCN_Logger::log_logmatch_info(".sapi");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_tlli.match(match_value.tlli(), legacy)){
-TTCN_Logger::log_logmatch_info(".tlli");
-single_value->field_tlli.log_match(match_value.tlli(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_fn.match(match_value.fn(), legacy)){
-TTCN_Logger::log_logmatch_info(".fn");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_trx__nr.match(match_value.trx__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".trx_nr");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ts__nr.match(match_value.ts__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".ts_nr");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_block__nr.match(match_value.block__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".block_nr");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rssi.match(match_value.rssi(), legacy)){
-TTCN_Logger::log_logmatch_info(".rssi");
-single_value->field_rssi.log_match(match_value.rssi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ber10k.match(match_value.ber10k(), legacy)){
-TTCN_Logger::log_logmatch_info(".ber10k");
-single_value->field_ber10k.log_match(match_value.ber10k(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ta__offs__qbits.match(match_value.ta__offs__qbits(), legacy)){
-TTCN_Logger::log_logmatch_info(".ta_offs_qbits");
-single_value->field_ta__offs__qbits.log_match(match_value.ta__offs__qbits(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lqual__cb.match(match_value.lqual__cb(), legacy)){
-TTCN_Logger::log_logmatch_info(".lqual_cb");
-single_value->field_lqual__cb.log_match(match_value.lqual__cb(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::log_event_str(", tlli := ");
-single_value->field_tlli.log_match(match_value.tlli(), legacy);
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::log_event_str(", rssi := ");
-single_value->field_rssi.log_match(match_value.rssi(), legacy);
-TTCN_Logger::log_event_str(", ber10k := ");
-single_value->field_ber10k.log_match(match_value.ber10k(), legacy);
-TTCN_Logger::log_event_str(", ta_offs_qbits := ");
-single_value->field_ta__offs__qbits.log_match(match_value.ta__offs__qbits(), legacy);
-TTCN_Logger::log_event_str(", lqual_cb := ");
-single_value->field_lqual__cb.log_match(match_value.lqual__cb(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__data__cnf__dt_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_sapi.encode_text(text_buf);
-single_value->field_tlli.encode_text(text_buf);
-single_value->field_fn.encode_text(text_buf);
-single_value->field_arfcn.encode_text(text_buf);
-single_value->field_trx__nr.encode_text(text_buf);
-single_value->field_ts__nr.encode_text(text_buf);
-single_value->field_block__nr.encode_text(text_buf);
-single_value->field_rssi.encode_text(text_buf);
-single_value->field_ber10k.encode_text(text_buf);
-single_value->field_ta__offs__qbits.encode_text(text_buf);
-single_value->field_lqual__cb.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-}
-}
-
-void PCUIF__data__cnf__dt_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_sapi.decode_text(text_buf);
-single_value->field_tlli.decode_text(text_buf);
-single_value->field_fn.decode_text(text_buf);
-single_value->field_arfcn.decode_text(text_buf);
-single_value->field_trx__nr.decode_text(text_buf);
-single_value->field_ts__nr.decode_text(text_buf);
-single_value->field_block__nr.decode_text(text_buf);
-single_value->field_rssi.decode_text(text_buf);
-single_value->field_ber10k.decode_text(text_buf);
-single_value->field_ta__offs__qbits.decode_text(text_buf);
-single_value->field_lqual__cb.decode_text(text_buf);
-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 PCUIF__data__cnf__dt_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_data_cnf_dt.");
-}
-}
-
-void PCUIF__data__cnf__dt_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__data__cnf__dt_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (11<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_data_cnf_dt has 11 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) tlli().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) rssi().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) ber10k().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) ta__offs__qbits().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) lqual__cb().set_param(*param.get_elem(10));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tlli")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tlli().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rssi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rssi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ber10k")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ber10k().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ta_offs_qbits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ta__offs__qbits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lqual_cb")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lqual__cb().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_data_cnf_dt: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_data_cnf_dt");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__data__cnf__dt_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_sapi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_tlli.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_fn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_trx__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_ts__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_block__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_rssi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_ber10k.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_ta__offs__qbits.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-single_value->field_lqual__cb.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_data_cnf_dt");
-return;
-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 : "@PCUIF_Types.PCUIF_data_cnf_dt");
-}
-
-boolean PCUIF__data__cnf__dt_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__data__cnf__dt_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__rts__req::PCUIF__rts__req()
-{
-}
-
-PCUIF__rts__req::PCUIF__rts__req(const PCUIF__Sapi& par_sapi,
- const OCTETSTRING& par_spare,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr)
- : field_sapi(par_sapi),
- field_spare(par_spare),
- field_fn(par_fn),
- field_arfcn(par_arfcn),
- field_trx__nr(par_trx__nr),
- field_ts__nr(par_ts__nr),
- field_block__nr(par_block__nr)
-{
-}
-
-PCUIF__rts__req::PCUIF__rts__req(const PCUIF__rts__req& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_rts_req.");
-if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
-else field_sapi.clean_up();
-if (other_value.spare().is_bound()) field_spare = other_value.spare();
-else field_spare.clean_up();
-if (other_value.fn().is_bound()) field_fn = other_value.fn();
-else field_fn.clean_up();
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
-else field_trx__nr.clean_up();
-if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
-else field_ts__nr.clean_up();
-if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
-else field_block__nr.clean_up();
-}
-
-void PCUIF__rts__req::clean_up()
-{
-field_sapi.clean_up();
-field_spare.clean_up();
-field_fn.clean_up();
-field_arfcn.clean_up();
-field_trx__nr.clean_up();
-field_ts__nr.clean_up();
-field_block__nr.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__rts__req::get_descriptor() const { return &PCUIF__rts__req_descr_; }
-PCUIF__rts__req& PCUIF__rts__req::operator=(const PCUIF__rts__req& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_rts_req.");
- if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
- else field_sapi.clean_up();
- if (other_value.spare().is_bound()) field_spare = other_value.spare();
- else field_spare.clean_up();
- if (other_value.fn().is_bound()) field_fn = other_value.fn();
- else field_fn.clean_up();
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
- if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
- else field_trx__nr.clean_up();
- if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
- else field_ts__nr.clean_up();
- if (other_value.block__nr().is_bound()) field_block__nr = other_value.block__nr();
- else field_block__nr.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__rts__req::operator==(const PCUIF__rts__req& other_value) const
-{
-return field_sapi==other_value.field_sapi
- && field_spare==other_value.field_spare
- && field_fn==other_value.field_fn
- && field_arfcn==other_value.field_arfcn
- && field_trx__nr==other_value.field_trx__nr
- && field_ts__nr==other_value.field_ts__nr
- && field_block__nr==other_value.field_block__nr;
-}
-
-boolean PCUIF__rts__req::is_bound() const
-{
-if(field_sapi.is_bound()) return TRUE;
-if(field_spare.is_bound()) return TRUE;
-if(field_fn.is_bound()) return TRUE;
-if(field_arfcn.is_bound()) return TRUE;
-if(field_trx__nr.is_bound()) return TRUE;
-if(field_ts__nr.is_bound()) return TRUE;
-if(field_block__nr.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__rts__req::is_value() const
-{
-if(!field_sapi.is_value()) return FALSE;
-if(!field_spare.is_value()) return FALSE;
-if(!field_fn.is_value()) return FALSE;
-if(!field_arfcn.is_value()) return FALSE;
-if(!field_trx__nr.is_value()) return FALSE;
-if(!field_ts__nr.is_value()) return FALSE;
-if(!field_block__nr.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__rts__req::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ sapi := ");
-field_sapi.log();
-TTCN_Logger::log_event_str(", spare := ");
-field_spare.log();
-TTCN_Logger::log_event_str(", fn := ");
-field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-field_block__nr.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__rts__req::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_rts_req has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_rts_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_rts_req");
- }
-}
-
-void PCUIF__rts__req::set_implicit_omit()
-{
-if (sapi().is_bound()) sapi().set_implicit_omit();
-if (spare().is_bound()) spare().set_implicit_omit();
-if (fn().is_bound()) fn().set_implicit_omit();
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-if (trx__nr().is_bound()) trx__nr().set_implicit_omit();
-if (ts__nr().is_bound()) ts__nr().set_implicit_omit();
-if (block__nr().is_bound()) block__nr().set_implicit_omit();
-}
-
-void PCUIF__rts__req::encode_text(Text_Buf& text_buf) const
-{
-field_sapi.encode_text(text_buf);
-field_spare.encode_text(text_buf);
-field_fn.encode_text(text_buf);
-field_arfcn.encode_text(text_buf);
-field_trx__nr.encode_text(text_buf);
-field_ts__nr.encode_text(text_buf);
-field_block__nr.encode_text(text_buf);
-}
-
-void PCUIF__rts__req::decode_text(Text_Buf& text_buf)
-{
-field_sapi.decode_text(text_buf);
-field_spare.decode_text(text_buf);
-field_fn.decode_text(text_buf);
-field_arfcn.decode_text(text_buf);
-field_trx__nr.decode_text(text_buf);
-field_ts__nr.decode_text(text_buf);
-field_block__nr.decode_text(text_buf);
-}
-
-void PCUIF__rts__req::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__rts__req::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__rts__req::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__rts__req_sapi_descr_.raw->forceomit);
- decoded_field_length = field_sapi.RAW_decode(PCUIF__rts__req_sapi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__rts__req_spare_descr_.raw->forceomit);
- decoded_field_length = field_spare.RAW_decode(PCUIF__rts__req_spare_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__rts__req_fn_descr_.raw->forceomit);
- decoded_field_length = field_fn.RAW_decode(PCUIF__rts__req_fn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__rts__req_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(PCUIF__rts__req_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__rts__req_trx__nr_descr_.raw->forceomit);
- decoded_field_length = field_trx__nr.RAW_decode(PCUIF__rts__req_trx__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__rts__req_ts__nr_descr_.raw->forceomit);
- decoded_field_length = field_ts__nr.RAW_decode(PCUIF__rts__req_ts__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__rts__req_block__nr_descr_.raw->forceomit);
- decoded_field_length = field_block__nr.RAW_decode(PCUIF__rts__req_block__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__rts__req::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 7;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(7);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__rts__req_sapi_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__rts__req_spare_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__rts__req_fn_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__rts__req_arfcn_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__rts__req_trx__nr_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__rts__req_ts__nr_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__rts__req_block__nr_descr_.raw);
- encoded_length += field_sapi.RAW_encode(PCUIF__rts__req_sapi_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_spare.RAW_encode(PCUIF__rts__req_spare_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_fn.RAW_encode(PCUIF__rts__req_fn_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_arfcn.RAW_encode(PCUIF__rts__req_arfcn_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_trx__nr.RAW_encode(PCUIF__rts__req_trx__nr_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_ts__nr.RAW_encode(PCUIF__rts__req_ts__nr_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_block__nr.RAW_encode(PCUIF__rts__req_block__nr_descr_, *myleaf.body.node.nodes[6]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__rts__req_template::single_value_struct {
-PCUIF__Sapi_template field_sapi;
-OCTETSTRING_template field_spare;
-INTEGER_template field_fn;
-INTEGER_template field_arfcn;
-INTEGER_template field_trx__nr;
-INTEGER_template field_ts__nr;
-INTEGER_template field_block__nr;
-};
-
-void PCUIF__rts__req_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_sapi = ANY_VALUE;
-single_value->field_spare = ANY_VALUE;
-single_value->field_fn = ANY_VALUE;
-single_value->field_arfcn = ANY_VALUE;
-single_value->field_trx__nr = ANY_VALUE;
-single_value->field_ts__nr = ANY_VALUE;
-single_value->field_block__nr = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__rts__req_template::copy_value(const PCUIF__rts__req& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.sapi().is_bound()) {
- single_value->field_sapi = other_value.sapi();
-} else {
- single_value->field_sapi.clean_up();
-}
-if (other_value.spare().is_bound()) {
- single_value->field_spare = other_value.spare();
-} else {
- single_value->field_spare.clean_up();
-}
-if (other_value.fn().is_bound()) {
- single_value->field_fn = other_value.fn();
-} else {
- single_value->field_fn.clean_up();
-}
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-if (other_value.trx__nr().is_bound()) {
- single_value->field_trx__nr = other_value.trx__nr();
-} else {
- single_value->field_trx__nr.clean_up();
-}
-if (other_value.ts__nr().is_bound()) {
- single_value->field_ts__nr = other_value.ts__nr();
-} else {
- single_value->field_ts__nr.clean_up();
-}
-if (other_value.block__nr().is_bound()) {
- single_value->field_block__nr = other_value.block__nr();
-} else {
- single_value->field_block__nr.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__rts__req_template::copy_template(const PCUIF__rts__req_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.sapi().get_selection()) {
-single_value->field_sapi = other_value.sapi();
-} else {
-single_value->field_sapi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare().get_selection()) {
-single_value->field_spare = other_value.spare();
-} else {
-single_value->field_spare.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.fn().get_selection()) {
-single_value->field_fn = other_value.fn();
-} else {
-single_value->field_fn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.trx__nr().get_selection()) {
-single_value->field_trx__nr = other_value.trx__nr();
-} else {
-single_value->field_trx__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ts__nr().get_selection()) {
-single_value->field_ts__nr = other_value.ts__nr();
-} else {
-single_value->field_ts__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.block__nr().get_selection()) {
-single_value->field_block__nr = other_value.block__nr();
-} else {
-single_value->field_block__nr.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__rts__req_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rts_req.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__rts__req_template::PCUIF__rts__req_template()
-{
-}
-
-PCUIF__rts__req_template::PCUIF__rts__req_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__rts__req_template::PCUIF__rts__req_template(const PCUIF__rts__req& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__rts__req_template::PCUIF__rts__req_template(const OPTIONAL<PCUIF__rts__req>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__rts__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_rts_req from an unbound optional field.");
-}
-}
-
-PCUIF__rts__req_template::PCUIF__rts__req_template(const PCUIF__rts__req_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__rts__req_template::~PCUIF__rts__req_template()
-{
-clean_up();
-}
-
-PCUIF__rts__req_template& PCUIF__rts__req_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__rts__req_template& PCUIF__rts__req_template::operator=(const PCUIF__rts__req& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__rts__req_template& PCUIF__rts__req_template::operator=(const OPTIONAL<PCUIF__rts__req>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__rts__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_rts_req.");
-}
-return *this;
-}
-
-PCUIF__rts__req_template& PCUIF__rts__req_template::operator=(const PCUIF__rts__req_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__rts__req_template::match(const PCUIF__rts__req& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.sapi().is_bound()) return FALSE;
-if(!single_value->field_sapi.match(other_value.sapi(), legacy))return FALSE;
-if(!other_value.spare().is_bound()) return FALSE;
-if(!single_value->field_spare.match(other_value.spare(), legacy))return FALSE;
-if(!other_value.fn().is_bound()) return FALSE;
-if(!single_value->field_fn.match(other_value.fn(), legacy))return FALSE;
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-if(!other_value.trx__nr().is_bound()) return FALSE;
-if(!single_value->field_trx__nr.match(other_value.trx__nr(), legacy))return FALSE;
-if(!other_value.ts__nr().is_bound()) return FALSE;
-if(!single_value->field_ts__nr.match(other_value.ts__nr(), legacy))return FALSE;
-if(!other_value.block__nr().is_bound()) return FALSE;
-if(!single_value->field_block__nr.match(other_value.block__nr(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rts_req.");
-}
-return FALSE;
-}
-
-boolean PCUIF__rts__req_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_sapi.is_bound()) return TRUE;
-if (single_value->field_spare.is_bound()) return TRUE;
-if (single_value->field_fn.is_bound()) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-if (single_value->field_trx__nr.is_bound()) return TRUE;
-if (single_value->field_ts__nr.is_bound()) return TRUE;
-if (single_value->field_block__nr.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__rts__req_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_sapi.is_value()) return FALSE;
-if (!single_value->field_spare.is_value()) return FALSE;
-if (!single_value->field_fn.is_value()) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-if (!single_value->field_trx__nr.is_value()) return FALSE;
-if (!single_value->field_ts__nr.is_value()) return FALSE;
-if (!single_value->field_block__nr.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__rts__req_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__rts__req PCUIF__rts__req_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-PCUIF__rts__req ret_val;
-if (single_value->field_sapi.is_bound()) {
-ret_val.sapi() = single_value->field_sapi.valueof();
-}
-if (single_value->field_spare.is_bound()) {
-ret_val.spare() = single_value->field_spare.valueof();
-}
-if (single_value->field_fn.is_bound()) {
-ret_val.fn() = single_value->field_fn.valueof();
-}
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-if (single_value->field_trx__nr.is_bound()) {
-ret_val.trx__nr() = single_value->field_trx__nr.valueof();
-}
-if (single_value->field_ts__nr.is_bound()) {
-ret_val.ts__nr() = single_value->field_ts__nr.valueof();
-}
-if (single_value->field_block__nr.is_bound()) {
-ret_val.block__nr() = single_value->field_block__nr.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__rts__req_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_rts_req.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__rts__req_template[list_length];
-}
-
-PCUIF__rts__req_template& PCUIF__rts__req_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_rts_req.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_rts_req.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__Sapi_template& PCUIF__rts__req_template::sapi()
-{
-set_specific();
-return single_value->field_sapi;
-}
-
-const PCUIF__Sapi_template& PCUIF__rts__req_template::sapi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sapi of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_sapi;
-}
-
-OCTETSTRING_template& PCUIF__rts__req_template::spare()
-{
-set_specific();
-return single_value->field_spare;
-}
-
-const OCTETSTRING_template& PCUIF__rts__req_template::spare() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_spare;
-}
-
-INTEGER_template& PCUIF__rts__req_template::fn()
-{
-set_specific();
-return single_value->field_fn;
-}
-
-const INTEGER_template& PCUIF__rts__req_template::fn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field fn of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_fn;
-}
-
-INTEGER_template& PCUIF__rts__req_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& PCUIF__rts__req_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_arfcn;
-}
-
-INTEGER_template& PCUIF__rts__req_template::trx__nr()
-{
-set_specific();
-return single_value->field_trx__nr;
-}
-
-const INTEGER_template& PCUIF__rts__req_template::trx__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field trx_nr of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_trx__nr;
-}
-
-INTEGER_template& PCUIF__rts__req_template::ts__nr()
-{
-set_specific();
-return single_value->field_ts__nr;
-}
-
-const INTEGER_template& PCUIF__rts__req_template::ts__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ts_nr of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_ts__nr;
-}
-
-INTEGER_template& PCUIF__rts__req_template::block__nr()
-{
-set_specific();
-return single_value->field_block__nr;
-}
-
-const INTEGER_template& PCUIF__rts__req_template::block__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field block_nr of a non-specific template of type @PCUIF_Types.PCUIF_rts_req.");
-return single_value->field_block__nr;
-}
-
-int PCUIF__rts__req_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 7;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rts_req containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rts_req.");
- }
- return 0;
-}
-
-void PCUIF__rts__req_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log();
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log();
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log();
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__rts__req_template::log_match(const PCUIF__rts__req& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_sapi.match(match_value.sapi(), legacy)){
-TTCN_Logger::log_logmatch_info(".sapi");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare.match(match_value.spare(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_fn.match(match_value.fn(), legacy)){
-TTCN_Logger::log_logmatch_info(".fn");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_trx__nr.match(match_value.trx__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".trx_nr");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ts__nr.match(match_value.ts__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".ts_nr");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_block__nr.match(match_value.block__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".block_nr");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::log_event_str(", block_nr := ");
-single_value->field_block__nr.log_match(match_value.block__nr(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__rts__req_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_sapi.encode_text(text_buf);
-single_value->field_spare.encode_text(text_buf);
-single_value->field_fn.encode_text(text_buf);
-single_value->field_arfcn.encode_text(text_buf);
-single_value->field_trx__nr.encode_text(text_buf);
-single_value->field_ts__nr.encode_text(text_buf);
-single_value->field_block__nr.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rts_req.");
-}
-}
-
-void PCUIF__rts__req_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_sapi.decode_text(text_buf);
-single_value->field_spare.decode_text(text_buf);
-single_value->field_fn.decode_text(text_buf);
-single_value->field_arfcn.decode_text(text_buf);
-single_value->field_trx__nr.decode_text(text_buf);
-single_value->field_ts__nr.decode_text(text_buf);
-single_value->field_block__nr.decode_text(text_buf);
-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 PCUIF__rts__req_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_rts_req.");
-}
-}
-
-void PCUIF__rts__req_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__rts__req_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_rts_req has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) block__nr().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "block_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- block__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_rts_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_rts_req");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__rts__req_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_sapi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_spare.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_fn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_trx__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_ts__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-single_value->field_block__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rts_req");
-return;
-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 : "@PCUIF_Types.PCUIF_rts_req");
-}
-
-boolean PCUIF__rts__req_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__rts__req_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__BurstType::PCUIF__BurstType()
-{
-enum_value = UNBOUND_VALUE;
-}
-
-PCUIF__BurstType::PCUIF__BurstType(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Initializing a variable of enumerated type @PCUIF_Types.PCUIF_BurstType with invalid numeric value %d.", other_value);
-enum_value = (enum_type)other_value;
-}
-
-PCUIF__BurstType::PCUIF__BurstType(enum_type other_value)
-{
-enum_value = other_value;
-}
-
-PCUIF__BurstType::PCUIF__BurstType(const PCUIF__BurstType& other_value)
-: Base_Type()
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Copying an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-enum_value = other_value.enum_value;
-}
-
-PCUIF__BurstType& PCUIF__BurstType::operator=(int other_value)
-{
-if (!is_valid_enum(other_value)) TTCN_error("Assigning unknown numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_BurstType.", other_value);
-enum_value = (enum_type)other_value;
-return *this;
-}
-
-PCUIF__BurstType& PCUIF__BurstType::operator=(enum_type other_value)
-{
-enum_value = other_value;
-return *this;
-}
-
-PCUIF__BurstType& PCUIF__BurstType::operator=(const PCUIF__BurstType& other_value)
-{
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-enum_value = other_value.enum_value;
-return *this;
-}
-
-boolean PCUIF__BurstType::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 @PCUIF_Types.PCUIF_BurstType.");
-return enum_value == other_value;
-}
-
-boolean PCUIF__BurstType::operator==(const PCUIF__BurstType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-return enum_value == other_value.enum_value;
-}
-
-boolean PCUIF__BurstType::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 @PCUIF_Types.PCUIF_BurstType.");
-return enum_value < other_value;
-}
-
-boolean PCUIF__BurstType::operator<(const PCUIF__BurstType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-return enum_value < other_value.enum_value;
-}
-
-boolean PCUIF__BurstType::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 @PCUIF_Types.PCUIF_BurstType.");
-return enum_value > other_value;
-}
-
-boolean PCUIF__BurstType::operator>(const PCUIF__BurstType& other_value) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-if (other_value.enum_value == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-return enum_value > other_value.enum_value;
-}
-
-const char *PCUIF__BurstType::enum_to_str(enum_type enum_par)
-{
-switch (enum_par) {
-case BURST__TYPE__NONE: return "BURST_TYPE_NONE";
-case BURST__TYPE__0: return "BURST_TYPE_0";
-case BURST__TYPE__1: return "BURST_TYPE_1";
-case BURST__TYPE__2: return "BURST_TYPE_2";
-default: return "<unknown>";
-}
-}
-
-PCUIF__BurstType::enum_type PCUIF__BurstType::str_to_enum(const char *str_par)
-{
-if (!strcmp(str_par, "BURST_TYPE_NONE")) return BURST__TYPE__NONE;
-else if (!strcmp(str_par, "BURST_TYPE_0")) return BURST__TYPE__0;
-else if (!strcmp(str_par, "BURST_TYPE_1")) return BURST__TYPE__1;
-else if (!strcmp(str_par, "BURST_TYPE_2")) return BURST__TYPE__2;
-else return UNKNOWN_VALUE;
-}
-
-boolean PCUIF__BurstType::is_valid_enum(int int_par)
-{
-switch (int_par) {
-case 0:
-case 1:
-case 2:
-case 3:
-return TRUE;
-default:
-return FALSE;
-}
-}
-
-int PCUIF__BurstType::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 @PCUIF_Types.PCUIF_BurstType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par;
-}
-
-int PCUIF__BurstType::enum2int(const PCUIF__BurstType& 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 @PCUIF_Types.PCUIF_BurstType.", enum_par==UNBOUND_VALUE?"unbound":"invalid");
-return enum_par.enum_value;
-}
-
-void PCUIF__BurstType::int2enum(int int_val)
-{
-if (!is_valid_enum(int_val)) TTCN_error("Assigning invalid numeric value %d to a variable of enumerated type @PCUIF_Types.PCUIF_BurstType.", int_val);
-enum_value = (enum_type)int_val;
-}
-
-PCUIF__BurstType::operator PCUIF__BurstType::enum_type() const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Using the value of an unbound variable of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-return enum_value;
-}
-
-void PCUIF__BurstType::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 PCUIF__BurstType::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", "@PCUIF_Types.PCUIF_BurstType");
- enum_value = str_to_enum(param.get_enumerated());
- if (!is_valid_enum(enum_value)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_BurstType.");
- }
-}
-
-void PCUIF__BurstType::encode_text(Text_Buf& text_buf) const
-{
-if (enum_value == UNBOUND_VALUE) TTCN_error("Text encoder: Encoding an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-text_buf.push_int(enum_value);
-}
-
-void PCUIF__BurstType::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 @PCUIF_Types.PCUIF_BurstType.", enum_value);
-}
-
-void PCUIF__BurstType::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__BurstType::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__BurstType::RAW_decode(const TTCN_Typedescriptor_t& p_td,TTCN_Buffer& p_buf,int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit*)
-{
- int decoded_value = 0;
- int decoded_length = RAW_decode_enum_type(p_td, p_buf, limit, top_bit_ord, decoded_value, 3, no_err);
- if (decoded_length < 0) return decoded_length;
- if (is_valid_enum(decoded_value)) enum_value = (enum_type)decoded_value;
- else {
- if(no_err){
- return -1;
- } else {
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_ENC_ENUM, "Invalid enum value '%d' for '%s': ",decoded_value, p_td.name);
- enum_value = UNKNOWN_VALUE;
- }
- }
- return decoded_length;
-}
-
-int PCUIF__BurstType::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) const
-{
- return RAW_encode_enum_type(p_td, myleaf, (int)enum_value, 3);
-}
-
-void PCUIF__BurstType_template::copy_template(const PCUIF__BurstType_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:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__BurstType_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-}
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template()
-{
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(int other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (!PCUIF__BurstType::is_valid_enum(other_value)) TTCN_error("Initializing a template of enumerated type @PCUIF_Types.PCUIF_BurstType with unknown numeric value %d.", other_value);
-single_value = (PCUIF__BurstType::enum_type)other_value;
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(PCUIF__BurstType::enum_type other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-single_value = other_value;
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(const PCUIF__BurstType& other_value)
- : Base_Template(SPECIFIC_VALUE)
-{
-if (other_value.enum_value == PCUIF__BurstType::UNBOUND_VALUE) TTCN_error("Creating a template from an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-single_value = other_value.enum_value;
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(const OPTIONAL<PCUIF__BurstType>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__BurstType::enum_type)(const PCUIF__BurstType&)other_value;
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of enumerated type @PCUIF_Types.PCUIF_BurstType from an unbound optional field.");
-}
-}
-
-PCUIF__BurstType_template::PCUIF__BurstType_template(const PCUIF__BurstType_template& other_value)
- : Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__BurstType_template::~PCUIF__BurstType_template()
-{
-clean_up();
-}
-
-boolean PCUIF__BurstType_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-return TRUE;
-}
-
-boolean PCUIF__BurstType_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-return single_value != PCUIF__BurstType::UNBOUND_VALUE;
-}
-
-void PCUIF__BurstType_template::clean_up()
-{
-if (template_selection == VALUE_LIST || template_selection == COMPLEMENTED_LIST) delete [] value_list.list_value;
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(int other_value)
-{
-if (!PCUIF__BurstType::is_valid_enum(other_value)) TTCN_warning("Assigning unknown numeric value %d to a template of enumerated type @PCUIF_Types.PCUIF_BurstType.", other_value);
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__BurstType::enum_type)other_value;
-return *this;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(PCUIF__BurstType::enum_type other_value)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value;
-return *this;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(const PCUIF__BurstType& other_value)
-{
-if (other_value.enum_value == PCUIF__BurstType::UNBOUND_VALUE) TTCN_error("Assignment of an unbound value of enumerated type @PCUIF_Types.PCUIF_BurstType to a template.");
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value = other_value.enum_value;
-return *this;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(const OPTIONAL<PCUIF__BurstType>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-set_selection(SPECIFIC_VALUE);
-single_value = (PCUIF__BurstType::enum_type)(const PCUIF__BurstType&)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 @PCUIF_Types.PCUIF_BurstType.");
-}
-return *this;
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::operator=(const PCUIF__BurstType_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__BurstType_template::match(PCUIF__BurstType::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;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-}
-return FALSE;
-}
-
-boolean PCUIF__BurstType_template::match(const PCUIF__BurstType& other_value, boolean) const
-{
-if (other_value.enum_value == PCUIF__BurstType::UNBOUND_VALUE) TTCN_error("Matching a template of enumerated type @PCUIF_Types.PCUIF_BurstType with an unbound value.");
-return match(other_value.enum_value);
-}
-
-PCUIF__BurstType::enum_type PCUIF__BurstType_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 @PCUIF_Types.PCUIF_BurstType.");
-return single_value;
-}
-
-void PCUIF__BurstType_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error("Setting an invalid list type for a template of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__BurstType_template[list_length];
-}
-
-PCUIF__BurstType_template& PCUIF__BurstType_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Accessing a list element in a non-list template of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-if (list_index >= value_list.n_values) TTCN_error("Index overflow in a value list template of enumerated type @PCUIF_Types.PCUIF_BurstType.");
-return value_list.list_value[list_index];
-}
-
-void PCUIF__BurstType_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_enum(PCUIF__BurstType::enum_to_str(single_value), single_value);
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-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;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__BurstType_template::log_match(const PCUIF__BurstType& 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 PCUIF__BurstType_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 @PCUIF_Types.PCUIF_BurstType.");
-}
-}
-
-void PCUIF__BurstType_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = (PCUIF__BurstType::enum_type)text_buf.pull_int().get_val();
-if (!PCUIF__BurstType::is_valid_enum(single_value)) TTCN_error("Text decoder: Unknown numeric value %d was received for a template of enumerated type @PCUIF_Types.PCUIF_BurstType.", 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 PCUIF__BurstType_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 @PCUIF_Types.PCUIF_BurstType.");
-}
-}
-
-boolean PCUIF__BurstType_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__BurstType_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__BurstType_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "enumerated template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- PCUIF__BurstType_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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: {
- PCUIF__BurstType::enum_type enum_val = PCUIF__BurstType::str_to_enum(m_p->get_enumerated());
- if (!PCUIF__BurstType::is_valid_enum(enum_val)) {
- param.error("Invalid enumerated value for type @PCUIF_Types.PCUIF_BurstType.");
- }
- *this = enum_val;
- } break;
- default:
- param.type_error("enumerated template", "@PCUIF_Types.PCUIF_BurstType");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__BurstType_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 : "@PCUIF_Types.PCUIF_BurstType");
-}
-
-PCUIF__rach__ind::PCUIF__rach__ind()
-{
-}
-
-PCUIF__rach__ind::PCUIF__rach__ind(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_ra,
- const INTEGER& par_qta,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_is__11bit,
- const PCUIF__BurstType& par_burst__type)
- : field_sapi(par_sapi),
- field_ra(par_ra),
- field_qta(par_qta),
- field_fn(par_fn),
- field_arfcn(par_arfcn),
- field_is__11bit(par_is__11bit),
- field_burst__type(par_burst__type)
-{
-}
-
-PCUIF__rach__ind::PCUIF__rach__ind(const PCUIF__rach__ind& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_rach_ind.");
-if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
-else field_sapi.clean_up();
-if (other_value.ra().is_bound()) field_ra = other_value.ra();
-else field_ra.clean_up();
-if (other_value.qta().is_bound()) field_qta = other_value.qta();
-else field_qta.clean_up();
-if (other_value.fn().is_bound()) field_fn = other_value.fn();
-else field_fn.clean_up();
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-if (other_value.is__11bit().is_bound()) field_is__11bit = other_value.is__11bit();
-else field_is__11bit.clean_up();
-if (other_value.burst__type().is_bound()) field_burst__type = other_value.burst__type();
-else field_burst__type.clean_up();
-}
-
-void PCUIF__rach__ind::clean_up()
-{
-field_sapi.clean_up();
-field_ra.clean_up();
-field_qta.clean_up();
-field_fn.clean_up();
-field_arfcn.clean_up();
-field_is__11bit.clean_up();
-field_burst__type.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__rach__ind::get_descriptor() const { return &PCUIF__rach__ind_descr_; }
-PCUIF__rach__ind& PCUIF__rach__ind::operator=(const PCUIF__rach__ind& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_rach_ind.");
- if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
- else field_sapi.clean_up();
- if (other_value.ra().is_bound()) field_ra = other_value.ra();
- else field_ra.clean_up();
- if (other_value.qta().is_bound()) field_qta = other_value.qta();
- else field_qta.clean_up();
- if (other_value.fn().is_bound()) field_fn = other_value.fn();
- else field_fn.clean_up();
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
- if (other_value.is__11bit().is_bound()) field_is__11bit = other_value.is__11bit();
- else field_is__11bit.clean_up();
- if (other_value.burst__type().is_bound()) field_burst__type = other_value.burst__type();
- else field_burst__type.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__rach__ind::operator==(const PCUIF__rach__ind& other_value) const
-{
-return field_sapi==other_value.field_sapi
- && field_ra==other_value.field_ra
- && field_qta==other_value.field_qta
- && field_fn==other_value.field_fn
- && field_arfcn==other_value.field_arfcn
- && field_is__11bit==other_value.field_is__11bit
- && field_burst__type==other_value.field_burst__type;
-}
-
-boolean PCUIF__rach__ind::is_bound() const
-{
-if(field_sapi.is_bound()) return TRUE;
-if(field_ra.is_bound()) return TRUE;
-if(field_qta.is_bound()) return TRUE;
-if(field_fn.is_bound()) return TRUE;
-if(field_arfcn.is_bound()) return TRUE;
-if(field_is__11bit.is_bound()) return TRUE;
-if(field_burst__type.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__rach__ind::is_value() const
-{
-if(!field_sapi.is_value()) return FALSE;
-if(!field_ra.is_value()) return FALSE;
-if(!field_qta.is_value()) return FALSE;
-if(!field_fn.is_value()) return FALSE;
-if(!field_arfcn.is_value()) return FALSE;
-if(!field_is__11bit.is_value()) return FALSE;
-if(!field_burst__type.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__rach__ind::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ sapi := ");
-field_sapi.log();
-TTCN_Logger::log_event_str(", ra := ");
-field_ra.log();
-TTCN_Logger::log_event_str(", qta := ");
-field_qta.log();
-TTCN_Logger::log_event_str(", fn := ");
-field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(", is_11bit := ");
-field_is__11bit.log();
-TTCN_Logger::log_event_str(", burst_type := ");
-field_burst__type.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__rach__ind::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_rach_ind has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ra().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) qta().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) is__11bit().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) burst__type().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ra")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ra().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "qta")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- qta().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "is_11bit")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- is__11bit().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "burst_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- burst__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_rach_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_rach_ind");
- }
-}
-
-void PCUIF__rach__ind::set_implicit_omit()
-{
-if (sapi().is_bound()) sapi().set_implicit_omit();
-if (ra().is_bound()) ra().set_implicit_omit();
-if (qta().is_bound()) qta().set_implicit_omit();
-if (fn().is_bound()) fn().set_implicit_omit();
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-if (is__11bit().is_bound()) is__11bit().set_implicit_omit();
-if (burst__type().is_bound()) burst__type().set_implicit_omit();
-}
-
-void PCUIF__rach__ind::encode_text(Text_Buf& text_buf) const
-{
-field_sapi.encode_text(text_buf);
-field_ra.encode_text(text_buf);
-field_qta.encode_text(text_buf);
-field_fn.encode_text(text_buf);
-field_arfcn.encode_text(text_buf);
-field_is__11bit.encode_text(text_buf);
-field_burst__type.encode_text(text_buf);
-}
-
-void PCUIF__rach__ind::decode_text(Text_Buf& text_buf)
-{
-field_sapi.decode_text(text_buf);
-field_ra.decode_text(text_buf);
-field_qta.decode_text(text_buf);
-field_fn.decode_text(text_buf);
-field_arfcn.decode_text(text_buf);
-field_is__11bit.decode_text(text_buf);
-field_burst__type.decode_text(text_buf);
-}
-
-void PCUIF__rach__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__rach__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__rach__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__rach__ind_sapi_descr_.raw->forceomit);
- decoded_field_length = field_sapi.RAW_decode(PCUIF__rach__ind_sapi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__rach__ind_ra_descr_.raw->forceomit);
- decoded_field_length = field_ra.RAW_decode(PCUIF__rach__ind_ra_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__rach__ind_qta_descr_.raw->forceomit);
- decoded_field_length = field_qta.RAW_decode(PCUIF__rach__ind_qta_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__rach__ind_fn_descr_.raw->forceomit);
- decoded_field_length = field_fn.RAW_decode(PCUIF__rach__ind_fn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__rach__ind_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(PCUIF__rach__ind_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__rach__ind_is__11bit_descr_.raw->forceomit);
- decoded_field_length = field_is__11bit.RAW_decode(PCUIF__rach__ind_is__11bit_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__rach__ind_burst__type_descr_.raw->forceomit);
- decoded_field_length = field_burst__type.RAW_decode(PCUIF__rach__ind_burst__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__rach__ind::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 7;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(7);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__rach__ind_sapi_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__rach__ind_ra_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__rach__ind_qta_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__rach__ind_fn_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__rach__ind_arfcn_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__rach__ind_is__11bit_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__rach__ind_burst__type_descr_.raw);
- encoded_length += field_sapi.RAW_encode(PCUIF__rach__ind_sapi_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_ra.RAW_encode(PCUIF__rach__ind_ra_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_qta.RAW_encode(PCUIF__rach__ind_qta_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_fn.RAW_encode(PCUIF__rach__ind_fn_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_arfcn.RAW_encode(PCUIF__rach__ind_arfcn_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_is__11bit.RAW_encode(PCUIF__rach__ind_is__11bit_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_burst__type.RAW_encode(PCUIF__rach__ind_burst__type_descr_, *myleaf.body.node.nodes[6]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__rach__ind_template::single_value_struct {
-PCUIF__Sapi_template field_sapi;
-INTEGER_template field_ra;
-INTEGER_template field_qta;
-INTEGER_template field_fn;
-INTEGER_template field_arfcn;
-INTEGER_template field_is__11bit;
-PCUIF__BurstType_template field_burst__type;
-};
-
-void PCUIF__rach__ind_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_sapi = ANY_VALUE;
-single_value->field_ra = ANY_VALUE;
-single_value->field_qta = ANY_VALUE;
-single_value->field_fn = ANY_VALUE;
-single_value->field_arfcn = ANY_VALUE;
-single_value->field_is__11bit = ANY_VALUE;
-single_value->field_burst__type = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__rach__ind_template::copy_value(const PCUIF__rach__ind& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.sapi().is_bound()) {
- single_value->field_sapi = other_value.sapi();
-} else {
- single_value->field_sapi.clean_up();
-}
-if (other_value.ra().is_bound()) {
- single_value->field_ra = other_value.ra();
-} else {
- single_value->field_ra.clean_up();
-}
-if (other_value.qta().is_bound()) {
- single_value->field_qta = other_value.qta();
-} else {
- single_value->field_qta.clean_up();
-}
-if (other_value.fn().is_bound()) {
- single_value->field_fn = other_value.fn();
-} else {
- single_value->field_fn.clean_up();
-}
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-if (other_value.is__11bit().is_bound()) {
- single_value->field_is__11bit = other_value.is__11bit();
-} else {
- single_value->field_is__11bit.clean_up();
-}
-if (other_value.burst__type().is_bound()) {
- single_value->field_burst__type = other_value.burst__type();
-} else {
- single_value->field_burst__type.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__rach__ind_template::copy_template(const PCUIF__rach__ind_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.sapi().get_selection()) {
-single_value->field_sapi = other_value.sapi();
-} else {
-single_value->field_sapi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ra().get_selection()) {
-single_value->field_ra = other_value.ra();
-} else {
-single_value->field_ra.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.qta().get_selection()) {
-single_value->field_qta = other_value.qta();
-} else {
-single_value->field_qta.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.fn().get_selection()) {
-single_value->field_fn = other_value.fn();
-} else {
-single_value->field_fn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.is__11bit().get_selection()) {
-single_value->field_is__11bit = other_value.is__11bit();
-} else {
-single_value->field_is__11bit.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.burst__type().get_selection()) {
-single_value->field_burst__type = other_value.burst__type();
-} else {
-single_value->field_burst__type.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__rach__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rach_ind.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__rach__ind_template::PCUIF__rach__ind_template()
-{
-}
-
-PCUIF__rach__ind_template::PCUIF__rach__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__rach__ind_template::PCUIF__rach__ind_template(const PCUIF__rach__ind& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__rach__ind_template::PCUIF__rach__ind_template(const OPTIONAL<PCUIF__rach__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__rach__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_rach_ind from an unbound optional field.");
-}
-}
-
-PCUIF__rach__ind_template::PCUIF__rach__ind_template(const PCUIF__rach__ind_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__rach__ind_template::~PCUIF__rach__ind_template()
-{
-clean_up();
-}
-
-PCUIF__rach__ind_template& PCUIF__rach__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__rach__ind_template& PCUIF__rach__ind_template::operator=(const PCUIF__rach__ind& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__rach__ind_template& PCUIF__rach__ind_template::operator=(const OPTIONAL<PCUIF__rach__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__rach__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_rach_ind.");
-}
-return *this;
-}
-
-PCUIF__rach__ind_template& PCUIF__rach__ind_template::operator=(const PCUIF__rach__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__rach__ind_template::match(const PCUIF__rach__ind& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.sapi().is_bound()) return FALSE;
-if(!single_value->field_sapi.match(other_value.sapi(), legacy))return FALSE;
-if(!other_value.ra().is_bound()) return FALSE;
-if(!single_value->field_ra.match(other_value.ra(), legacy))return FALSE;
-if(!other_value.qta().is_bound()) return FALSE;
-if(!single_value->field_qta.match(other_value.qta(), legacy))return FALSE;
-if(!other_value.fn().is_bound()) return FALSE;
-if(!single_value->field_fn.match(other_value.fn(), legacy))return FALSE;
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-if(!other_value.is__11bit().is_bound()) return FALSE;
-if(!single_value->field_is__11bit.match(other_value.is__11bit(), legacy))return FALSE;
-if(!other_value.burst__type().is_bound()) return FALSE;
-if(!single_value->field_burst__type.match(other_value.burst__type(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rach_ind.");
-}
-return FALSE;
-}
-
-boolean PCUIF__rach__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_sapi.is_bound()) return TRUE;
-if (single_value->field_ra.is_bound()) return TRUE;
-if (single_value->field_qta.is_bound()) return TRUE;
-if (single_value->field_fn.is_bound()) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-if (single_value->field_is__11bit.is_bound()) return TRUE;
-if (single_value->field_burst__type.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__rach__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_sapi.is_value()) return FALSE;
-if (!single_value->field_ra.is_value()) return FALSE;
-if (!single_value->field_qta.is_value()) return FALSE;
-if (!single_value->field_fn.is_value()) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-if (!single_value->field_is__11bit.is_value()) return FALSE;
-if (!single_value->field_burst__type.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__rach__ind_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__rach__ind PCUIF__rach__ind_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-PCUIF__rach__ind ret_val;
-if (single_value->field_sapi.is_bound()) {
-ret_val.sapi() = single_value->field_sapi.valueof();
-}
-if (single_value->field_ra.is_bound()) {
-ret_val.ra() = single_value->field_ra.valueof();
-}
-if (single_value->field_qta.is_bound()) {
-ret_val.qta() = single_value->field_qta.valueof();
-}
-if (single_value->field_fn.is_bound()) {
-ret_val.fn() = single_value->field_fn.valueof();
-}
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-if (single_value->field_is__11bit.is_bound()) {
-ret_val.is__11bit() = single_value->field_is__11bit.valueof();
-}
-if (single_value->field_burst__type.is_bound()) {
-ret_val.burst__type() = single_value->field_burst__type.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__rach__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_rach_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__rach__ind_template[list_length];
-}
-
-PCUIF__rach__ind_template& PCUIF__rach__ind_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_rach_ind.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_rach_ind.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__Sapi_template& PCUIF__rach__ind_template::sapi()
-{
-set_specific();
-return single_value->field_sapi;
-}
-
-const PCUIF__Sapi_template& PCUIF__rach__ind_template::sapi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sapi of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_sapi;
-}
-
-INTEGER_template& PCUIF__rach__ind_template::ra()
-{
-set_specific();
-return single_value->field_ra;
-}
-
-const INTEGER_template& PCUIF__rach__ind_template::ra() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ra of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_ra;
-}
-
-INTEGER_template& PCUIF__rach__ind_template::qta()
-{
-set_specific();
-return single_value->field_qta;
-}
-
-const INTEGER_template& PCUIF__rach__ind_template::qta() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field qta of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_qta;
-}
-
-INTEGER_template& PCUIF__rach__ind_template::fn()
-{
-set_specific();
-return single_value->field_fn;
-}
-
-const INTEGER_template& PCUIF__rach__ind_template::fn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field fn of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_fn;
-}
-
-INTEGER_template& PCUIF__rach__ind_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& PCUIF__rach__ind_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_arfcn;
-}
-
-INTEGER_template& PCUIF__rach__ind_template::is__11bit()
-{
-set_specific();
-return single_value->field_is__11bit;
-}
-
-const INTEGER_template& PCUIF__rach__ind_template::is__11bit() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field is_11bit of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_is__11bit;
-}
-
-PCUIF__BurstType_template& PCUIF__rach__ind_template::burst__type()
-{
-set_specific();
-return single_value->field_burst__type;
-}
-
-const PCUIF__BurstType_template& PCUIF__rach__ind_template::burst__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field burst_type of a non-specific template of type @PCUIF_Types.PCUIF_rach_ind.");
-return single_value->field_burst__type;
-}
-
-int PCUIF__rach__ind_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 7;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_rach_ind containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rach_ind.");
- }
- return 0;
-}
-
-void PCUIF__rach__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log();
-TTCN_Logger::log_event_str(", ra := ");
-single_value->field_ra.log();
-TTCN_Logger::log_event_str(", qta := ");
-single_value->field_qta.log();
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log();
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(", is_11bit := ");
-single_value->field_is__11bit.log();
-TTCN_Logger::log_event_str(", burst_type := ");
-single_value->field_burst__type.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__rach__ind_template::log_match(const PCUIF__rach__ind& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_sapi.match(match_value.sapi(), legacy)){
-TTCN_Logger::log_logmatch_info(".sapi");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ra.match(match_value.ra(), legacy)){
-TTCN_Logger::log_logmatch_info(".ra");
-single_value->field_ra.log_match(match_value.ra(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_qta.match(match_value.qta(), legacy)){
-TTCN_Logger::log_logmatch_info(".qta");
-single_value->field_qta.log_match(match_value.qta(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_fn.match(match_value.fn(), legacy)){
-TTCN_Logger::log_logmatch_info(".fn");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_is__11bit.match(match_value.is__11bit(), legacy)){
-TTCN_Logger::log_logmatch_info(".is_11bit");
-single_value->field_is__11bit.log_match(match_value.is__11bit(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_burst__type.match(match_value.burst__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".burst_type");
-single_value->field_burst__type.log_match(match_value.burst__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::log_event_str(", ra := ");
-single_value->field_ra.log_match(match_value.ra(), legacy);
-TTCN_Logger::log_event_str(", qta := ");
-single_value->field_qta.log_match(match_value.qta(), legacy);
-TTCN_Logger::log_event_str(", fn := ");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::log_event_str(", arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(", is_11bit := ");
-single_value->field_is__11bit.log_match(match_value.is__11bit(), legacy);
-TTCN_Logger::log_event_str(", burst_type := ");
-single_value->field_burst__type.log_match(match_value.burst__type(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__rach__ind_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_sapi.encode_text(text_buf);
-single_value->field_ra.encode_text(text_buf);
-single_value->field_qta.encode_text(text_buf);
-single_value->field_fn.encode_text(text_buf);
-single_value->field_arfcn.encode_text(text_buf);
-single_value->field_is__11bit.encode_text(text_buf);
-single_value->field_burst__type.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_rach_ind.");
-}
-}
-
-void PCUIF__rach__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_sapi.decode_text(text_buf);
-single_value->field_ra.decode_text(text_buf);
-single_value->field_qta.decode_text(text_buf);
-single_value->field_fn.decode_text(text_buf);
-single_value->field_arfcn.decode_text(text_buf);
-single_value->field_is__11bit.decode_text(text_buf);
-single_value->field_burst__type.decode_text(text_buf);
-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 PCUIF__rach__ind_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_rach_ind.");
-}
-}
-
-void PCUIF__rach__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__rach__ind_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (7<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_rach_ind has 7 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ra().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) qta().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) is__11bit().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) burst__type().set_param(*param.get_elem(6));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ra")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ra().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "qta")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- qta().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "is_11bit")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- is__11bit().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "burst_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- burst__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_rach_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_rach_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__rach__ind_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_sapi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_ra.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_qta.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_fn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_is__11bit.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-single_value->field_burst__type.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_rach_ind");
-return;
-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 : "@PCUIF_Types.PCUIF_rach_ind");
-}
-
-boolean PCUIF__rach__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__rach__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__InfoTrx::PCUIF__InfoTrx()
-{
-}
-
-PCUIF__InfoTrx::PCUIF__InfoTrx(const INTEGER& par_arfcn,
- const BITSTRING& par_pdch__mask,
- const OCTETSTRING& par_spare,
- const OCTETSTRING& par_tsc,
- const INTEGER& par_hLayer1)
- : field_arfcn(par_arfcn),
- field_pdch__mask(par_pdch__mask),
- field_spare(par_spare),
- field_tsc(par_tsc),
- field_hLayer1(par_hLayer1)
-{
-}
-
-PCUIF__InfoTrx::PCUIF__InfoTrx(const PCUIF__InfoTrx& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_InfoTrx.");
-if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
-else field_arfcn.clean_up();
-if (other_value.pdch__mask().is_bound()) field_pdch__mask = other_value.pdch__mask();
-else field_pdch__mask.clean_up();
-if (other_value.spare().is_bound()) field_spare = other_value.spare();
-else field_spare.clean_up();
-if (other_value.tsc().is_bound()) field_tsc = other_value.tsc();
-else field_tsc.clean_up();
-if (other_value.hLayer1().is_bound()) field_hLayer1 = other_value.hLayer1();
-else field_hLayer1.clean_up();
-}
-
-void PCUIF__InfoTrx::clean_up()
-{
-field_arfcn.clean_up();
-field_pdch__mask.clean_up();
-field_spare.clean_up();
-field_tsc.clean_up();
-field_hLayer1.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__InfoTrx::get_descriptor() const { return &PCUIF__InfoTrx_descr_; }
-PCUIF__InfoTrx& PCUIF__InfoTrx::operator=(const PCUIF__InfoTrx& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_InfoTrx.");
- if (other_value.arfcn().is_bound()) field_arfcn = other_value.arfcn();
- else field_arfcn.clean_up();
- if (other_value.pdch__mask().is_bound()) field_pdch__mask = other_value.pdch__mask();
- else field_pdch__mask.clean_up();
- if (other_value.spare().is_bound()) field_spare = other_value.spare();
- else field_spare.clean_up();
- if (other_value.tsc().is_bound()) field_tsc = other_value.tsc();
- else field_tsc.clean_up();
- if (other_value.hLayer1().is_bound()) field_hLayer1 = other_value.hLayer1();
- else field_hLayer1.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__InfoTrx::operator==(const PCUIF__InfoTrx& other_value) const
-{
-return field_arfcn==other_value.field_arfcn
- && field_pdch__mask==other_value.field_pdch__mask
- && field_spare==other_value.field_spare
- && field_tsc==other_value.field_tsc
- && field_hLayer1==other_value.field_hLayer1;
-}
-
-boolean PCUIF__InfoTrx::is_bound() const
-{
-if(field_arfcn.is_bound()) return TRUE;
-if(field_pdch__mask.is_bound()) return TRUE;
-if(field_spare.is_bound()) return TRUE;
-if(field_tsc.is_bound()) return TRUE;
-if(field_hLayer1.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__InfoTrx::is_value() const
-{
-if(!field_arfcn.is_value()) return FALSE;
-if(!field_pdch__mask.is_value()) return FALSE;
-if(!field_spare.is_value()) return FALSE;
-if(!field_tsc.is_value()) return FALSE;
-if(!field_hLayer1.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__InfoTrx::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ arfcn := ");
-field_arfcn.log();
-TTCN_Logger::log_event_str(", pdch_mask := ");
-field_pdch__mask.log();
-TTCN_Logger::log_event_str(", spare := ");
-field_spare.log();
-TTCN_Logger::log_event_str(", tsc := ");
-field_tsc.log();
-TTCN_Logger::log_event_str(", hLayer1 := ");
-field_hLayer1.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__InfoTrx::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_InfoTrx has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) pdch__mask().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) tsc().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) hLayer1().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pdch_mask")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pdch__mask().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tsc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tsc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "hLayer1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- hLayer1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_InfoTrx: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_InfoTrx");
- }
-}
-
-void PCUIF__InfoTrx::set_implicit_omit()
-{
-if (arfcn().is_bound()) arfcn().set_implicit_omit();
-if (pdch__mask().is_bound()) pdch__mask().set_implicit_omit();
-if (spare().is_bound()) spare().set_implicit_omit();
-if (tsc().is_bound()) tsc().set_implicit_omit();
-if (hLayer1().is_bound()) hLayer1().set_implicit_omit();
-}
-
-void PCUIF__InfoTrx::encode_text(Text_Buf& text_buf) const
-{
-field_arfcn.encode_text(text_buf);
-field_pdch__mask.encode_text(text_buf);
-field_spare.encode_text(text_buf);
-field_tsc.encode_text(text_buf);
-field_hLayer1.encode_text(text_buf);
-}
-
-void PCUIF__InfoTrx::decode_text(Text_Buf& text_buf)
-{
-field_arfcn.decode_text(text_buf);
-field_pdch__mask.decode_text(text_buf);
-field_spare.decode_text(text_buf);
-field_tsc.decode_text(text_buf);
-field_hLayer1.decode_text(text_buf);
-}
-
-void PCUIF__InfoTrx::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__InfoTrx::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__InfoTrx::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__InfoTrx_arfcn_descr_.raw->forceomit);
- decoded_field_length = field_arfcn.RAW_decode(PCUIF__InfoTrx_arfcn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__InfoTrx_pdch__mask_descr_.raw->forceomit);
- decoded_field_length = field_pdch__mask.RAW_decode(PCUIF__InfoTrx_pdch__mask_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__InfoTrx_spare_descr_.raw->forceomit);
- decoded_field_length = field_spare.RAW_decode(PCUIF__InfoTrx_spare_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__InfoTrx_tsc_descr_.raw->forceomit);
- decoded_field_length = field_tsc.RAW_decode(PCUIF__InfoTrx_tsc_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__InfoTrx_hLayer1_descr_.raw->forceomit);
- decoded_field_length = field_hLayer1.RAW_decode(PCUIF__InfoTrx_hLayer1_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__InfoTrx::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 5;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(5);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__InfoTrx_arfcn_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__InfoTrx_pdch__mask_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__InfoTrx_spare_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__InfoTrx_tsc_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__InfoTrx_hLayer1_descr_.raw);
- encoded_length += field_arfcn.RAW_encode(PCUIF__InfoTrx_arfcn_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_pdch__mask.RAW_encode(PCUIF__InfoTrx_pdch__mask_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_spare.RAW_encode(PCUIF__InfoTrx_spare_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_tsc.RAW_encode(PCUIF__InfoTrx_tsc_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_hLayer1.RAW_encode(PCUIF__InfoTrx_hLayer1_descr_, *myleaf.body.node.nodes[4]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__InfoTrx_template::single_value_struct {
-INTEGER_template field_arfcn;
-BITSTRING_template field_pdch__mask;
-OCTETSTRING_template field_spare;
-OCTETSTRING_template field_tsc;
-INTEGER_template field_hLayer1;
-};
-
-void PCUIF__InfoTrx_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_arfcn = ANY_VALUE;
-single_value->field_pdch__mask = ANY_VALUE;
-single_value->field_spare = ANY_VALUE;
-single_value->field_tsc = ANY_VALUE;
-single_value->field_hLayer1 = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__InfoTrx_template::copy_value(const PCUIF__InfoTrx& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.arfcn().is_bound()) {
- single_value->field_arfcn = other_value.arfcn();
-} else {
- single_value->field_arfcn.clean_up();
-}
-if (other_value.pdch__mask().is_bound()) {
- single_value->field_pdch__mask = other_value.pdch__mask();
-} else {
- single_value->field_pdch__mask.clean_up();
-}
-if (other_value.spare().is_bound()) {
- single_value->field_spare = other_value.spare();
-} else {
- single_value->field_spare.clean_up();
-}
-if (other_value.tsc().is_bound()) {
- single_value->field_tsc = other_value.tsc();
-} else {
- single_value->field_tsc.clean_up();
-}
-if (other_value.hLayer1().is_bound()) {
- single_value->field_hLayer1 = other_value.hLayer1();
-} else {
- single_value->field_hLayer1.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__InfoTrx_template::copy_template(const PCUIF__InfoTrx_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.arfcn().get_selection()) {
-single_value->field_arfcn = other_value.arfcn();
-} else {
-single_value->field_arfcn.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.pdch__mask().get_selection()) {
-single_value->field_pdch__mask = other_value.pdch__mask();
-} else {
-single_value->field_pdch__mask.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare().get_selection()) {
-single_value->field_spare = other_value.spare();
-} else {
-single_value->field_spare.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.tsc().get_selection()) {
-single_value->field_tsc = other_value.tsc();
-} else {
-single_value->field_tsc.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.hLayer1().get_selection()) {
-single_value->field_hLayer1 = other_value.hLayer1();
-} else {
-single_value->field_hLayer1.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__InfoTrx_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrx.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__InfoTrx_template::PCUIF__InfoTrx_template()
-{
-}
-
-PCUIF__InfoTrx_template::PCUIF__InfoTrx_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__InfoTrx_template::PCUIF__InfoTrx_template(const PCUIF__InfoTrx& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__InfoTrx_template::PCUIF__InfoTrx_template(const OPTIONAL<PCUIF__InfoTrx>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__InfoTrx&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_InfoTrx from an unbound optional field.");
-}
-}
-
-PCUIF__InfoTrx_template::PCUIF__InfoTrx_template(const PCUIF__InfoTrx_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__InfoTrx_template::~PCUIF__InfoTrx_template()
-{
-clean_up();
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrx_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrx_template::operator=(const PCUIF__InfoTrx& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrx_template::operator=(const OPTIONAL<PCUIF__InfoTrx>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__InfoTrx&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_InfoTrx.");
-}
-return *this;
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrx_template::operator=(const PCUIF__InfoTrx_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__InfoTrx_template::match(const PCUIF__InfoTrx& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.arfcn().is_bound()) return FALSE;
-if(!single_value->field_arfcn.match(other_value.arfcn(), legacy))return FALSE;
-if(!other_value.pdch__mask().is_bound()) return FALSE;
-if(!single_value->field_pdch__mask.match(other_value.pdch__mask(), legacy))return FALSE;
-if(!other_value.spare().is_bound()) return FALSE;
-if(!single_value->field_spare.match(other_value.spare(), legacy))return FALSE;
-if(!other_value.tsc().is_bound()) return FALSE;
-if(!single_value->field_tsc.match(other_value.tsc(), legacy))return FALSE;
-if(!other_value.hLayer1().is_bound()) return FALSE;
-if(!single_value->field_hLayer1.match(other_value.hLayer1(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrx.");
-}
-return FALSE;
-}
-
-boolean PCUIF__InfoTrx_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_arfcn.is_bound()) return TRUE;
-if (single_value->field_pdch__mask.is_bound()) return TRUE;
-if (single_value->field_spare.is_bound()) return TRUE;
-if (single_value->field_tsc.is_bound()) return TRUE;
-if (single_value->field_hLayer1.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__InfoTrx_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_arfcn.is_value()) return FALSE;
-if (!single_value->field_pdch__mask.is_value()) return FALSE;
-if (!single_value->field_spare.is_value()) return FALSE;
-if (!single_value->field_tsc.is_value()) return FALSE;
-if (!single_value->field_hLayer1.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__InfoTrx_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__InfoTrx PCUIF__InfoTrx_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-PCUIF__InfoTrx ret_val;
-if (single_value->field_arfcn.is_bound()) {
-ret_val.arfcn() = single_value->field_arfcn.valueof();
-}
-if (single_value->field_pdch__mask.is_bound()) {
-ret_val.pdch__mask() = single_value->field_pdch__mask.valueof();
-}
-if (single_value->field_spare.is_bound()) {
-ret_val.spare() = single_value->field_spare.valueof();
-}
-if (single_value->field_tsc.is_bound()) {
-ret_val.tsc() = single_value->field_tsc.valueof();
-}
-if (single_value->field_hLayer1.is_bound()) {
-ret_val.hLayer1() = single_value->field_hLayer1.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__InfoTrx_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_InfoTrx.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__InfoTrx_template[list_length];
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrx_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_InfoTrx.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& PCUIF__InfoTrx_template::arfcn()
-{
-set_specific();
-return single_value->field_arfcn;
-}
-
-const INTEGER_template& PCUIF__InfoTrx_template::arfcn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field arfcn of a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return single_value->field_arfcn;
-}
-
-BITSTRING_template& PCUIF__InfoTrx_template::pdch__mask()
-{
-set_specific();
-return single_value->field_pdch__mask;
-}
-
-const BITSTRING_template& PCUIF__InfoTrx_template::pdch__mask() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field pdch_mask of a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return single_value->field_pdch__mask;
-}
-
-OCTETSTRING_template& PCUIF__InfoTrx_template::spare()
-{
-set_specific();
-return single_value->field_spare;
-}
-
-const OCTETSTRING_template& PCUIF__InfoTrx_template::spare() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare of a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return single_value->field_spare;
-}
-
-OCTETSTRING_template& PCUIF__InfoTrx_template::tsc()
-{
-set_specific();
-return single_value->field_tsc;
-}
-
-const OCTETSTRING_template& PCUIF__InfoTrx_template::tsc() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field tsc of a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return single_value->field_tsc;
-}
-
-INTEGER_template& PCUIF__InfoTrx_template::hLayer1()
-{
-set_specific();
-return single_value->field_hLayer1;
-}
-
-const INTEGER_template& PCUIF__InfoTrx_template::hLayer1() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field hLayer1 of a non-specific template of type @PCUIF_Types.PCUIF_InfoTrx.");
-return single_value->field_hLayer1;
-}
-
-int PCUIF__InfoTrx_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 5;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrx containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrx.");
- }
- return 0;
-}
-
-void PCUIF__InfoTrx_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ arfcn := ");
-single_value->field_arfcn.log();
-TTCN_Logger::log_event_str(", pdch_mask := ");
-single_value->field_pdch__mask.log();
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log();
-TTCN_Logger::log_event_str(", tsc := ");
-single_value->field_tsc.log();
-TTCN_Logger::log_event_str(", hLayer1 := ");
-single_value->field_hLayer1.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__InfoTrx_template::log_match(const PCUIF__InfoTrx& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_arfcn.match(match_value.arfcn(), legacy)){
-TTCN_Logger::log_logmatch_info(".arfcn");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_pdch__mask.match(match_value.pdch__mask(), legacy)){
-TTCN_Logger::log_logmatch_info(".pdch_mask");
-single_value->field_pdch__mask.log_match(match_value.pdch__mask(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare.match(match_value.spare(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_tsc.match(match_value.tsc(), legacy)){
-TTCN_Logger::log_logmatch_info(".tsc");
-single_value->field_tsc.log_match(match_value.tsc(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_hLayer1.match(match_value.hLayer1(), legacy)){
-TTCN_Logger::log_logmatch_info(".hLayer1");
-single_value->field_hLayer1.log_match(match_value.hLayer1(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ arfcn := ");
-single_value->field_arfcn.log_match(match_value.arfcn(), legacy);
-TTCN_Logger::log_event_str(", pdch_mask := ");
-single_value->field_pdch__mask.log_match(match_value.pdch__mask(), legacy);
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::log_event_str(", tsc := ");
-single_value->field_tsc.log_match(match_value.tsc(), legacy);
-TTCN_Logger::log_event_str(", hLayer1 := ");
-single_value->field_hLayer1.log_match(match_value.hLayer1(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__InfoTrx_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_arfcn.encode_text(text_buf);
-single_value->field_pdch__mask.encode_text(text_buf);
-single_value->field_spare.encode_text(text_buf);
-single_value->field_tsc.encode_text(text_buf);
-single_value->field_hLayer1.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrx.");
-}
-}
-
-void PCUIF__InfoTrx_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_arfcn.decode_text(text_buf);
-single_value->field_pdch__mask.decode_text(text_buf);
-single_value->field_spare.decode_text(text_buf);
-single_value->field_tsc.decode_text(text_buf);
-single_value->field_hLayer1.decode_text(text_buf);
-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 PCUIF__InfoTrx_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_InfoTrx.");
-}
-}
-
-void PCUIF__InfoTrx_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__InfoTrx_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (5<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_InfoTrx has 5 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) arfcn().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) pdch__mask().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) tsc().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) hLayer1().set_param(*param.get_elem(4));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "arfcn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- arfcn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "pdch_mask")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- pdch__mask().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tsc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tsc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "hLayer1")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- hLayer1().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_InfoTrx: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_InfoTrx");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__InfoTrx_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_arfcn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrx");
-single_value->field_pdch__mask.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrx");
-single_value->field_spare.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrx");
-single_value->field_tsc.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrx");
-single_value->field_hLayer1.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrx");
-return;
-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 : "@PCUIF_Types.PCUIF_InfoTrx");
-}
-
-boolean PCUIF__InfoTrx_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__InfoTrx_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-
-const PCUIF__InfoTrx PCUIF__InfoTrxs::UNBOUND_ELEM;
-PCUIF__InfoTrxs::PCUIF__InfoTrxs()
-{
-val_ptr = NULL;
-}
-
-PCUIF__InfoTrxs::PCUIF__InfoTrxs(null_type)
-{
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-}
-
-PCUIF__InfoTrxs::PCUIF__InfoTrxs(const PCUIF__InfoTrxs& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-
-PCUIF__InfoTrxs::~PCUIF__InfoTrxs()
-{
-clean_up();
-if (val_ptr != NULL) val_ptr = NULL;
-}
-
-void PCUIF__InfoTrxs::clean_up()
-{
-if (val_ptr != NULL) {
-if (val_ptr->ref_count > 1) {
-val_ptr->ref_count--;
-val_ptr = NULL;
-}
-else if (val_ptr->ref_count == 1) {
-for (int elem_count = 0; elem_count < val_ptr->n_elements;
-elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)
-delete val_ptr->value_elements[elem_count];
-free_pointers((void**)val_ptr->value_elements);
-delete val_ptr;
-val_ptr = NULL;
-}
-else
-TTCN_error("Internal error: Invalid reference counter in a record of/set of value.");
-}
-}
-
-PCUIF__InfoTrxs& PCUIF__InfoTrxs::operator=(null_type)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-return *this;
-}
-
-PCUIF__InfoTrxs& PCUIF__InfoTrxs::operator=(const PCUIF__InfoTrxs& other_value)
-{
-if (other_value.val_ptr == NULL) TTCN_error("Assigning an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (this != &other_value) {
-clean_up();
-val_ptr = other_value.val_ptr;
-val_ptr->ref_count++;
-}
-return *this;
-}
-
-boolean PCUIF__InfoTrxs::operator==(null_type) const
-{
-if (val_ptr == NULL)
-TTCN_error("The left operand of comparison is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return val_ptr->n_elements == 0 ;
-}
-
-boolean PCUIF__InfoTrxs::operator==(const PCUIF__InfoTrxs& other_value) const
-{
-if (val_ptr == NULL) TTCN_error("The left operand of comparison is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (other_value.val_ptr == NULL) TTCN_error("The right operand of comparison is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (val_ptr == other_value.val_ptr) return TRUE;
-if (val_ptr->n_elements != (other_value.val_ptr)->n_elements)
-return FALSE;
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL){
- if (*val_ptr->value_elements[elem_count] != *(other_value.val_ptr)->value_elements[elem_count]) return FALSE;
-} else return FALSE;
-} else {
-if ((other_value.val_ptr)->value_elements[elem_count] != NULL) return FALSE;
-}
-}
-return TRUE;
-}
-
-PCUIF__InfoTrx& PCUIF__InfoTrxs::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of type @PCUIF_Types.PCUIF_InfoTrxs using a negative index: %d.", index_value);
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (index_value >= val_ptr->n_elements) ? index_value + 1 : val_ptr->n_elements;
-new_val_ptr->value_elements = (PCUIF__InfoTrx**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++){
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new PCUIF__InfoTrx(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (index_value >= val_ptr->n_elements) set_size(index_value + 1);
-if (val_ptr->value_elements[index_value] == NULL) {
-val_ptr->value_elements[index_value] = new PCUIF__InfoTrx;
-}
-return *val_ptr->value_elements[index_value];
-}
-
-PCUIF__InfoTrx& PCUIF__InfoTrxs::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return (*this)[(int)index_value];
-}
-
-const PCUIF__InfoTrx& PCUIF__InfoTrxs::operator[](int index_value) const
-{
-if (val_ptr == NULL)
-TTCN_error("Accessing an element in an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (index_value < 0) TTCN_error("Accessing an element of type @PCUIF_Types.PCUIF_InfoTrxs using a negative index: %d.", index_value);
-if (index_value >= val_ptr->n_elements) TTCN_error("Index overflow in a value of type @PCUIF_Types.PCUIF_InfoTrxs: The index is %d, but the value has only %d elements.", index_value, val_ptr->n_elements);
-return (val_ptr->value_elements[index_value] == NULL) ?
-UNBOUND_ELEM : *val_ptr->value_elements[index_value];
-}
-
-const PCUIF__InfoTrx& PCUIF__InfoTrxs::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return (*this)[(int)index_value];
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::operator<<=(int rotate_count) const
-{
-return *this >>= (-rotate_count);
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::operator<<=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate left operator.");
-return *this >>= (int)(-rotate_count);
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::operator>>=(const INTEGER& rotate_count) const
-{
-rotate_count.must_bound("Unbound integer operand of rotate right operator.");
-return *this >>= (int)rotate_count;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::operator>>=(int rotate_count) const
-{
-if (val_ptr == NULL) TTCN_error("Performing rotation operation on an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (val_ptr->n_elements == 0) return *this;
-int rc;
-if (rotate_count>=0) rc = rotate_count % val_ptr->n_elements;
-else rc = val_ptr->n_elements - ((-rotate_count) % val_ptr->n_elements);
-if (rc == 0) return *this;
-PCUIF__InfoTrxs ret_val;
-ret_val.set_size(val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[(i+rc)%val_ptr->n_elements] =new PCUIF__InfoTrx(*val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::operator+(const PCUIF__InfoTrxs& other_value) const
-{
-if (val_ptr == NULL || other_value.val_ptr == NULL) TTCN_error("Unbound operand of @PCUIF_Types.PCUIF_InfoTrxs concatenation.");
-if (val_ptr->n_elements == 0) return other_value;
-if (other_value.val_ptr->n_elements == 0) return *this;
-PCUIF__InfoTrxs ret_val;
-ret_val.set_size(val_ptr->n_elements+other_value.val_ptr->n_elements);
-for (int i=0; i<val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new PCUIF__InfoTrx(*val_ptr->value_elements[i]);
-}
-}
-for (int i=0; i<other_value.val_ptr->n_elements; i++) {
-if (other_value.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+val_ptr->n_elements] = new PCUIF__InfoTrx(*other_value.val_ptr->value_elements[i]);
-}
-}
-return ret_val;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::substr(int index, int returncount) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of substr() is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-check_substr_arguments(val_ptr->n_elements, index, returncount, "@PCUIF_Types.PCUIF_InfoTrxs","element");
-PCUIF__InfoTrxs ret_val;
-ret_val.set_size(returncount);
-for (int i=0; i<returncount; i++) {
-if (val_ptr->value_elements[i+index] != NULL) {
-ret_val.val_ptr->value_elements[i] = new PCUIF__InfoTrx(*val_ptr->value_elements[i+index]);
-}
-}
-return ret_val;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::replace(int index, int len, const PCUIF__InfoTrxs& repl) const
-{
-if (val_ptr == NULL) TTCN_error("The first argument of replace() is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (repl.val_ptr == NULL) TTCN_error("The fourth argument of replace() is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-check_replace_arguments(val_ptr->n_elements, index, len, "@PCUIF_Types.PCUIF_InfoTrxs","element");
-PCUIF__InfoTrxs ret_val;
-ret_val.set_size(val_ptr->n_elements + repl.val_ptr->n_elements - len);
-for (int i = 0; i < index; i++) {
-if (val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i] = new PCUIF__InfoTrx(*val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < repl.val_ptr->n_elements; i++) {
-if (repl.val_ptr->value_elements[i] != NULL) {
-ret_val.val_ptr->value_elements[i+index] = new PCUIF__InfoTrx(*repl.val_ptr->value_elements[i]);
-}
-}
-for (int i = 0; i < val_ptr->n_elements - index - len; i++) {
-if (val_ptr->value_elements[index+i+len] != NULL) {
-ret_val.val_ptr->value_elements[index+i+repl.val_ptr->n_elements] = new PCUIF__InfoTrx(*val_ptr->value_elements[index+i+len]);
-}
-}
-return ret_val;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs::replace(int index, int len, const PCUIF__InfoTrxs_template& repl) const
-{
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return replace(index, len, repl.valueof());
-}
-
-void PCUIF__InfoTrxs::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (val_ptr == NULL) {
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = 0;
-val_ptr->value_elements = NULL;
-} else if (val_ptr->ref_count > 1) {
-struct recordof_setof_struct *new_val_ptr = new recordof_setof_struct;
-new_val_ptr->ref_count = 1;
-new_val_ptr->n_elements = (new_size < val_ptr->n_elements) ? new_size : val_ptr->n_elements;
-new_val_ptr->value_elements = (PCUIF__InfoTrx**)allocate_pointers(new_val_ptr->n_elements);
-for (int elem_count = 0; elem_count < new_val_ptr->n_elements; elem_count++) {
-if (val_ptr->value_elements[elem_count] != NULL){
-new_val_ptr->value_elements[elem_count] = new PCUIF__InfoTrx(*(val_ptr->value_elements[elem_count]));
-}
-}
-clean_up();
-val_ptr = new_val_ptr;
-}
-if (new_size > val_ptr->n_elements) {
-val_ptr->value_elements = (PCUIF__InfoTrx**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-#ifdef TITAN_MEMORY_DEBUG_SET_RECORD_OF
-if((val_ptr->n_elements/1000)!=(new_size/1000)) TTCN_warning("New size of type @PCUIF_Types.PCUIF_InfoTrxs: %d",new_size);
-#endif
-val_ptr->n_elements = new_size;
-} else if (new_size < val_ptr->n_elements) {
-for (int elem_count = new_size; elem_count < val_ptr->n_elements; elem_count++)
-if (val_ptr->value_elements[elem_count] != NULL)delete val_ptr->value_elements[elem_count];
-val_ptr->value_elements = (PCUIF__InfoTrx**)reallocate_pointers((void**)val_ptr->value_elements, val_ptr->n_elements, new_size);
-val_ptr->n_elements = new_size;
-}
-}
-
-boolean PCUIF__InfoTrxs::is_value() const
-{
-if (val_ptr == NULL) return FALSE;
-for(int i = 0; i < val_ptr->n_elements; ++i) {
-if (val_ptr->value_elements[i] == NULL || !val_ptr->value_elements[i]->is_value()) return FALSE;
-}
-return TRUE;
-}
-
-int PCUIF__InfoTrxs::size_of() const
-{
-if (val_ptr == NULL) TTCN_error("Performing sizeof operation on an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return val_ptr->n_elements;
-}
-
-int PCUIF__InfoTrxs::lengthof() const
-{
-if (val_ptr == NULL) TTCN_error("Performing lengthof operation on an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-for (int my_length=val_ptr->n_elements; my_length>0; my_length--) if (val_ptr->value_elements[my_length-1] != NULL) return my_length;
-return 0;
-}
-
-void PCUIF__InfoTrxs::log() const
-{
-if (val_ptr == NULL) {;
-TTCN_Logger::log_event_unbound();
-return;
-}
-switch (val_ptr->n_elements) {
-case 0:
-TTCN_Logger::log_event_str("{ }");
-break;
-default:
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-(*this)[elem_count].log();
-}
-TTCN_Logger::log_event_str(" }");
-}
-}
-
-void PCUIF__InfoTrxs::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE|Module_Param::BC_LIST, "record of value");
- switch (param.get_operation_type()) {
- case Module_Param::OT_ASSIGN:
- if (param.get_type()==Module_Param::MP_Value_List && param.get_size()==0) {
- *this = NULL_VALUE;
- return;
- }
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- set_size(param.get_size());
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if (curr->get_type()!=Module_Param::MP_NotUsed) {
- (*this)[i].set_param(*curr);
- if (!(*this)[i].is_bound()) {
- delete val_ptr->value_elements[i];
- val_ptr->value_elements[i] = NULL;
- }
- }
- }
- break;
- case Module_Param::MP_Indexed_List:
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- (*this)[curr->get_id()->get_index()].set_param(*curr);
- if (!(*this)[curr->get_id()->get_index()].is_bound()) {
- delete val_ptr->value_elements[curr->get_id()->get_index()];
- val_ptr->value_elements[curr->get_id()->get_index()] = NULL;
- }
- }
- break;
- default:
- param.type_error("record of value", "@PCUIF_Types.PCUIF_InfoTrxs");
- }
- break;
- case Module_Param::OT_CONCAT:
- switch (param.get_type()) {
- case Module_Param::MP_Value_List: {
- if (!is_bound()) *this = NULL_VALUE;
- int start_idx = lengthof();
- for (size_t i=0; i<param.get_size(); ++i) {
- Module_Param* const curr = param.get_elem(i);
- if ((curr->get_type()!=Module_Param::MP_NotUsed)) {
- (*this)[start_idx+(int)i].set_param(*curr);
- }
- }
- } break;
- case Module_Param::MP_Indexed_List:
- param.error("Cannot concatenate an indexed value list");
- break;
- default:
- param.type_error("record of value", "@PCUIF_Types.PCUIF_InfoTrxs");
- }
- break;
- default:
- TTCN_error("Internal error: Unknown operation type.");
- }
-}
-
-void PCUIF__InfoTrxs::set_implicit_omit()
-{
-if (val_ptr == NULL) return;
-for (int i = 0; i < val_ptr->n_elements; i++) {
-if (val_ptr->value_elements[i] != NULL) val_ptr->value_elements[i]->set_implicit_omit();
-}
-}
-
-void PCUIF__InfoTrxs::encode_text(Text_Buf& text_buf) const
-{
-if (val_ptr == NULL) TTCN_error("Text encoder: Encoding an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-text_buf.push_int(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++)
-(*this)[elem_count].encode_text(text_buf);
-}
-
-void PCUIF__InfoTrxs::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-val_ptr = new recordof_setof_struct;
-val_ptr->ref_count = 1;
-val_ptr->n_elements = text_buf.pull_int().get_val();
-if (val_ptr->n_elements < 0) TTCN_error("Text decoder: Negative size was received for a value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-val_ptr->value_elements = (PCUIF__InfoTrx**)allocate_pointers(val_ptr->n_elements);
-for (int elem_count = 0; elem_count < val_ptr->n_elements; elem_count++) {
-val_ptr->value_elements[elem_count] = new PCUIF__InfoTrx;
-val_ptr->value_elements[elem_count]->decode_text(text_buf);
-}
-}
-
-void PCUIF__InfoTrxs::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__InfoTrxs::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__InfoTrxs::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean /*no_err*/, int sel_field, boolean first_call, const RAW_Force_Omit*){
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- int decoded_length=0;
- int decoded_field_length=0;
- size_t start_of_field=0;
- if(first_call) {
- clean_up();
- val_ptr=new recordof_setof_struct;
- val_ptr->ref_count=1;
- val_ptr->n_elements=0;
- val_ptr->value_elements=NULL;
- }
- int start_field=val_ptr->n_elements;
- if(p_td.raw->fieldlength || sel_field!=-1){
- int a=0;
- if(sel_field==-1) sel_field=p_td.raw->fieldlength;
- for(a=0;a<sel_field;a++){
- decoded_field_length=(*this)[a+start_field].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- }
- if(a==0) val_ptr->n_elements=0;
- } else {
- if(limit==0){
- if(!first_call) return -1;
- val_ptr->n_elements=0;
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- }
- int a=start_field;
- while(limit>0){
- start_of_field=p_buf.get_pos_bit();
- decoded_field_length=(*this)[a].RAW_decode(*p_td.oftype_descr,p_buf,limit,top_bit_ord,TRUE);
- if(decoded_field_length < 0){
- delete &(*this)[a];
- val_ptr->n_elements--;
- p_buf.set_pos_bit(start_of_field);
- if(a>start_field){
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
- } else return -1;
- }
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- a++;
- }
- }
- return decoded_length+p_buf.increase_pos_padd(p_td.raw->padding)+prepaddlength;
-}
-
-int PCUIF__InfoTrxs::RAW_encode(const TTCN_Typedescriptor_t& p_td,RAW_enc_tree& myleaf) const{
- int encoded_length=0;
- int encoded_num_of_records=p_td.raw->fieldlength?smaller(val_ptr->n_elements, p_td.raw->fieldlength):val_ptr->n_elements;
- myleaf.isleaf=FALSE;
- myleaf.rec_of=TRUE;
- myleaf.body.node.num_of_nodes=encoded_num_of_records;
- myleaf.body.node.nodes=init_nodes_of_enc_tree(encoded_num_of_records);
- for(int a=0;a<encoded_num_of_records;a++){
- myleaf.body.node.nodes[a]=new RAW_enc_tree(TRUE,&myleaf,&(myleaf.curr_pos),a,p_td.oftype_descr->raw);
- encoded_length+=(*this)[a].RAW_encode(*p_td.oftype_descr,*myleaf.body.node.nodes[a]);
- }
- return myleaf.length=encoded_length;
-}
-
-void PCUIF__InfoTrxs_template::copy_value(const PCUIF__InfoTrxs& other_value)
-{
-if (!other_value.is_bound()) TTCN_error("Initialization of a template of type @PCUIF_Types.PCUIF_InfoTrxs with an unbound value.");
-single_value.n_elements = other_value.size_of();
-single_value.value_elements = (PCUIF__InfoTrx_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (other_value[elem_count].is_bound()) {
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template(other_value[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template;
-}
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__InfoTrxs_template::copy_template(const PCUIF__InfoTrxs_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = other_value.single_value.n_elements;
-single_value.value_elements = (PCUIF__InfoTrx_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (UNINITIALIZED_TEMPLATE != other_value.single_value.value_elements[elem_count]->get_selection()) {
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template(*other_value.single_value.value_elements[elem_count]);
-} else {
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template;
-}
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__InfoTrxs_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-break;
-}
-set_selection(other_value);
-}
-
-boolean PCUIF__InfoTrxs_template::match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy)
-{
-if (value_index >= 0) return ((const PCUIF__InfoTrxs_template*)template_ptr)->single_value.value_elements[template_index]->match((*(const PCUIF__InfoTrxs*)value_ptr)[value_index], legacy);
-else return ((const PCUIF__InfoTrxs_template*)template_ptr)->single_value.value_elements[template_index]->is_any_or_omit();
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template()
-{
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template(template_sel other_value)
- : Record_Of_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template(null_type)
- : Record_Of_Template(SPECIFIC_VALUE)
-{
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template(const PCUIF__InfoTrxs& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template(const OPTIONAL<PCUIF__InfoTrxs>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__InfoTrxs&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_InfoTrxs from an unbound optional field.");
-}
-}
-
-PCUIF__InfoTrxs_template::PCUIF__InfoTrxs_template(const PCUIF__InfoTrxs_template& other_value)
- : Record_Of_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__InfoTrxs_template::~PCUIF__InfoTrxs_template()
-{
-clean_up();
-}
-
-void PCUIF__InfoTrxs_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-free_pointers((void**)single_value.value_elements);
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::operator=(null_type)
-{
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-return *this;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::operator=(const PCUIF__InfoTrxs& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::operator=(const OPTIONAL<PCUIF__InfoTrxs>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__InfoTrxs&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-}
-return *this;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::operator=(const PCUIF__InfoTrxs_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrxs_template::operator[](int index_value)
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @PCUIF_Types.PCUIF_InfoTrxs using a negative index: %d.", index_value);
-switch (template_selection)
-{
- case SPECIFIC_VALUE:
- if(index_value < single_value.n_elements) break;
- // no break
- case OMIT_VALUE:
- case ANY_VALUE:
- case ANY_OR_OMIT:
- case UNINITIALIZED_TEMPLATE:
- set_size(index_value + 1);
- break;
- default:
- TTCN_error("Accessing an element of a non-specific template for type @PCUIF_Types.PCUIF_InfoTrxs.");
- break;
-}
-return *single_value.value_elements[index_value];
-}
-
-PCUIF__InfoTrx_template& PCUIF__InfoTrxs_template::operator[](const INTEGER& index_value)
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return (*this)[(int)index_value];
-}
-
-const PCUIF__InfoTrx_template& PCUIF__InfoTrxs_template::operator[](int index_value) const
-{
-if (index_value < 0) TTCN_error("Accessing an element of a template for type @PCUIF_Types.PCUIF_InfoTrxs using a negative index: %d.", index_value);
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing an element of a non-specific template for type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (index_value >= single_value.n_elements) TTCN_error("Index overflow in a template of type @PCUIF_Types.PCUIF_InfoTrxs: The index is %d, but the template has only %d elements.", index_value, single_value.n_elements);
-return *single_value.value_elements[index_value];
-}
-
-const PCUIF__InfoTrx_template& PCUIF__InfoTrxs_template::operator[](const INTEGER& index_value) const
-{
-index_value.must_bound("Using an unbound integer value for indexing a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return (*this)[(int)index_value];
-}
-
-void PCUIF__InfoTrxs_template::set_size(int new_size)
-{
-if (new_size < 0) TTCN_error("Internal error: Setting a negative size for a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-template_sel old_selection = template_selection;
-if (old_selection != SPECIFIC_VALUE) {
-clean_up();
-set_selection(SPECIFIC_VALUE);
-single_value.n_elements = 0;
-single_value.value_elements = NULL;
-}
-if (new_size > single_value.n_elements) {
-single_value.value_elements = (PCUIF__InfoTrx_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template(ANY_VALUE);
-} else {
-for (int elem_count = single_value.n_elements; elem_count < new_size; elem_count++)
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template;
-}
-single_value.n_elements = new_size;
-} else if (new_size < single_value.n_elements) {
-for (int elem_count = new_size; elem_count < single_value.n_elements; elem_count++)
-delete single_value.value_elements[elem_count];
-single_value.value_elements = (PCUIF__InfoTrx_template**)reallocate_pointers((void**)single_value.value_elements, single_value.n_elements, new_size);
-single_value.n_elements = new_size;
-}
-}
-
-int PCUIF__InfoTrxs_template::n_elem() const
-{
- switch (template_selection) {
- case SPECIFIC_VALUE:
- return single_value.n_elements;
- break;
- case VALUE_LIST:
- return value_list.n_values;
- break;
- default:
- TTCN_error("Performing n_elem");
- }
-}
-
-int PCUIF__InfoTrxs_template::size_of(boolean is_size) const
-{
-const char* op_name = is_size ? "size" : "length";
-int min_size;
-boolean has_any_or_none;
-if (is_ifpresent) TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs which has an ifpresent attribute.", op_name);
-switch (template_selection)
-{
-case SPECIFIC_VALUE: {
- min_size = 0;
- has_any_or_none = FALSE;
- int elem_count = single_value.n_elements;
- if (!is_size) { while (elem_count>0 && !single_value.value_elements[elem_count-1]->is_bound()) elem_count--; }
- for (int i=0; i<elem_count; i++) {
- switch (single_value.value_elements[i]->get_selection()) {
- case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs containing omit element.", op_name);
- case ANY_OR_OMIT:
- has_any_or_none = TRUE;
- break;
- default:
- min_size++;
- break;
- }
- }
-} break;
-case OMIT_VALUE:
- TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs containing omit value.", op_name);
-case ANY_VALUE:
-case ANY_OR_OMIT:
- min_size = 0;
- has_any_or_none = TRUE;
- break;
-case VALUE_LIST:
-{
- if (value_list.n_values<1)
- TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs containing an empty list.", op_name);
- int item_size = value_list.list_value[0].size_of(is_size);
- for (unsigned int i = 1; i < value_list.n_values; i++) {
- if (value_list.list_value[i].size_of(is_size)!=item_size)
- TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs containing a value list with different sizes.", op_name);
- }
- min_size = item_size;
- has_any_or_none = FALSE;
- break;
-}
-case COMPLEMENTED_LIST:
- TTCN_error("Performing %sof() operation on a template of type @PCUIF_Types.PCUIF_InfoTrxs containing complemented list.", op_name);
-default:
- TTCN_error("Performing %sof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrxs.", op_name);
-}
-return check_section_is_single(min_size, has_any_or_none, op_name, "a", "template of type @PCUIF_Types.PCUIF_InfoTrxs");
-}
-
-boolean PCUIF__InfoTrxs_template::match(const PCUIF__InfoTrxs& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-int value_length = other_value.size_of();
-if (!match_length(value_length)) return FALSE;
-switch (template_selection) {
-case SPECIFIC_VALUE:
-return match_record_of(&other_value, value_length, this, single_value.n_elements, match_function_specific, legacy);
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching with an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-}
-return FALSE;
-}
-
-boolean PCUIF__InfoTrxs_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (!single_value.value_elements[elem_count]->is_value()) return FALSE;
-return TRUE;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-PCUIF__InfoTrxs ret_val;
-ret_val.set_size(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-if (single_value.value_elements[elem_count]->is_bound()) {
-ret_val[elem_count] = single_value.value_elements[elem_count]->valueof();
-}
-return ret_val;
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs_template::substr(int index, int returncount) const
-{
-if (!is_value()) TTCN_error("The first argument of function substr() is a template with non-specific value.");
-return valueof().substr(index, returncount);
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs_template::replace(int index, int len, const PCUIF__InfoTrxs_template& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-if (!repl.is_value()) TTCN_error("The fourth argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl.valueof());
-}
-
-PCUIF__InfoTrxs PCUIF__InfoTrxs_template::replace(int index, int len, const PCUIF__InfoTrxs& repl) const
-{
-if (!is_value()) TTCN_error("The first argument of function replace() is a template with non-specific value.");
-return valueof().replace(index, len, repl);
-}
-
-void PCUIF__InfoTrxs_template::set_type(template_sel template_type, unsigned int list_length)
-{
-clean_up();
-switch (template_type) {
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__InfoTrxs_template[list_length];
-break;
-default:
-TTCN_error("Internal error: Setting an invalid type for a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-}
-set_selection(template_type);
-}
-
-PCUIF__InfoTrxs_template& PCUIF__InfoTrxs_template::list_item(unsigned int list_index)
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return value_list.list_value[list_index];
-}
-
-void PCUIF__InfoTrxs_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.n_elements > 0) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-if (permutation_starts_at(elem_count)) TTCN_Logger::log_event_str("permutation(");
-single_value.value_elements[elem_count]->log();
-if (permutation_ends_at(elem_count)) TTCN_Logger::log_char(')');
-}
-TTCN_Logger::log_event_str(" }");
-} else TTCN_Logger::log_event_str("{ }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_restricted();
-log_ifpresent();
-}
-
-void PCUIF__InfoTrxs_template::log_match(const PCUIF__InfoTrxs& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-}else{
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if(!single_value.value_elements[elem_count]->match(match_value[elem_count], legacy)){
-TTCN_Logger::log_logmatch_info("[%d]", elem_count);
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}
-log_match_length(single_value.n_elements);
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.n_elements > 0 && get_number_of_permutations() == 0 && single_value.n_elements == match_value.size_of()) {
-TTCN_Logger::log_event_str("{ ");
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-if (elem_count > 0) TTCN_Logger::log_event_str(", ");
-single_value.value_elements[elem_count]->log_match(match_value[elem_count], legacy);
-}
-TTCN_Logger::log_event_str(" }");
-log_match_length(single_value.n_elements);
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__InfoTrxs_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-text_buf.push_int(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++)
-single_value.value_elements[elem_count]->encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-}
-}
-
-void PCUIF__InfoTrxs_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_permutation(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value.n_elements = text_buf.pull_int().get_val();
-if (single_value.n_elements < 0) TTCN_error("Text decoder: Negative size was received for a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-single_value.value_elements = (PCUIF__InfoTrx_template**)allocate_pointers(single_value.n_elements);
-for (int elem_count = 0; elem_count < single_value.n_elements; elem_count++) {
-single_value.value_elements[elem_count] = new PCUIF__InfoTrx_template;
-single_value.value_elements[elem_count]->decode_text(text_buf);
-}
-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 PCUIF__InfoTrxs_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received for a template of type @PCUIF_Types.PCUIF_InfoTrxs.");
-}
-}
-
-boolean PCUIF__InfoTrxs_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__InfoTrxs_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int i=0; i<value_list.n_values; i++)
-if (value_list.list_value[i].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__InfoTrxs_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE|Module_Param::BC_LIST, "record of template");
- switch (param.get_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: {
- PCUIF__InfoTrxs_template temp;
- temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = temp;
- break; }
- case Module_Param::MP_Indexed_List:
- if (template_selection!=SPECIFIC_VALUE) set_size(0);
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- (*this)[(int)(param.get_elem(p_i)->get_id()->get_index())].set_param(*param.get_elem(p_i));
- }
- break;
- case Module_Param::MP_Value_List: {
- set_size(param.get_size());
- int curr_idx = 0;
- for (size_t p_i=0; p_i<param.get_size(); ++p_i) {
- switch (param.get_elem(p_i)->get_type()) {
- case Module_Param::MP_NotUsed:
- curr_idx++;
- break;
- case Module_Param::MP_Permutation_Template: {
- int perm_start_idx = curr_idx;
- Module_Param* param_i = param.get_elem(p_i);
- for (size_t perm_i=0; perm_i<param_i->get_size(); perm_i++) {
- (*this)[curr_idx].set_param(*(param_i->get_elem(perm_i)));
- curr_idx++;
- }
- int perm_end_idx = curr_idx - 1;
- add_permutation(perm_start_idx, perm_end_idx);
- } break;
- default:
- (*this)[curr_idx].set_param(*param.get_elem(p_i));
- curr_idx++;
- }
- }
- } break;
- default:
- param.type_error("record of template", "@PCUIF_Types.PCUIF_InfoTrxs");
- }
- is_ifpresent = param.get_ifpresent();
- set_length_range(param);
-}
-
-void PCUIF__InfoTrxs_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-for (int i=0; i<single_value.n_elements; i++) single_value.value_elements[i]->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_InfoTrxs");
-return;
-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 : "@PCUIF_Types.PCUIF_InfoTrxs");
-}
-
-boolean PCUIF__InfoTrxs_template::get_istemplate_kind(const char* type) const {
-if (!strcmp(type, "AnyElement")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_VALUE) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "AnyElementsOrNone")) {
- if (template_selection != SPECIFIC_VALUE) {
- return FALSE;
- }
- for (int i = 0; i < single_value.n_elements; i++) {
- if (single_value.value_elements[i]->get_selection() == ANY_OR_OMIT) {
- return TRUE;
- }
- }
- return FALSE;
-} else if (!strcmp(type, "permutation")) {
- return number_of_permutations;
-} else if (!strcmp(type, "length")) {
- return length_restriction_type != NO_LENGTH_RESTRICTION;
-} else {
- return Base_Template::get_istemplate_kind(type);
-}
-}
-PCUIF__info__ind::PCUIF__info__ind()
-{
-}
-
-PCUIF__info__ind::PCUIF__info__ind(const INTEGER& par_version,
- const PCUIF__Flags& par_flags,
- const PCUIF__InfoTrxs& par_trx,
- const INTEGER& par_bsic,
- const INTEGER& par_mcc,
- const INTEGER& par_mnc,
- const INTEGER& par_mnc__3__digits,
- const INTEGER& par_lac,
- const INTEGER& par_rac,
- const INTEGER& par_nsei,
- const PCUIF__info__ind_nse__timer& par_nse__timer,
- const PCUIF__info__ind_cell__timer& par_cell__timer,
- const INTEGER& par_cell__id,
- const INTEGER& par_repeat__time,
- const INTEGER& par_repeat__count,
- const INTEGER& par_bvci,
- const INTEGER& par_t3142,
- const INTEGER& par_t3169,
- const INTEGER& par_t3191,
- const INTEGER& par_t3193__10ms,
- const INTEGER& par_t3195,
- const INTEGER& par_t3101,
- const INTEGER& par_t3103,
- const INTEGER& par_t3105,
- const INTEGER& par_cv__countdown,
- const INTEGER& par_dl__tbf__ext,
- const INTEGER& par_ul__tbf__ext,
- const INTEGER& par_initial__cs,
- const INTEGER& par_initial__mcs,
- const PCUIF__info__ind_nsvci& par_nsvci,
- const PCUIF__info__ind_local__pprt& par_local__pprt,
- const PCUIF__info__ind_remote__port& par_remote__port,
- const PCUIF__info__ind_remote__ip& par_remote__ip)
- : field_version(par_version),
- field_flags(par_flags),
- field_trx(par_trx),
- field_bsic(par_bsic),
- field_mcc(par_mcc),
- field_mnc(par_mnc),
- field_mnc__3__digits(par_mnc__3__digits),
- field_lac(par_lac),
- field_rac(par_rac),
- field_nsei(par_nsei),
- field_nse__timer(par_nse__timer),
- field_cell__timer(par_cell__timer),
- field_cell__id(par_cell__id),
- field_repeat__time(par_repeat__time),
- field_repeat__count(par_repeat__count),
- field_bvci(par_bvci),
- field_t3142(par_t3142),
- field_t3169(par_t3169),
- field_t3191(par_t3191),
- field_t3193__10ms(par_t3193__10ms),
- field_t3195(par_t3195),
- field_t3101(par_t3101),
- field_t3103(par_t3103),
- field_t3105(par_t3105),
- field_cv__countdown(par_cv__countdown),
- field_dl__tbf__ext(par_dl__tbf__ext),
- field_ul__tbf__ext(par_ul__tbf__ext),
- field_initial__cs(par_initial__cs),
- field_initial__mcs(par_initial__mcs),
- field_nsvci(par_nsvci),
- field_local__pprt(par_local__pprt),
- field_remote__port(par_remote__port),
- field_remote__ip(par_remote__ip)
-{
-}
-
-PCUIF__info__ind::PCUIF__info__ind(const PCUIF__info__ind& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_info_ind.");
-if (other_value.version().is_bound()) field_version = other_value.version();
-else field_version.clean_up();
-if (other_value.flags().is_bound()) field_flags = other_value.flags();
-else field_flags.clean_up();
-if (other_value.trx().is_bound()) field_trx = other_value.trx();
-else field_trx.clean_up();
-if (other_value.bsic().is_bound()) field_bsic = other_value.bsic();
-else field_bsic.clean_up();
-if (other_value.mcc().is_bound()) field_mcc = other_value.mcc();
-else field_mcc.clean_up();
-if (other_value.mnc().is_bound()) field_mnc = other_value.mnc();
-else field_mnc.clean_up();
-if (other_value.mnc__3__digits().is_bound()) field_mnc__3__digits = other_value.mnc__3__digits();
-else field_mnc__3__digits.clean_up();
-if (other_value.lac().is_bound()) field_lac = other_value.lac();
-else field_lac.clean_up();
-if (other_value.rac().is_bound()) field_rac = other_value.rac();
-else field_rac.clean_up();
-if (other_value.nsei().is_bound()) field_nsei = other_value.nsei();
-else field_nsei.clean_up();
-if (other_value.nse__timer().is_bound()) field_nse__timer = other_value.nse__timer();
-else field_nse__timer.clean_up();
-if (other_value.cell__timer().is_bound()) field_cell__timer = other_value.cell__timer();
-else field_cell__timer.clean_up();
-if (other_value.cell__id().is_bound()) field_cell__id = other_value.cell__id();
-else field_cell__id.clean_up();
-if (other_value.repeat__time().is_bound()) field_repeat__time = other_value.repeat__time();
-else field_repeat__time.clean_up();
-if (other_value.repeat__count().is_bound()) field_repeat__count = other_value.repeat__count();
-else field_repeat__count.clean_up();
-if (other_value.bvci().is_bound()) field_bvci = other_value.bvci();
-else field_bvci.clean_up();
-if (other_value.t3142().is_bound()) field_t3142 = other_value.t3142();
-else field_t3142.clean_up();
-if (other_value.t3169().is_bound()) field_t3169 = other_value.t3169();
-else field_t3169.clean_up();
-if (other_value.t3191().is_bound()) field_t3191 = other_value.t3191();
-else field_t3191.clean_up();
-if (other_value.t3193__10ms().is_bound()) field_t3193__10ms = other_value.t3193__10ms();
-else field_t3193__10ms.clean_up();
-if (other_value.t3195().is_bound()) field_t3195 = other_value.t3195();
-else field_t3195.clean_up();
-if (other_value.t3101().is_bound()) field_t3101 = other_value.t3101();
-else field_t3101.clean_up();
-if (other_value.t3103().is_bound()) field_t3103 = other_value.t3103();
-else field_t3103.clean_up();
-if (other_value.t3105().is_bound()) field_t3105 = other_value.t3105();
-else field_t3105.clean_up();
-if (other_value.cv__countdown().is_bound()) field_cv__countdown = other_value.cv__countdown();
-else field_cv__countdown.clean_up();
-if (other_value.dl__tbf__ext().is_bound()) field_dl__tbf__ext = other_value.dl__tbf__ext();
-else field_dl__tbf__ext.clean_up();
-if (other_value.ul__tbf__ext().is_bound()) field_ul__tbf__ext = other_value.ul__tbf__ext();
-else field_ul__tbf__ext.clean_up();
-if (other_value.initial__cs().is_bound()) field_initial__cs = other_value.initial__cs();
-else field_initial__cs.clean_up();
-if (other_value.initial__mcs().is_bound()) field_initial__mcs = other_value.initial__mcs();
-else field_initial__mcs.clean_up();
-if (other_value.nsvci().is_bound()) field_nsvci = other_value.nsvci();
-else field_nsvci.clean_up();
-if (other_value.local__pprt().is_bound()) field_local__pprt = other_value.local__pprt();
-else field_local__pprt.clean_up();
-if (other_value.remote__port().is_bound()) field_remote__port = other_value.remote__port();
-else field_remote__port.clean_up();
-if (other_value.remote__ip().is_bound()) field_remote__ip = other_value.remote__ip();
-else field_remote__ip.clean_up();
-}
-
-void PCUIF__info__ind::clean_up()
-{
-field_version.clean_up();
-field_flags.clean_up();
-field_trx.clean_up();
-field_bsic.clean_up();
-field_mcc.clean_up();
-field_mnc.clean_up();
-field_mnc__3__digits.clean_up();
-field_lac.clean_up();
-field_rac.clean_up();
-field_nsei.clean_up();
-field_nse__timer.clean_up();
-field_cell__timer.clean_up();
-field_cell__id.clean_up();
-field_repeat__time.clean_up();
-field_repeat__count.clean_up();
-field_bvci.clean_up();
-field_t3142.clean_up();
-field_t3169.clean_up();
-field_t3191.clean_up();
-field_t3193__10ms.clean_up();
-field_t3195.clean_up();
-field_t3101.clean_up();
-field_t3103.clean_up();
-field_t3105.clean_up();
-field_cv__countdown.clean_up();
-field_dl__tbf__ext.clean_up();
-field_ul__tbf__ext.clean_up();
-field_initial__cs.clean_up();
-field_initial__mcs.clean_up();
-field_nsvci.clean_up();
-field_local__pprt.clean_up();
-field_remote__port.clean_up();
-field_remote__ip.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__info__ind::get_descriptor() const { return &PCUIF__info__ind_descr_; }
-PCUIF__info__ind& PCUIF__info__ind::operator=(const PCUIF__info__ind& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_info_ind.");
- if (other_value.version().is_bound()) field_version = other_value.version();
- else field_version.clean_up();
- if (other_value.flags().is_bound()) field_flags = other_value.flags();
- else field_flags.clean_up();
- if (other_value.trx().is_bound()) field_trx = other_value.trx();
- else field_trx.clean_up();
- if (other_value.bsic().is_bound()) field_bsic = other_value.bsic();
- else field_bsic.clean_up();
- if (other_value.mcc().is_bound()) field_mcc = other_value.mcc();
- else field_mcc.clean_up();
- if (other_value.mnc().is_bound()) field_mnc = other_value.mnc();
- else field_mnc.clean_up();
- if (other_value.mnc__3__digits().is_bound()) field_mnc__3__digits = other_value.mnc__3__digits();
- else field_mnc__3__digits.clean_up();
- if (other_value.lac().is_bound()) field_lac = other_value.lac();
- else field_lac.clean_up();
- if (other_value.rac().is_bound()) field_rac = other_value.rac();
- else field_rac.clean_up();
- if (other_value.nsei().is_bound()) field_nsei = other_value.nsei();
- else field_nsei.clean_up();
- if (other_value.nse__timer().is_bound()) field_nse__timer = other_value.nse__timer();
- else field_nse__timer.clean_up();
- if (other_value.cell__timer().is_bound()) field_cell__timer = other_value.cell__timer();
- else field_cell__timer.clean_up();
- if (other_value.cell__id().is_bound()) field_cell__id = other_value.cell__id();
- else field_cell__id.clean_up();
- if (other_value.repeat__time().is_bound()) field_repeat__time = other_value.repeat__time();
- else field_repeat__time.clean_up();
- if (other_value.repeat__count().is_bound()) field_repeat__count = other_value.repeat__count();
- else field_repeat__count.clean_up();
- if (other_value.bvci().is_bound()) field_bvci = other_value.bvci();
- else field_bvci.clean_up();
- if (other_value.t3142().is_bound()) field_t3142 = other_value.t3142();
- else field_t3142.clean_up();
- if (other_value.t3169().is_bound()) field_t3169 = other_value.t3169();
- else field_t3169.clean_up();
- if (other_value.t3191().is_bound()) field_t3191 = other_value.t3191();
- else field_t3191.clean_up();
- if (other_value.t3193__10ms().is_bound()) field_t3193__10ms = other_value.t3193__10ms();
- else field_t3193__10ms.clean_up();
- if (other_value.t3195().is_bound()) field_t3195 = other_value.t3195();
- else field_t3195.clean_up();
- if (other_value.t3101().is_bound()) field_t3101 = other_value.t3101();
- else field_t3101.clean_up();
- if (other_value.t3103().is_bound()) field_t3103 = other_value.t3103();
- else field_t3103.clean_up();
- if (other_value.t3105().is_bound()) field_t3105 = other_value.t3105();
- else field_t3105.clean_up();
- if (other_value.cv__countdown().is_bound()) field_cv__countdown = other_value.cv__countdown();
- else field_cv__countdown.clean_up();
- if (other_value.dl__tbf__ext().is_bound()) field_dl__tbf__ext = other_value.dl__tbf__ext();
- else field_dl__tbf__ext.clean_up();
- if (other_value.ul__tbf__ext().is_bound()) field_ul__tbf__ext = other_value.ul__tbf__ext();
- else field_ul__tbf__ext.clean_up();
- if (other_value.initial__cs().is_bound()) field_initial__cs = other_value.initial__cs();
- else field_initial__cs.clean_up();
- if (other_value.initial__mcs().is_bound()) field_initial__mcs = other_value.initial__mcs();
- else field_initial__mcs.clean_up();
- if (other_value.nsvci().is_bound()) field_nsvci = other_value.nsvci();
- else field_nsvci.clean_up();
- if (other_value.local__pprt().is_bound()) field_local__pprt = other_value.local__pprt();
- else field_local__pprt.clean_up();
- if (other_value.remote__port().is_bound()) field_remote__port = other_value.remote__port();
- else field_remote__port.clean_up();
- if (other_value.remote__ip().is_bound()) field_remote__ip = other_value.remote__ip();
- else field_remote__ip.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__info__ind::operator==(const PCUIF__info__ind& other_value) const
-{
-return field_version==other_value.field_version
- && field_flags==other_value.field_flags
- && field_trx==other_value.field_trx
- && field_bsic==other_value.field_bsic
- && field_mcc==other_value.field_mcc
- && field_mnc==other_value.field_mnc
- && field_mnc__3__digits==other_value.field_mnc__3__digits
- && field_lac==other_value.field_lac
- && field_rac==other_value.field_rac
- && field_nsei==other_value.field_nsei
- && field_nse__timer==other_value.field_nse__timer
- && field_cell__timer==other_value.field_cell__timer
- && field_cell__id==other_value.field_cell__id
- && field_repeat__time==other_value.field_repeat__time
- && field_repeat__count==other_value.field_repeat__count
- && field_bvci==other_value.field_bvci
- && field_t3142==other_value.field_t3142
- && field_t3169==other_value.field_t3169
- && field_t3191==other_value.field_t3191
- && field_t3193__10ms==other_value.field_t3193__10ms
- && field_t3195==other_value.field_t3195
- && field_t3101==other_value.field_t3101
- && field_t3103==other_value.field_t3103
- && field_t3105==other_value.field_t3105
- && field_cv__countdown==other_value.field_cv__countdown
- && field_dl__tbf__ext==other_value.field_dl__tbf__ext
- && field_ul__tbf__ext==other_value.field_ul__tbf__ext
- && field_initial__cs==other_value.field_initial__cs
- && field_initial__mcs==other_value.field_initial__mcs
- && field_nsvci==other_value.field_nsvci
- && field_local__pprt==other_value.field_local__pprt
- && field_remote__port==other_value.field_remote__port
- && field_remote__ip==other_value.field_remote__ip;
-}
-
-boolean PCUIF__info__ind::is_bound() const
-{
-if(field_version.is_bound()) return TRUE;
-if(field_flags.is_bound()) return TRUE;
-if(field_trx.is_bound()) return TRUE;
-if(field_bsic.is_bound()) return TRUE;
-if(field_mcc.is_bound()) return TRUE;
-if(field_mnc.is_bound()) return TRUE;
-if(field_mnc__3__digits.is_bound()) return TRUE;
-if(field_lac.is_bound()) return TRUE;
-if(field_rac.is_bound()) return TRUE;
-if(field_nsei.is_bound()) return TRUE;
-if(field_nse__timer.is_bound()) return TRUE;
-if(field_cell__timer.is_bound()) return TRUE;
-if(field_cell__id.is_bound()) return TRUE;
-if(field_repeat__time.is_bound()) return TRUE;
-if(field_repeat__count.is_bound()) return TRUE;
-if(field_bvci.is_bound()) return TRUE;
-if(field_t3142.is_bound()) return TRUE;
-if(field_t3169.is_bound()) return TRUE;
-if(field_t3191.is_bound()) return TRUE;
-if(field_t3193__10ms.is_bound()) return TRUE;
-if(field_t3195.is_bound()) return TRUE;
-if(field_t3101.is_bound()) return TRUE;
-if(field_t3103.is_bound()) return TRUE;
-if(field_t3105.is_bound()) return TRUE;
-if(field_cv__countdown.is_bound()) return TRUE;
-if(field_dl__tbf__ext.is_bound()) return TRUE;
-if(field_ul__tbf__ext.is_bound()) return TRUE;
-if(field_initial__cs.is_bound()) return TRUE;
-if(field_initial__mcs.is_bound()) return TRUE;
-if(field_nsvci.is_bound()) return TRUE;
-if(field_local__pprt.is_bound()) return TRUE;
-if(field_remote__port.is_bound()) return TRUE;
-if(field_remote__ip.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__info__ind::is_value() const
-{
-if(!field_version.is_value()) return FALSE;
-if(!field_flags.is_value()) return FALSE;
-if(!field_trx.is_value()) return FALSE;
-if(!field_bsic.is_value()) return FALSE;
-if(!field_mcc.is_value()) return FALSE;
-if(!field_mnc.is_value()) return FALSE;
-if(!field_mnc__3__digits.is_value()) return FALSE;
-if(!field_lac.is_value()) return FALSE;
-if(!field_rac.is_value()) return FALSE;
-if(!field_nsei.is_value()) return FALSE;
-if(!field_nse__timer.is_value()) return FALSE;
-if(!field_cell__timer.is_value()) return FALSE;
-if(!field_cell__id.is_value()) return FALSE;
-if(!field_repeat__time.is_value()) return FALSE;
-if(!field_repeat__count.is_value()) return FALSE;
-if(!field_bvci.is_value()) return FALSE;
-if(!field_t3142.is_value()) return FALSE;
-if(!field_t3169.is_value()) return FALSE;
-if(!field_t3191.is_value()) return FALSE;
-if(!field_t3193__10ms.is_value()) return FALSE;
-if(!field_t3195.is_value()) return FALSE;
-if(!field_t3101.is_value()) return FALSE;
-if(!field_t3103.is_value()) return FALSE;
-if(!field_t3105.is_value()) return FALSE;
-if(!field_cv__countdown.is_value()) return FALSE;
-if(!field_dl__tbf__ext.is_value()) return FALSE;
-if(!field_ul__tbf__ext.is_value()) return FALSE;
-if(!field_initial__cs.is_value()) return FALSE;
-if(!field_initial__mcs.is_value()) return FALSE;
-if(!field_nsvci.is_value()) return FALSE;
-if(!field_local__pprt.is_value()) return FALSE;
-if(!field_remote__port.is_value()) return FALSE;
-if(!field_remote__ip.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__info__ind::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ version := ");
-field_version.log();
-TTCN_Logger::log_event_str(", flags := ");
-field_flags.log();
-TTCN_Logger::log_event_str(", trx := ");
-field_trx.log();
-TTCN_Logger::log_event_str(", bsic := ");
-field_bsic.log();
-TTCN_Logger::log_event_str(", mcc := ");
-field_mcc.log();
-TTCN_Logger::log_event_str(", mnc := ");
-field_mnc.log();
-TTCN_Logger::log_event_str(", mnc_3_digits := ");
-field_mnc__3__digits.log();
-TTCN_Logger::log_event_str(", lac := ");
-field_lac.log();
-TTCN_Logger::log_event_str(", rac := ");
-field_rac.log();
-TTCN_Logger::log_event_str(", nsei := ");
-field_nsei.log();
-TTCN_Logger::log_event_str(", nse_timer := ");
-field_nse__timer.log();
-TTCN_Logger::log_event_str(", cell_timer := ");
-field_cell__timer.log();
-TTCN_Logger::log_event_str(", cell_id := ");
-field_cell__id.log();
-TTCN_Logger::log_event_str(", repeat_time := ");
-field_repeat__time.log();
-TTCN_Logger::log_event_str(", repeat_count := ");
-field_repeat__count.log();
-TTCN_Logger::log_event_str(", bvci := ");
-field_bvci.log();
-TTCN_Logger::log_event_str(", t3142 := ");
-field_t3142.log();
-TTCN_Logger::log_event_str(", t3169 := ");
-field_t3169.log();
-TTCN_Logger::log_event_str(", t3191 := ");
-field_t3191.log();
-TTCN_Logger::log_event_str(", t3193_10ms := ");
-field_t3193__10ms.log();
-TTCN_Logger::log_event_str(", t3195 := ");
-field_t3195.log();
-TTCN_Logger::log_event_str(", t3101 := ");
-field_t3101.log();
-TTCN_Logger::log_event_str(", t3103 := ");
-field_t3103.log();
-TTCN_Logger::log_event_str(", t3105 := ");
-field_t3105.log();
-TTCN_Logger::log_event_str(", cv_countdown := ");
-field_cv__countdown.log();
-TTCN_Logger::log_event_str(", dl_tbf_ext := ");
-field_dl__tbf__ext.log();
-TTCN_Logger::log_event_str(", ul_tbf_ext := ");
-field_ul__tbf__ext.log();
-TTCN_Logger::log_event_str(", initial_cs := ");
-field_initial__cs.log();
-TTCN_Logger::log_event_str(", initial_mcs := ");
-field_initial__mcs.log();
-TTCN_Logger::log_event_str(", nsvci := ");
-field_nsvci.log();
-TTCN_Logger::log_event_str(", local_pprt := ");
-field_local__pprt.log();
-TTCN_Logger::log_event_str(", remote_port := ");
-field_remote__port.log();
-TTCN_Logger::log_event_str(", remote_ip := ");
-field_remote__ip.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__info__ind::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (33<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_info_ind has 33 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) version().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) flags().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) trx().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) bsic().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) mcc().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) mnc().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) mnc__3__digits().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) lac().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) rac().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) nsei().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) nse__timer().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) cell__timer().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) cell__id().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) repeat__time().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) repeat__count().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) bvci().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) t3142().set_param(*param.get_elem(16));
- if (param.get_size()>17 && param.get_elem(17)->get_type()!=Module_Param::MP_NotUsed) t3169().set_param(*param.get_elem(17));
- if (param.get_size()>18 && param.get_elem(18)->get_type()!=Module_Param::MP_NotUsed) t3191().set_param(*param.get_elem(18));
- if (param.get_size()>19 && param.get_elem(19)->get_type()!=Module_Param::MP_NotUsed) t3193__10ms().set_param(*param.get_elem(19));
- if (param.get_size()>20 && param.get_elem(20)->get_type()!=Module_Param::MP_NotUsed) t3195().set_param(*param.get_elem(20));
- if (param.get_size()>21 && param.get_elem(21)->get_type()!=Module_Param::MP_NotUsed) t3101().set_param(*param.get_elem(21));
- if (param.get_size()>22 && param.get_elem(22)->get_type()!=Module_Param::MP_NotUsed) t3103().set_param(*param.get_elem(22));
- if (param.get_size()>23 && param.get_elem(23)->get_type()!=Module_Param::MP_NotUsed) t3105().set_param(*param.get_elem(23));
- if (param.get_size()>24 && param.get_elem(24)->get_type()!=Module_Param::MP_NotUsed) cv__countdown().set_param(*param.get_elem(24));
- if (param.get_size()>25 && param.get_elem(25)->get_type()!=Module_Param::MP_NotUsed) dl__tbf__ext().set_param(*param.get_elem(25));
- if (param.get_size()>26 && param.get_elem(26)->get_type()!=Module_Param::MP_NotUsed) ul__tbf__ext().set_param(*param.get_elem(26));
- if (param.get_size()>27 && param.get_elem(27)->get_type()!=Module_Param::MP_NotUsed) initial__cs().set_param(*param.get_elem(27));
- if (param.get_size()>28 && param.get_elem(28)->get_type()!=Module_Param::MP_NotUsed) initial__mcs().set_param(*param.get_elem(28));
- if (param.get_size()>29 && param.get_elem(29)->get_type()!=Module_Param::MP_NotUsed) nsvci().set_param(*param.get_elem(29));
- if (param.get_size()>30 && param.get_elem(30)->get_type()!=Module_Param::MP_NotUsed) local__pprt().set_param(*param.get_elem(30));
- if (param.get_size()>31 && param.get_elem(31)->get_type()!=Module_Param::MP_NotUsed) remote__port().set_param(*param.get_elem(31));
- if (param.get_size()>32 && param.get_elem(32)->get_type()!=Module_Param::MP_NotUsed) remote__ip().set_param(*param.get_elem(32));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "version")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- version().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "flags")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- flags().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bsic")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bsic().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mnc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mnc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mnc_3_digits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mnc__3__digits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lac")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lac().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rac")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rac().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nsei")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nsei().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nse_timer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nse__timer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cell_timer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cell__timer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cell_id")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cell__id().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "repeat_time")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- repeat__time().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "repeat_count")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- repeat__count().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bvci")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bvci().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3142")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3142().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3169")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3169().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3191")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3191().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3193_10ms")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3193__10ms().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3195")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3195().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3101")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3101().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3103")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3103().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3105")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3105().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cv_countdown")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cv__countdown().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "dl_tbf_ext")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- dl__tbf__ext().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ul_tbf_ext")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ul__tbf__ext().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "initial_cs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- initial__cs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "initial_mcs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- initial__mcs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nsvci")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nsvci().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "local_pprt")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- local__pprt().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "remote_port")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- remote__port().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "remote_ip")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- remote__ip().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_info_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_info_ind");
- }
-}
-
-void PCUIF__info__ind::set_implicit_omit()
-{
-if (version().is_bound()) version().set_implicit_omit();
-if (flags().is_bound()) flags().set_implicit_omit();
-if (trx().is_bound()) trx().set_implicit_omit();
-if (bsic().is_bound()) bsic().set_implicit_omit();
-if (mcc().is_bound()) mcc().set_implicit_omit();
-if (mnc().is_bound()) mnc().set_implicit_omit();
-if (mnc__3__digits().is_bound()) mnc__3__digits().set_implicit_omit();
-if (lac().is_bound()) lac().set_implicit_omit();
-if (rac().is_bound()) rac().set_implicit_omit();
-if (nsei().is_bound()) nsei().set_implicit_omit();
-if (nse__timer().is_bound()) nse__timer().set_implicit_omit();
-if (cell__timer().is_bound()) cell__timer().set_implicit_omit();
-if (cell__id().is_bound()) cell__id().set_implicit_omit();
-if (repeat__time().is_bound()) repeat__time().set_implicit_omit();
-if (repeat__count().is_bound()) repeat__count().set_implicit_omit();
-if (bvci().is_bound()) bvci().set_implicit_omit();
-if (t3142().is_bound()) t3142().set_implicit_omit();
-if (t3169().is_bound()) t3169().set_implicit_omit();
-if (t3191().is_bound()) t3191().set_implicit_omit();
-if (t3193__10ms().is_bound()) t3193__10ms().set_implicit_omit();
-if (t3195().is_bound()) t3195().set_implicit_omit();
-if (t3101().is_bound()) t3101().set_implicit_omit();
-if (t3103().is_bound()) t3103().set_implicit_omit();
-if (t3105().is_bound()) t3105().set_implicit_omit();
-if (cv__countdown().is_bound()) cv__countdown().set_implicit_omit();
-if (dl__tbf__ext().is_bound()) dl__tbf__ext().set_implicit_omit();
-if (ul__tbf__ext().is_bound()) ul__tbf__ext().set_implicit_omit();
-if (initial__cs().is_bound()) initial__cs().set_implicit_omit();
-if (initial__mcs().is_bound()) initial__mcs().set_implicit_omit();
-if (nsvci().is_bound()) nsvci().set_implicit_omit();
-if (local__pprt().is_bound()) local__pprt().set_implicit_omit();
-if (remote__port().is_bound()) remote__port().set_implicit_omit();
-if (remote__ip().is_bound()) remote__ip().set_implicit_omit();
-}
-
-void PCUIF__info__ind::encode_text(Text_Buf& text_buf) const
-{
-field_version.encode_text(text_buf);
-field_flags.encode_text(text_buf);
-field_trx.encode_text(text_buf);
-field_bsic.encode_text(text_buf);
-field_mcc.encode_text(text_buf);
-field_mnc.encode_text(text_buf);
-field_mnc__3__digits.encode_text(text_buf);
-field_lac.encode_text(text_buf);
-field_rac.encode_text(text_buf);
-field_nsei.encode_text(text_buf);
-field_nse__timer.encode_text(text_buf);
-field_cell__timer.encode_text(text_buf);
-field_cell__id.encode_text(text_buf);
-field_repeat__time.encode_text(text_buf);
-field_repeat__count.encode_text(text_buf);
-field_bvci.encode_text(text_buf);
-field_t3142.encode_text(text_buf);
-field_t3169.encode_text(text_buf);
-field_t3191.encode_text(text_buf);
-field_t3193__10ms.encode_text(text_buf);
-field_t3195.encode_text(text_buf);
-field_t3101.encode_text(text_buf);
-field_t3103.encode_text(text_buf);
-field_t3105.encode_text(text_buf);
-field_cv__countdown.encode_text(text_buf);
-field_dl__tbf__ext.encode_text(text_buf);
-field_ul__tbf__ext.encode_text(text_buf);
-field_initial__cs.encode_text(text_buf);
-field_initial__mcs.encode_text(text_buf);
-field_nsvci.encode_text(text_buf);
-field_local__pprt.encode_text(text_buf);
-field_remote__port.encode_text(text_buf);
-field_remote__ip.encode_text(text_buf);
-}
-
-void PCUIF__info__ind::decode_text(Text_Buf& text_buf)
-{
-field_version.decode_text(text_buf);
-field_flags.decode_text(text_buf);
-field_trx.decode_text(text_buf);
-field_bsic.decode_text(text_buf);
-field_mcc.decode_text(text_buf);
-field_mnc.decode_text(text_buf);
-field_mnc__3__digits.decode_text(text_buf);
-field_lac.decode_text(text_buf);
-field_rac.decode_text(text_buf);
-field_nsei.decode_text(text_buf);
-field_nse__timer.decode_text(text_buf);
-field_cell__timer.decode_text(text_buf);
-field_cell__id.decode_text(text_buf);
-field_repeat__time.decode_text(text_buf);
-field_repeat__count.decode_text(text_buf);
-field_bvci.decode_text(text_buf);
-field_t3142.decode_text(text_buf);
-field_t3169.decode_text(text_buf);
-field_t3191.decode_text(text_buf);
-field_t3193__10ms.decode_text(text_buf);
-field_t3195.decode_text(text_buf);
-field_t3101.decode_text(text_buf);
-field_t3103.decode_text(text_buf);
-field_t3105.decode_text(text_buf);
-field_cv__countdown.decode_text(text_buf);
-field_dl__tbf__ext.decode_text(text_buf);
-field_ul__tbf__ext.decode_text(text_buf);
-field_initial__cs.decode_text(text_buf);
-field_initial__mcs.decode_text(text_buf);
-field_nsvci.decode_text(text_buf);
-field_local__pprt.decode_text(text_buf);
-field_remote__port.decode_text(text_buf);
-field_remote__ip.decode_text(text_buf);
-}
-
-void PCUIF__info__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__info__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__info__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__info__ind_version_descr_.raw->forceomit);
- decoded_field_length = field_version.RAW_decode(PCUIF__info__ind_version_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__info__ind_flags_descr_.raw->forceomit);
- decoded_field_length = field_flags.RAW_decode(PCUIF__info__ind_flags_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__info__ind_trx_descr_.raw->forceomit);
- decoded_field_length = field_trx.RAW_decode(PCUIF__info__ind_trx_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__info__ind_bsic_descr_.raw->forceomit);
- decoded_field_length = field_bsic.RAW_decode(PCUIF__info__ind_bsic_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__info__ind_mcc_descr_.raw->forceomit);
- decoded_field_length = field_mcc.RAW_decode(PCUIF__info__ind_mcc_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_4_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__info__ind_mnc_descr_.raw->forceomit);
- decoded_field_length = field_mnc.RAW_decode(PCUIF__info__ind_mnc_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_5_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__info__ind_mnc__3__digits_descr_.raw->forceomit);
- decoded_field_length = field_mnc__3__digits.RAW_decode(PCUIF__info__ind_mnc__3__digits_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_6_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_7_force_omit(7, force_omit, PCUIF__info__ind_lac_descr_.raw->forceomit);
- decoded_field_length = field_lac.RAW_decode(PCUIF__info__ind_lac_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_7_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_8_force_omit(8, force_omit, PCUIF__info__ind_rac_descr_.raw->forceomit);
- decoded_field_length = field_rac.RAW_decode(PCUIF__info__ind_rac_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_8_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_9_force_omit(9, force_omit, PCUIF__info__ind_nsei_descr_.raw->forceomit);
- decoded_field_length = field_nsei.RAW_decode(PCUIF__info__ind_nsei_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_9_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_10_force_omit(10, force_omit, PCUIF__info__ind_nse__timer_descr_.raw->forceomit);
- decoded_field_length = field_nse__timer.RAW_decode(PCUIF__info__ind_nse__timer_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_10_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_11_force_omit(11, force_omit, PCUIF__info__ind_cell__timer_descr_.raw->forceomit);
- decoded_field_length = field_cell__timer.RAW_decode(PCUIF__info__ind_cell__timer_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_11_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_12_force_omit(12, force_omit, PCUIF__info__ind_cell__id_descr_.raw->forceomit);
- decoded_field_length = field_cell__id.RAW_decode(PCUIF__info__ind_cell__id_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_12_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_13_force_omit(13, force_omit, PCUIF__info__ind_repeat__time_descr_.raw->forceomit);
- decoded_field_length = field_repeat__time.RAW_decode(PCUIF__info__ind_repeat__time_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_13_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_14_force_omit(14, force_omit, PCUIF__info__ind_repeat__count_descr_.raw->forceomit);
- decoded_field_length = field_repeat__count.RAW_decode(PCUIF__info__ind_repeat__count_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_14_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_15_force_omit(15, force_omit, PCUIF__info__ind_bvci_descr_.raw->forceomit);
- decoded_field_length = field_bvci.RAW_decode(PCUIF__info__ind_bvci_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_15_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_16_force_omit(16, force_omit, PCUIF__info__ind_t3142_descr_.raw->forceomit);
- decoded_field_length = field_t3142.RAW_decode(PCUIF__info__ind_t3142_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_16_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_17_force_omit(17, force_omit, PCUIF__info__ind_t3169_descr_.raw->forceomit);
- decoded_field_length = field_t3169.RAW_decode(PCUIF__info__ind_t3169_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_17_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_18_force_omit(18, force_omit, PCUIF__info__ind_t3191_descr_.raw->forceomit);
- decoded_field_length = field_t3191.RAW_decode(PCUIF__info__ind_t3191_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_18_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_19_force_omit(19, force_omit, PCUIF__info__ind_t3193__10ms_descr_.raw->forceomit);
- decoded_field_length = field_t3193__10ms.RAW_decode(PCUIF__info__ind_t3193__10ms_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_19_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_20_force_omit(20, force_omit, PCUIF__info__ind_t3195_descr_.raw->forceomit);
- decoded_field_length = field_t3195.RAW_decode(PCUIF__info__ind_t3195_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_20_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_21_force_omit(21, force_omit, PCUIF__info__ind_t3101_descr_.raw->forceomit);
- decoded_field_length = field_t3101.RAW_decode(PCUIF__info__ind_t3101_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_21_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_22_force_omit(22, force_omit, PCUIF__info__ind_t3103_descr_.raw->forceomit);
- decoded_field_length = field_t3103.RAW_decode(PCUIF__info__ind_t3103_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_22_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_23_force_omit(23, force_omit, PCUIF__info__ind_t3105_descr_.raw->forceomit);
- decoded_field_length = field_t3105.RAW_decode(PCUIF__info__ind_t3105_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_23_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_24_force_omit(24, force_omit, PCUIF__info__ind_cv__countdown_descr_.raw->forceomit);
- decoded_field_length = field_cv__countdown.RAW_decode(PCUIF__info__ind_cv__countdown_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_24_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_25_force_omit(25, force_omit, PCUIF__info__ind_dl__tbf__ext_descr_.raw->forceomit);
- decoded_field_length = field_dl__tbf__ext.RAW_decode(PCUIF__info__ind_dl__tbf__ext_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_25_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_26_force_omit(26, force_omit, PCUIF__info__ind_ul__tbf__ext_descr_.raw->forceomit);
- decoded_field_length = field_ul__tbf__ext.RAW_decode(PCUIF__info__ind_ul__tbf__ext_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_26_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_27_force_omit(27, force_omit, PCUIF__info__ind_initial__cs_descr_.raw->forceomit);
- decoded_field_length = field_initial__cs.RAW_decode(PCUIF__info__ind_initial__cs_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_27_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_28_force_omit(28, force_omit, PCUIF__info__ind_initial__mcs_descr_.raw->forceomit);
- decoded_field_length = field_initial__mcs.RAW_decode(PCUIF__info__ind_initial__mcs_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_28_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_29_force_omit(29, force_omit, PCUIF__info__ind_nsvci_descr_.raw->forceomit);
- decoded_field_length = field_nsvci.RAW_decode(PCUIF__info__ind_nsvci_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_29_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_30_force_omit(30, force_omit, PCUIF__info__ind_local__pprt_descr_.raw->forceomit);
- decoded_field_length = field_local__pprt.RAW_decode(PCUIF__info__ind_local__pprt_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_30_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_31_force_omit(31, force_omit, PCUIF__info__ind_remote__port_descr_.raw->forceomit);
- decoded_field_length = field_remote__port.RAW_decode(PCUIF__info__ind_remote__port_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_31_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_32_force_omit(32, force_omit, PCUIF__info__ind_remote__ip_descr_.raw->forceomit);
- decoded_field_length = field_remote__ip.RAW_decode(PCUIF__info__ind_remote__ip_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_32_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__info__ind::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 33;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(33);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__info__ind_version_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__info__ind_flags_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__info__ind_trx_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__info__ind_bsic_descr_.raw);
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 4, PCUIF__info__ind_mcc_descr_.raw);
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 5, PCUIF__info__ind_mnc_descr_.raw);
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 6, PCUIF__info__ind_mnc__3__digits_descr_.raw);
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 7, PCUIF__info__ind_lac_descr_.raw);
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 8, PCUIF__info__ind_rac_descr_.raw);
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 9, PCUIF__info__ind_nsei_descr_.raw);
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 10, PCUIF__info__ind_nse__timer_descr_.raw);
- myleaf.body.node.nodes[11] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 11, PCUIF__info__ind_cell__timer_descr_.raw);
- myleaf.body.node.nodes[12] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 12, PCUIF__info__ind_cell__id_descr_.raw);
- myleaf.body.node.nodes[13] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 13, PCUIF__info__ind_repeat__time_descr_.raw);
- myleaf.body.node.nodes[14] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 14, PCUIF__info__ind_repeat__count_descr_.raw);
- myleaf.body.node.nodes[15] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 15, PCUIF__info__ind_bvci_descr_.raw);
- myleaf.body.node.nodes[16] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 16, PCUIF__info__ind_t3142_descr_.raw);
- myleaf.body.node.nodes[17] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 17, PCUIF__info__ind_t3169_descr_.raw);
- myleaf.body.node.nodes[18] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 18, PCUIF__info__ind_t3191_descr_.raw);
- myleaf.body.node.nodes[19] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 19, PCUIF__info__ind_t3193__10ms_descr_.raw);
- myleaf.body.node.nodes[20] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 20, PCUIF__info__ind_t3195_descr_.raw);
- myleaf.body.node.nodes[21] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 21, PCUIF__info__ind_t3101_descr_.raw);
- myleaf.body.node.nodes[22] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 22, PCUIF__info__ind_t3103_descr_.raw);
- myleaf.body.node.nodes[23] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 23, PCUIF__info__ind_t3105_descr_.raw);
- myleaf.body.node.nodes[24] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 24, PCUIF__info__ind_cv__countdown_descr_.raw);
- myleaf.body.node.nodes[25] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 25, PCUIF__info__ind_dl__tbf__ext_descr_.raw);
- myleaf.body.node.nodes[26] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 26, PCUIF__info__ind_ul__tbf__ext_descr_.raw);
- myleaf.body.node.nodes[27] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 27, PCUIF__info__ind_initial__cs_descr_.raw);
- myleaf.body.node.nodes[28] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 28, PCUIF__info__ind_initial__mcs_descr_.raw);
- myleaf.body.node.nodes[29] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 29, PCUIF__info__ind_nsvci_descr_.raw);
- myleaf.body.node.nodes[30] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 30, PCUIF__info__ind_local__pprt_descr_.raw);
- myleaf.body.node.nodes[31] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 31, PCUIF__info__ind_remote__port_descr_.raw);
- myleaf.body.node.nodes[32] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 32, PCUIF__info__ind_remote__ip_descr_.raw);
- encoded_length += field_version.RAW_encode(PCUIF__info__ind_version_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_flags.RAW_encode(PCUIF__info__ind_flags_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_trx.RAW_encode(PCUIF__info__ind_trx_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_bsic.RAW_encode(PCUIF__info__ind_bsic_descr_, *myleaf.body.node.nodes[3]);
- encoded_length += field_mcc.RAW_encode(PCUIF__info__ind_mcc_descr_, *myleaf.body.node.nodes[4]);
- encoded_length += field_mnc.RAW_encode(PCUIF__info__ind_mnc_descr_, *myleaf.body.node.nodes[5]);
- encoded_length += field_mnc__3__digits.RAW_encode(PCUIF__info__ind_mnc__3__digits_descr_, *myleaf.body.node.nodes[6]);
- encoded_length += field_lac.RAW_encode(PCUIF__info__ind_lac_descr_, *myleaf.body.node.nodes[7]);
- encoded_length += field_rac.RAW_encode(PCUIF__info__ind_rac_descr_, *myleaf.body.node.nodes[8]);
- encoded_length += field_nsei.RAW_encode(PCUIF__info__ind_nsei_descr_, *myleaf.body.node.nodes[9]);
- encoded_length += field_nse__timer.RAW_encode(PCUIF__info__ind_nse__timer_descr_, *myleaf.body.node.nodes[10]);
- encoded_length += field_cell__timer.RAW_encode(PCUIF__info__ind_cell__timer_descr_, *myleaf.body.node.nodes[11]);
- encoded_length += field_cell__id.RAW_encode(PCUIF__info__ind_cell__id_descr_, *myleaf.body.node.nodes[12]);
- encoded_length += field_repeat__time.RAW_encode(PCUIF__info__ind_repeat__time_descr_, *myleaf.body.node.nodes[13]);
- encoded_length += field_repeat__count.RAW_encode(PCUIF__info__ind_repeat__count_descr_, *myleaf.body.node.nodes[14]);
- encoded_length += field_bvci.RAW_encode(PCUIF__info__ind_bvci_descr_, *myleaf.body.node.nodes[15]);
- encoded_length += field_t3142.RAW_encode(PCUIF__info__ind_t3142_descr_, *myleaf.body.node.nodes[16]);
- encoded_length += field_t3169.RAW_encode(PCUIF__info__ind_t3169_descr_, *myleaf.body.node.nodes[17]);
- encoded_length += field_t3191.RAW_encode(PCUIF__info__ind_t3191_descr_, *myleaf.body.node.nodes[18]);
- encoded_length += field_t3193__10ms.RAW_encode(PCUIF__info__ind_t3193__10ms_descr_, *myleaf.body.node.nodes[19]);
- encoded_length += field_t3195.RAW_encode(PCUIF__info__ind_t3195_descr_, *myleaf.body.node.nodes[20]);
- encoded_length += field_t3101.RAW_encode(PCUIF__info__ind_t3101_descr_, *myleaf.body.node.nodes[21]);
- encoded_length += field_t3103.RAW_encode(PCUIF__info__ind_t3103_descr_, *myleaf.body.node.nodes[22]);
- encoded_length += field_t3105.RAW_encode(PCUIF__info__ind_t3105_descr_, *myleaf.body.node.nodes[23]);
- encoded_length += field_cv__countdown.RAW_encode(PCUIF__info__ind_cv__countdown_descr_, *myleaf.body.node.nodes[24]);
- encoded_length += field_dl__tbf__ext.RAW_encode(PCUIF__info__ind_dl__tbf__ext_descr_, *myleaf.body.node.nodes[25]);
- encoded_length += field_ul__tbf__ext.RAW_encode(PCUIF__info__ind_ul__tbf__ext_descr_, *myleaf.body.node.nodes[26]);
- encoded_length += field_initial__cs.RAW_encode(PCUIF__info__ind_initial__cs_descr_, *myleaf.body.node.nodes[27]);
- encoded_length += field_initial__mcs.RAW_encode(PCUIF__info__ind_initial__mcs_descr_, *myleaf.body.node.nodes[28]);
- encoded_length += field_nsvci.RAW_encode(PCUIF__info__ind_nsvci_descr_, *myleaf.body.node.nodes[29]);
- encoded_length += field_local__pprt.RAW_encode(PCUIF__info__ind_local__pprt_descr_, *myleaf.body.node.nodes[30]);
- encoded_length += field_remote__port.RAW_encode(PCUIF__info__ind_remote__port_descr_, *myleaf.body.node.nodes[31]);
- encoded_length += field_remote__ip.RAW_encode(PCUIF__info__ind_remote__ip_descr_, *myleaf.body.node.nodes[32]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__info__ind_template::single_value_struct {
-INTEGER_template field_version;
-PCUIF__Flags_template field_flags;
-PCUIF__InfoTrxs_template field_trx;
-INTEGER_template field_bsic;
-INTEGER_template field_mcc;
-INTEGER_template field_mnc;
-INTEGER_template field_mnc__3__digits;
-INTEGER_template field_lac;
-INTEGER_template field_rac;
-INTEGER_template field_nsei;
-PCUIF__info__ind_nse__timer_template field_nse__timer;
-PCUIF__info__ind_cell__timer_template field_cell__timer;
-INTEGER_template field_cell__id;
-INTEGER_template field_repeat__time;
-INTEGER_template field_repeat__count;
-INTEGER_template field_bvci;
-INTEGER_template field_t3142;
-INTEGER_template field_t3169;
-INTEGER_template field_t3191;
-INTEGER_template field_t3193__10ms;
-INTEGER_template field_t3195;
-INTEGER_template field_t3101;
-INTEGER_template field_t3103;
-INTEGER_template field_t3105;
-INTEGER_template field_cv__countdown;
-INTEGER_template field_dl__tbf__ext;
-INTEGER_template field_ul__tbf__ext;
-INTEGER_template field_initial__cs;
-INTEGER_template field_initial__mcs;
-PCUIF__info__ind_nsvci_template field_nsvci;
-PCUIF__info__ind_local__pprt_template field_local__pprt;
-PCUIF__info__ind_remote__port_template field_remote__port;
-PCUIF__info__ind_remote__ip_template field_remote__ip;
-};
-
-void PCUIF__info__ind_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_version = ANY_VALUE;
-single_value->field_flags = ANY_VALUE;
-single_value->field_trx = ANY_VALUE;
-single_value->field_bsic = ANY_VALUE;
-single_value->field_mcc = ANY_VALUE;
-single_value->field_mnc = ANY_VALUE;
-single_value->field_mnc__3__digits = ANY_VALUE;
-single_value->field_lac = ANY_VALUE;
-single_value->field_rac = ANY_VALUE;
-single_value->field_nsei = ANY_VALUE;
-single_value->field_nse__timer = ANY_VALUE;
-single_value->field_cell__timer = ANY_VALUE;
-single_value->field_cell__id = ANY_VALUE;
-single_value->field_repeat__time = ANY_VALUE;
-single_value->field_repeat__count = ANY_VALUE;
-single_value->field_bvci = ANY_VALUE;
-single_value->field_t3142 = ANY_VALUE;
-single_value->field_t3169 = ANY_VALUE;
-single_value->field_t3191 = ANY_VALUE;
-single_value->field_t3193__10ms = ANY_VALUE;
-single_value->field_t3195 = ANY_VALUE;
-single_value->field_t3101 = ANY_VALUE;
-single_value->field_t3103 = ANY_VALUE;
-single_value->field_t3105 = ANY_VALUE;
-single_value->field_cv__countdown = ANY_VALUE;
-single_value->field_dl__tbf__ext = ANY_VALUE;
-single_value->field_ul__tbf__ext = ANY_VALUE;
-single_value->field_initial__cs = ANY_VALUE;
-single_value->field_initial__mcs = ANY_VALUE;
-single_value->field_nsvci = ANY_VALUE;
-single_value->field_local__pprt = ANY_VALUE;
-single_value->field_remote__port = ANY_VALUE;
-single_value->field_remote__ip = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__info__ind_template::copy_value(const PCUIF__info__ind& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.version().is_bound()) {
- single_value->field_version = other_value.version();
-} else {
- single_value->field_version.clean_up();
-}
-if (other_value.flags().is_bound()) {
- single_value->field_flags = other_value.flags();
-} else {
- single_value->field_flags.clean_up();
-}
-if (other_value.trx().is_bound()) {
- single_value->field_trx = other_value.trx();
-} else {
- single_value->field_trx.clean_up();
-}
-if (other_value.bsic().is_bound()) {
- single_value->field_bsic = other_value.bsic();
-} else {
- single_value->field_bsic.clean_up();
-}
-if (other_value.mcc().is_bound()) {
- single_value->field_mcc = other_value.mcc();
-} else {
- single_value->field_mcc.clean_up();
-}
-if (other_value.mnc().is_bound()) {
- single_value->field_mnc = other_value.mnc();
-} else {
- single_value->field_mnc.clean_up();
-}
-if (other_value.mnc__3__digits().is_bound()) {
- single_value->field_mnc__3__digits = other_value.mnc__3__digits();
-} else {
- single_value->field_mnc__3__digits.clean_up();
-}
-if (other_value.lac().is_bound()) {
- single_value->field_lac = other_value.lac();
-} else {
- single_value->field_lac.clean_up();
-}
-if (other_value.rac().is_bound()) {
- single_value->field_rac = other_value.rac();
-} else {
- single_value->field_rac.clean_up();
-}
-if (other_value.nsei().is_bound()) {
- single_value->field_nsei = other_value.nsei();
-} else {
- single_value->field_nsei.clean_up();
-}
-if (other_value.nse__timer().is_bound()) {
- single_value->field_nse__timer = other_value.nse__timer();
-} else {
- single_value->field_nse__timer.clean_up();
-}
-if (other_value.cell__timer().is_bound()) {
- single_value->field_cell__timer = other_value.cell__timer();
-} else {
- single_value->field_cell__timer.clean_up();
-}
-if (other_value.cell__id().is_bound()) {
- single_value->field_cell__id = other_value.cell__id();
-} else {
- single_value->field_cell__id.clean_up();
-}
-if (other_value.repeat__time().is_bound()) {
- single_value->field_repeat__time = other_value.repeat__time();
-} else {
- single_value->field_repeat__time.clean_up();
-}
-if (other_value.repeat__count().is_bound()) {
- single_value->field_repeat__count = other_value.repeat__count();
-} else {
- single_value->field_repeat__count.clean_up();
-}
-if (other_value.bvci().is_bound()) {
- single_value->field_bvci = other_value.bvci();
-} else {
- single_value->field_bvci.clean_up();
-}
-if (other_value.t3142().is_bound()) {
- single_value->field_t3142 = other_value.t3142();
-} else {
- single_value->field_t3142.clean_up();
-}
-if (other_value.t3169().is_bound()) {
- single_value->field_t3169 = other_value.t3169();
-} else {
- single_value->field_t3169.clean_up();
-}
-if (other_value.t3191().is_bound()) {
- single_value->field_t3191 = other_value.t3191();
-} else {
- single_value->field_t3191.clean_up();
-}
-if (other_value.t3193__10ms().is_bound()) {
- single_value->field_t3193__10ms = other_value.t3193__10ms();
-} else {
- single_value->field_t3193__10ms.clean_up();
-}
-if (other_value.t3195().is_bound()) {
- single_value->field_t3195 = other_value.t3195();
-} else {
- single_value->field_t3195.clean_up();
-}
-if (other_value.t3101().is_bound()) {
- single_value->field_t3101 = other_value.t3101();
-} else {
- single_value->field_t3101.clean_up();
-}
-if (other_value.t3103().is_bound()) {
- single_value->field_t3103 = other_value.t3103();
-} else {
- single_value->field_t3103.clean_up();
-}
-if (other_value.t3105().is_bound()) {
- single_value->field_t3105 = other_value.t3105();
-} else {
- single_value->field_t3105.clean_up();
-}
-if (other_value.cv__countdown().is_bound()) {
- single_value->field_cv__countdown = other_value.cv__countdown();
-} else {
- single_value->field_cv__countdown.clean_up();
-}
-if (other_value.dl__tbf__ext().is_bound()) {
- single_value->field_dl__tbf__ext = other_value.dl__tbf__ext();
-} else {
- single_value->field_dl__tbf__ext.clean_up();
-}
-if (other_value.ul__tbf__ext().is_bound()) {
- single_value->field_ul__tbf__ext = other_value.ul__tbf__ext();
-} else {
- single_value->field_ul__tbf__ext.clean_up();
-}
-if (other_value.initial__cs().is_bound()) {
- single_value->field_initial__cs = other_value.initial__cs();
-} else {
- single_value->field_initial__cs.clean_up();
-}
-if (other_value.initial__mcs().is_bound()) {
- single_value->field_initial__mcs = other_value.initial__mcs();
-} else {
- single_value->field_initial__mcs.clean_up();
-}
-if (other_value.nsvci().is_bound()) {
- single_value->field_nsvci = other_value.nsvci();
-} else {
- single_value->field_nsvci.clean_up();
-}
-if (other_value.local__pprt().is_bound()) {
- single_value->field_local__pprt = other_value.local__pprt();
-} else {
- single_value->field_local__pprt.clean_up();
-}
-if (other_value.remote__port().is_bound()) {
- single_value->field_remote__port = other_value.remote__port();
-} else {
- single_value->field_remote__port.clean_up();
-}
-if (other_value.remote__ip().is_bound()) {
- single_value->field_remote__ip = other_value.remote__ip();
-} else {
- single_value->field_remote__ip.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__info__ind_template::copy_template(const PCUIF__info__ind_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.version().get_selection()) {
-single_value->field_version = other_value.version();
-} else {
-single_value->field_version.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.flags().get_selection()) {
-single_value->field_flags = other_value.flags();
-} else {
-single_value->field_flags.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.trx().get_selection()) {
-single_value->field_trx = other_value.trx();
-} else {
-single_value->field_trx.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.bsic().get_selection()) {
-single_value->field_bsic = other_value.bsic();
-} else {
-single_value->field_bsic.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mcc().get_selection()) {
-single_value->field_mcc = other_value.mcc();
-} else {
-single_value->field_mcc.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mnc().get_selection()) {
-single_value->field_mnc = other_value.mnc();
-} else {
-single_value->field_mnc.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.mnc__3__digits().get_selection()) {
-single_value->field_mnc__3__digits = other_value.mnc__3__digits();
-} else {
-single_value->field_mnc__3__digits.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.lac().get_selection()) {
-single_value->field_lac = other_value.lac();
-} else {
-single_value->field_lac.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.rac().get_selection()) {
-single_value->field_rac = other_value.rac();
-} else {
-single_value->field_rac.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.nsei().get_selection()) {
-single_value->field_nsei = other_value.nsei();
-} else {
-single_value->field_nsei.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.nse__timer().get_selection()) {
-single_value->field_nse__timer = other_value.nse__timer();
-} else {
-single_value->field_nse__timer.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cell__timer().get_selection()) {
-single_value->field_cell__timer = other_value.cell__timer();
-} else {
-single_value->field_cell__timer.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cell__id().get_selection()) {
-single_value->field_cell__id = other_value.cell__id();
-} else {
-single_value->field_cell__id.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.repeat__time().get_selection()) {
-single_value->field_repeat__time = other_value.repeat__time();
-} else {
-single_value->field_repeat__time.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.repeat__count().get_selection()) {
-single_value->field_repeat__count = other_value.repeat__count();
-} else {
-single_value->field_repeat__count.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.bvci().get_selection()) {
-single_value->field_bvci = other_value.bvci();
-} else {
-single_value->field_bvci.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3142().get_selection()) {
-single_value->field_t3142 = other_value.t3142();
-} else {
-single_value->field_t3142.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3169().get_selection()) {
-single_value->field_t3169 = other_value.t3169();
-} else {
-single_value->field_t3169.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3191().get_selection()) {
-single_value->field_t3191 = other_value.t3191();
-} else {
-single_value->field_t3191.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3193__10ms().get_selection()) {
-single_value->field_t3193__10ms = other_value.t3193__10ms();
-} else {
-single_value->field_t3193__10ms.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3195().get_selection()) {
-single_value->field_t3195 = other_value.t3195();
-} else {
-single_value->field_t3195.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3101().get_selection()) {
-single_value->field_t3101 = other_value.t3101();
-} else {
-single_value->field_t3101.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3103().get_selection()) {
-single_value->field_t3103 = other_value.t3103();
-} else {
-single_value->field_t3103.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.t3105().get_selection()) {
-single_value->field_t3105 = other_value.t3105();
-} else {
-single_value->field_t3105.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cv__countdown().get_selection()) {
-single_value->field_cv__countdown = other_value.cv__countdown();
-} else {
-single_value->field_cv__countdown.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.dl__tbf__ext().get_selection()) {
-single_value->field_dl__tbf__ext = other_value.dl__tbf__ext();
-} else {
-single_value->field_dl__tbf__ext.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ul__tbf__ext().get_selection()) {
-single_value->field_ul__tbf__ext = other_value.ul__tbf__ext();
-} else {
-single_value->field_ul__tbf__ext.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.initial__cs().get_selection()) {
-single_value->field_initial__cs = other_value.initial__cs();
-} else {
-single_value->field_initial__cs.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.initial__mcs().get_selection()) {
-single_value->field_initial__mcs = other_value.initial__mcs();
-} else {
-single_value->field_initial__mcs.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.nsvci().get_selection()) {
-single_value->field_nsvci = other_value.nsvci();
-} else {
-single_value->field_nsvci.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.local__pprt().get_selection()) {
-single_value->field_local__pprt = other_value.local__pprt();
-} else {
-single_value->field_local__pprt.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.remote__port().get_selection()) {
-single_value->field_remote__port = other_value.remote__port();
-} else {
-single_value->field_remote__port.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.remote__ip().get_selection()) {
-single_value->field_remote__ip = other_value.remote__ip();
-} else {
-single_value->field_remote__ip.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__info__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_info_ind.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__info__ind_template::PCUIF__info__ind_template()
-{
-}
-
-PCUIF__info__ind_template::PCUIF__info__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__info__ind_template::PCUIF__info__ind_template(const PCUIF__info__ind& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__info__ind_template::PCUIF__info__ind_template(const OPTIONAL<PCUIF__info__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__info__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_info_ind from an unbound optional field.");
-}
-}
-
-PCUIF__info__ind_template::PCUIF__info__ind_template(const PCUIF__info__ind_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__info__ind_template::~PCUIF__info__ind_template()
-{
-clean_up();
-}
-
-PCUIF__info__ind_template& PCUIF__info__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__info__ind_template& PCUIF__info__ind_template::operator=(const PCUIF__info__ind& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__info__ind_template& PCUIF__info__ind_template::operator=(const OPTIONAL<PCUIF__info__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__info__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_info_ind.");
-}
-return *this;
-}
-
-PCUIF__info__ind_template& PCUIF__info__ind_template::operator=(const PCUIF__info__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__info__ind_template::match(const PCUIF__info__ind& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.version().is_bound()) return FALSE;
-if(!single_value->field_version.match(other_value.version(), legacy))return FALSE;
-if(!other_value.flags().is_bound()) return FALSE;
-if(!single_value->field_flags.match(other_value.flags(), legacy))return FALSE;
-if(!other_value.trx().is_bound()) return FALSE;
-if(!single_value->field_trx.match(other_value.trx(), legacy))return FALSE;
-if(!other_value.bsic().is_bound()) return FALSE;
-if(!single_value->field_bsic.match(other_value.bsic(), legacy))return FALSE;
-if(!other_value.mcc().is_bound()) return FALSE;
-if(!single_value->field_mcc.match(other_value.mcc(), legacy))return FALSE;
-if(!other_value.mnc().is_bound()) return FALSE;
-if(!single_value->field_mnc.match(other_value.mnc(), legacy))return FALSE;
-if(!other_value.mnc__3__digits().is_bound()) return FALSE;
-if(!single_value->field_mnc__3__digits.match(other_value.mnc__3__digits(), legacy))return FALSE;
-if(!other_value.lac().is_bound()) return FALSE;
-if(!single_value->field_lac.match(other_value.lac(), legacy))return FALSE;
-if(!other_value.rac().is_bound()) return FALSE;
-if(!single_value->field_rac.match(other_value.rac(), legacy))return FALSE;
-if(!other_value.nsei().is_bound()) return FALSE;
-if(!single_value->field_nsei.match(other_value.nsei(), legacy))return FALSE;
-if(!other_value.nse__timer().is_bound()) return FALSE;
-if(!single_value->field_nse__timer.match(other_value.nse__timer(), legacy))return FALSE;
-if(!other_value.cell__timer().is_bound()) return FALSE;
-if(!single_value->field_cell__timer.match(other_value.cell__timer(), legacy))return FALSE;
-if(!other_value.cell__id().is_bound()) return FALSE;
-if(!single_value->field_cell__id.match(other_value.cell__id(), legacy))return FALSE;
-if(!other_value.repeat__time().is_bound()) return FALSE;
-if(!single_value->field_repeat__time.match(other_value.repeat__time(), legacy))return FALSE;
-if(!other_value.repeat__count().is_bound()) return FALSE;
-if(!single_value->field_repeat__count.match(other_value.repeat__count(), legacy))return FALSE;
-if(!other_value.bvci().is_bound()) return FALSE;
-if(!single_value->field_bvci.match(other_value.bvci(), legacy))return FALSE;
-if(!other_value.t3142().is_bound()) return FALSE;
-if(!single_value->field_t3142.match(other_value.t3142(), legacy))return FALSE;
-if(!other_value.t3169().is_bound()) return FALSE;
-if(!single_value->field_t3169.match(other_value.t3169(), legacy))return FALSE;
-if(!other_value.t3191().is_bound()) return FALSE;
-if(!single_value->field_t3191.match(other_value.t3191(), legacy))return FALSE;
-if(!other_value.t3193__10ms().is_bound()) return FALSE;
-if(!single_value->field_t3193__10ms.match(other_value.t3193__10ms(), legacy))return FALSE;
-if(!other_value.t3195().is_bound()) return FALSE;
-if(!single_value->field_t3195.match(other_value.t3195(), legacy))return FALSE;
-if(!other_value.t3101().is_bound()) return FALSE;
-if(!single_value->field_t3101.match(other_value.t3101(), legacy))return FALSE;
-if(!other_value.t3103().is_bound()) return FALSE;
-if(!single_value->field_t3103.match(other_value.t3103(), legacy))return FALSE;
-if(!other_value.t3105().is_bound()) return FALSE;
-if(!single_value->field_t3105.match(other_value.t3105(), legacy))return FALSE;
-if(!other_value.cv__countdown().is_bound()) return FALSE;
-if(!single_value->field_cv__countdown.match(other_value.cv__countdown(), legacy))return FALSE;
-if(!other_value.dl__tbf__ext().is_bound()) return FALSE;
-if(!single_value->field_dl__tbf__ext.match(other_value.dl__tbf__ext(), legacy))return FALSE;
-if(!other_value.ul__tbf__ext().is_bound()) return FALSE;
-if(!single_value->field_ul__tbf__ext.match(other_value.ul__tbf__ext(), legacy))return FALSE;
-if(!other_value.initial__cs().is_bound()) return FALSE;
-if(!single_value->field_initial__cs.match(other_value.initial__cs(), legacy))return FALSE;
-if(!other_value.initial__mcs().is_bound()) return FALSE;
-if(!single_value->field_initial__mcs.match(other_value.initial__mcs(), legacy))return FALSE;
-if(!other_value.nsvci().is_bound()) return FALSE;
-if(!single_value->field_nsvci.match(other_value.nsvci(), legacy))return FALSE;
-if(!other_value.local__pprt().is_bound()) return FALSE;
-if(!single_value->field_local__pprt.match(other_value.local__pprt(), legacy))return FALSE;
-if(!other_value.remote__port().is_bound()) return FALSE;
-if(!single_value->field_remote__port.match(other_value.remote__port(), legacy))return FALSE;
-if(!other_value.remote__ip().is_bound()) return FALSE;
-if(!single_value->field_remote__ip.match(other_value.remote__ip(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_info_ind.");
-}
-return FALSE;
-}
-
-boolean PCUIF__info__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_version.is_bound()) return TRUE;
-if (single_value->field_flags.is_bound()) return TRUE;
-if (single_value->field_trx.is_bound()) return TRUE;
-if (single_value->field_bsic.is_bound()) return TRUE;
-if (single_value->field_mcc.is_bound()) return TRUE;
-if (single_value->field_mnc.is_bound()) return TRUE;
-if (single_value->field_mnc__3__digits.is_bound()) return TRUE;
-if (single_value->field_lac.is_bound()) return TRUE;
-if (single_value->field_rac.is_bound()) return TRUE;
-if (single_value->field_nsei.is_bound()) return TRUE;
-if (single_value->field_nse__timer.is_bound()) return TRUE;
-if (single_value->field_cell__timer.is_bound()) return TRUE;
-if (single_value->field_cell__id.is_bound()) return TRUE;
-if (single_value->field_repeat__time.is_bound()) return TRUE;
-if (single_value->field_repeat__count.is_bound()) return TRUE;
-if (single_value->field_bvci.is_bound()) return TRUE;
-if (single_value->field_t3142.is_bound()) return TRUE;
-if (single_value->field_t3169.is_bound()) return TRUE;
-if (single_value->field_t3191.is_bound()) return TRUE;
-if (single_value->field_t3193__10ms.is_bound()) return TRUE;
-if (single_value->field_t3195.is_bound()) return TRUE;
-if (single_value->field_t3101.is_bound()) return TRUE;
-if (single_value->field_t3103.is_bound()) return TRUE;
-if (single_value->field_t3105.is_bound()) return TRUE;
-if (single_value->field_cv__countdown.is_bound()) return TRUE;
-if (single_value->field_dl__tbf__ext.is_bound()) return TRUE;
-if (single_value->field_ul__tbf__ext.is_bound()) return TRUE;
-if (single_value->field_initial__cs.is_bound()) return TRUE;
-if (single_value->field_initial__mcs.is_bound()) return TRUE;
-if (single_value->field_nsvci.is_bound()) return TRUE;
-if (single_value->field_local__pprt.is_bound()) return TRUE;
-if (single_value->field_remote__port.is_bound()) return TRUE;
-if (single_value->field_remote__ip.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__info__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_version.is_value()) return FALSE;
-if (!single_value->field_flags.is_value()) return FALSE;
-if (!single_value->field_trx.is_value()) return FALSE;
-if (!single_value->field_bsic.is_value()) return FALSE;
-if (!single_value->field_mcc.is_value()) return FALSE;
-if (!single_value->field_mnc.is_value()) return FALSE;
-if (!single_value->field_mnc__3__digits.is_value()) return FALSE;
-if (!single_value->field_lac.is_value()) return FALSE;
-if (!single_value->field_rac.is_value()) return FALSE;
-if (!single_value->field_nsei.is_value()) return FALSE;
-if (!single_value->field_nse__timer.is_value()) return FALSE;
-if (!single_value->field_cell__timer.is_value()) return FALSE;
-if (!single_value->field_cell__id.is_value()) return FALSE;
-if (!single_value->field_repeat__time.is_value()) return FALSE;
-if (!single_value->field_repeat__count.is_value()) return FALSE;
-if (!single_value->field_bvci.is_value()) return FALSE;
-if (!single_value->field_t3142.is_value()) return FALSE;
-if (!single_value->field_t3169.is_value()) return FALSE;
-if (!single_value->field_t3191.is_value()) return FALSE;
-if (!single_value->field_t3193__10ms.is_value()) return FALSE;
-if (!single_value->field_t3195.is_value()) return FALSE;
-if (!single_value->field_t3101.is_value()) return FALSE;
-if (!single_value->field_t3103.is_value()) return FALSE;
-if (!single_value->field_t3105.is_value()) return FALSE;
-if (!single_value->field_cv__countdown.is_value()) return FALSE;
-if (!single_value->field_dl__tbf__ext.is_value()) return FALSE;
-if (!single_value->field_ul__tbf__ext.is_value()) return FALSE;
-if (!single_value->field_initial__cs.is_value()) return FALSE;
-if (!single_value->field_initial__mcs.is_value()) return FALSE;
-if (!single_value->field_nsvci.is_value()) return FALSE;
-if (!single_value->field_local__pprt.is_value()) return FALSE;
-if (!single_value->field_remote__port.is_value()) return FALSE;
-if (!single_value->field_remote__ip.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__info__ind_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__info__ind PCUIF__info__ind_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-PCUIF__info__ind ret_val;
-if (single_value->field_version.is_bound()) {
-ret_val.version() = single_value->field_version.valueof();
-}
-if (single_value->field_flags.is_bound()) {
-ret_val.flags() = single_value->field_flags.valueof();
-}
-if (single_value->field_trx.is_bound()) {
-ret_val.trx() = single_value->field_trx.valueof();
-}
-if (single_value->field_bsic.is_bound()) {
-ret_val.bsic() = single_value->field_bsic.valueof();
-}
-if (single_value->field_mcc.is_bound()) {
-ret_val.mcc() = single_value->field_mcc.valueof();
-}
-if (single_value->field_mnc.is_bound()) {
-ret_val.mnc() = single_value->field_mnc.valueof();
-}
-if (single_value->field_mnc__3__digits.is_bound()) {
-ret_val.mnc__3__digits() = single_value->field_mnc__3__digits.valueof();
-}
-if (single_value->field_lac.is_bound()) {
-ret_val.lac() = single_value->field_lac.valueof();
-}
-if (single_value->field_rac.is_bound()) {
-ret_val.rac() = single_value->field_rac.valueof();
-}
-if (single_value->field_nsei.is_bound()) {
-ret_val.nsei() = single_value->field_nsei.valueof();
-}
-if (single_value->field_nse__timer.is_bound()) {
-ret_val.nse__timer() = single_value->field_nse__timer.valueof();
-}
-if (single_value->field_cell__timer.is_bound()) {
-ret_val.cell__timer() = single_value->field_cell__timer.valueof();
-}
-if (single_value->field_cell__id.is_bound()) {
-ret_val.cell__id() = single_value->field_cell__id.valueof();
-}
-if (single_value->field_repeat__time.is_bound()) {
-ret_val.repeat__time() = single_value->field_repeat__time.valueof();
-}
-if (single_value->field_repeat__count.is_bound()) {
-ret_val.repeat__count() = single_value->field_repeat__count.valueof();
-}
-if (single_value->field_bvci.is_bound()) {
-ret_val.bvci() = single_value->field_bvci.valueof();
-}
-if (single_value->field_t3142.is_bound()) {
-ret_val.t3142() = single_value->field_t3142.valueof();
-}
-if (single_value->field_t3169.is_bound()) {
-ret_val.t3169() = single_value->field_t3169.valueof();
-}
-if (single_value->field_t3191.is_bound()) {
-ret_val.t3191() = single_value->field_t3191.valueof();
-}
-if (single_value->field_t3193__10ms.is_bound()) {
-ret_val.t3193__10ms() = single_value->field_t3193__10ms.valueof();
-}
-if (single_value->field_t3195.is_bound()) {
-ret_val.t3195() = single_value->field_t3195.valueof();
-}
-if (single_value->field_t3101.is_bound()) {
-ret_val.t3101() = single_value->field_t3101.valueof();
-}
-if (single_value->field_t3103.is_bound()) {
-ret_val.t3103() = single_value->field_t3103.valueof();
-}
-if (single_value->field_t3105.is_bound()) {
-ret_val.t3105() = single_value->field_t3105.valueof();
-}
-if (single_value->field_cv__countdown.is_bound()) {
-ret_val.cv__countdown() = single_value->field_cv__countdown.valueof();
-}
-if (single_value->field_dl__tbf__ext.is_bound()) {
-ret_val.dl__tbf__ext() = single_value->field_dl__tbf__ext.valueof();
-}
-if (single_value->field_ul__tbf__ext.is_bound()) {
-ret_val.ul__tbf__ext() = single_value->field_ul__tbf__ext.valueof();
-}
-if (single_value->field_initial__cs.is_bound()) {
-ret_val.initial__cs() = single_value->field_initial__cs.valueof();
-}
-if (single_value->field_initial__mcs.is_bound()) {
-ret_val.initial__mcs() = single_value->field_initial__mcs.valueof();
-}
-if (single_value->field_nsvci.is_bound()) {
-ret_val.nsvci() = single_value->field_nsvci.valueof();
-}
-if (single_value->field_local__pprt.is_bound()) {
-ret_val.local__pprt() = single_value->field_local__pprt.valueof();
-}
-if (single_value->field_remote__port.is_bound()) {
-ret_val.remote__port() = single_value->field_remote__port.valueof();
-}
-if (single_value->field_remote__ip.is_bound()) {
-ret_val.remote__ip() = single_value->field_remote__ip.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__info__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_info_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__info__ind_template[list_length];
-}
-
-PCUIF__info__ind_template& PCUIF__info__ind_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_info_ind.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_info_ind.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& PCUIF__info__ind_template::version()
-{
-set_specific();
-return single_value->field_version;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::version() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field version of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_version;
-}
-
-PCUIF__Flags_template& PCUIF__info__ind_template::flags()
-{
-set_specific();
-return single_value->field_flags;
-}
-
-const PCUIF__Flags_template& PCUIF__info__ind_template::flags() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field flags of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_flags;
-}
-
-PCUIF__InfoTrxs_template& PCUIF__info__ind_template::trx()
-{
-set_specific();
-return single_value->field_trx;
-}
-
-const PCUIF__InfoTrxs_template& PCUIF__info__ind_template::trx() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field trx of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_trx;
-}
-
-INTEGER_template& PCUIF__info__ind_template::bsic()
-{
-set_specific();
-return single_value->field_bsic;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::bsic() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field bsic of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_bsic;
-}
-
-INTEGER_template& PCUIF__info__ind_template::mcc()
-{
-set_specific();
-return single_value->field_mcc;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::mcc() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mcc of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_mcc;
-}
-
-INTEGER_template& PCUIF__info__ind_template::mnc()
-{
-set_specific();
-return single_value->field_mnc;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::mnc() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mnc of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_mnc;
-}
-
-INTEGER_template& PCUIF__info__ind_template::mnc__3__digits()
-{
-set_specific();
-return single_value->field_mnc__3__digits;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::mnc__3__digits() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field mnc_3_digits of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_mnc__3__digits;
-}
-
-INTEGER_template& PCUIF__info__ind_template::lac()
-{
-set_specific();
-return single_value->field_lac;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::lac() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field lac of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_lac;
-}
-
-INTEGER_template& PCUIF__info__ind_template::rac()
-{
-set_specific();
-return single_value->field_rac;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::rac() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field rac of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_rac;
-}
-
-INTEGER_template& PCUIF__info__ind_template::nsei()
-{
-set_specific();
-return single_value->field_nsei;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::nsei() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field nsei of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_nsei;
-}
-
-PCUIF__info__ind_nse__timer_template& PCUIF__info__ind_template::nse__timer()
-{
-set_specific();
-return single_value->field_nse__timer;
-}
-
-const PCUIF__info__ind_nse__timer_template& PCUIF__info__ind_template::nse__timer() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field nse_timer of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_nse__timer;
-}
-
-PCUIF__info__ind_cell__timer_template& PCUIF__info__ind_template::cell__timer()
-{
-set_specific();
-return single_value->field_cell__timer;
-}
-
-const PCUIF__info__ind_cell__timer_template& PCUIF__info__ind_template::cell__timer() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cell_timer of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_cell__timer;
-}
-
-INTEGER_template& PCUIF__info__ind_template::cell__id()
-{
-set_specific();
-return single_value->field_cell__id;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::cell__id() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cell_id of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_cell__id;
-}
-
-INTEGER_template& PCUIF__info__ind_template::repeat__time()
-{
-set_specific();
-return single_value->field_repeat__time;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::repeat__time() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field repeat_time of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_repeat__time;
-}
-
-INTEGER_template& PCUIF__info__ind_template::repeat__count()
-{
-set_specific();
-return single_value->field_repeat__count;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::repeat__count() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field repeat_count of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_repeat__count;
-}
-
-INTEGER_template& PCUIF__info__ind_template::bvci()
-{
-set_specific();
-return single_value->field_bvci;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::bvci() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field bvci of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_bvci;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3142()
-{
-set_specific();
-return single_value->field_t3142;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3142() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3142 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3142;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3169()
-{
-set_specific();
-return single_value->field_t3169;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3169() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3169 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3169;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3191()
-{
-set_specific();
-return single_value->field_t3191;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3191() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3191 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3191;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3193__10ms()
-{
-set_specific();
-return single_value->field_t3193__10ms;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3193__10ms() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3193_10ms of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3193__10ms;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3195()
-{
-set_specific();
-return single_value->field_t3195;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3195() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3195 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3195;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3101()
-{
-set_specific();
-return single_value->field_t3101;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3101() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3101 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3101;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3103()
-{
-set_specific();
-return single_value->field_t3103;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3103() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3103 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3103;
-}
-
-INTEGER_template& PCUIF__info__ind_template::t3105()
-{
-set_specific();
-return single_value->field_t3105;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::t3105() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field t3105 of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_t3105;
-}
-
-INTEGER_template& PCUIF__info__ind_template::cv__countdown()
-{
-set_specific();
-return single_value->field_cv__countdown;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::cv__countdown() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cv_countdown of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_cv__countdown;
-}
-
-INTEGER_template& PCUIF__info__ind_template::dl__tbf__ext()
-{
-set_specific();
-return single_value->field_dl__tbf__ext;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::dl__tbf__ext() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field dl_tbf_ext of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_dl__tbf__ext;
-}
-
-INTEGER_template& PCUIF__info__ind_template::ul__tbf__ext()
-{
-set_specific();
-return single_value->field_ul__tbf__ext;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::ul__tbf__ext() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ul_tbf_ext of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_ul__tbf__ext;
-}
-
-INTEGER_template& PCUIF__info__ind_template::initial__cs()
-{
-set_specific();
-return single_value->field_initial__cs;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::initial__cs() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field initial_cs of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_initial__cs;
-}
-
-INTEGER_template& PCUIF__info__ind_template::initial__mcs()
-{
-set_specific();
-return single_value->field_initial__mcs;
-}
-
-const INTEGER_template& PCUIF__info__ind_template::initial__mcs() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field initial_mcs of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_initial__mcs;
-}
-
-PCUIF__info__ind_nsvci_template& PCUIF__info__ind_template::nsvci()
-{
-set_specific();
-return single_value->field_nsvci;
-}
-
-const PCUIF__info__ind_nsvci_template& PCUIF__info__ind_template::nsvci() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field nsvci of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_nsvci;
-}
-
-PCUIF__info__ind_local__pprt_template& PCUIF__info__ind_template::local__pprt()
-{
-set_specific();
-return single_value->field_local__pprt;
-}
-
-const PCUIF__info__ind_local__pprt_template& PCUIF__info__ind_template::local__pprt() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field local_pprt of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_local__pprt;
-}
-
-PCUIF__info__ind_remote__port_template& PCUIF__info__ind_template::remote__port()
-{
-set_specific();
-return single_value->field_remote__port;
-}
-
-const PCUIF__info__ind_remote__port_template& PCUIF__info__ind_template::remote__port() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field remote_port of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_remote__port;
-}
-
-PCUIF__info__ind_remote__ip_template& PCUIF__info__ind_template::remote__ip()
-{
-set_specific();
-return single_value->field_remote__ip;
-}
-
-const PCUIF__info__ind_remote__ip_template& PCUIF__info__ind_template::remote__ip() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field remote_ip of a non-specific template of type @PCUIF_Types.PCUIF_info_ind.");
-return single_value->field_remote__ip;
-}
-
-int PCUIF__info__ind_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 33;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_info_ind containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_info_ind.");
- }
- return 0;
-}
-
-void PCUIF__info__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ version := ");
-single_value->field_version.log();
-TTCN_Logger::log_event_str(", flags := ");
-single_value->field_flags.log();
-TTCN_Logger::log_event_str(", trx := ");
-single_value->field_trx.log();
-TTCN_Logger::log_event_str(", bsic := ");
-single_value->field_bsic.log();
-TTCN_Logger::log_event_str(", mcc := ");
-single_value->field_mcc.log();
-TTCN_Logger::log_event_str(", mnc := ");
-single_value->field_mnc.log();
-TTCN_Logger::log_event_str(", mnc_3_digits := ");
-single_value->field_mnc__3__digits.log();
-TTCN_Logger::log_event_str(", lac := ");
-single_value->field_lac.log();
-TTCN_Logger::log_event_str(", rac := ");
-single_value->field_rac.log();
-TTCN_Logger::log_event_str(", nsei := ");
-single_value->field_nsei.log();
-TTCN_Logger::log_event_str(", nse_timer := ");
-single_value->field_nse__timer.log();
-TTCN_Logger::log_event_str(", cell_timer := ");
-single_value->field_cell__timer.log();
-TTCN_Logger::log_event_str(", cell_id := ");
-single_value->field_cell__id.log();
-TTCN_Logger::log_event_str(", repeat_time := ");
-single_value->field_repeat__time.log();
-TTCN_Logger::log_event_str(", repeat_count := ");
-single_value->field_repeat__count.log();
-TTCN_Logger::log_event_str(", bvci := ");
-single_value->field_bvci.log();
-TTCN_Logger::log_event_str(", t3142 := ");
-single_value->field_t3142.log();
-TTCN_Logger::log_event_str(", t3169 := ");
-single_value->field_t3169.log();
-TTCN_Logger::log_event_str(", t3191 := ");
-single_value->field_t3191.log();
-TTCN_Logger::log_event_str(", t3193_10ms := ");
-single_value->field_t3193__10ms.log();
-TTCN_Logger::log_event_str(", t3195 := ");
-single_value->field_t3195.log();
-TTCN_Logger::log_event_str(", t3101 := ");
-single_value->field_t3101.log();
-TTCN_Logger::log_event_str(", t3103 := ");
-single_value->field_t3103.log();
-TTCN_Logger::log_event_str(", t3105 := ");
-single_value->field_t3105.log();
-TTCN_Logger::log_event_str(", cv_countdown := ");
-single_value->field_cv__countdown.log();
-TTCN_Logger::log_event_str(", dl_tbf_ext := ");
-single_value->field_dl__tbf__ext.log();
-TTCN_Logger::log_event_str(", ul_tbf_ext := ");
-single_value->field_ul__tbf__ext.log();
-TTCN_Logger::log_event_str(", initial_cs := ");
-single_value->field_initial__cs.log();
-TTCN_Logger::log_event_str(", initial_mcs := ");
-single_value->field_initial__mcs.log();
-TTCN_Logger::log_event_str(", nsvci := ");
-single_value->field_nsvci.log();
-TTCN_Logger::log_event_str(", local_pprt := ");
-single_value->field_local__pprt.log();
-TTCN_Logger::log_event_str(", remote_port := ");
-single_value->field_remote__port.log();
-TTCN_Logger::log_event_str(", remote_ip := ");
-single_value->field_remote__ip.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__info__ind_template::log_match(const PCUIF__info__ind& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_version.match(match_value.version(), legacy)){
-TTCN_Logger::log_logmatch_info(".version");
-single_value->field_version.log_match(match_value.version(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_flags.match(match_value.flags(), legacy)){
-TTCN_Logger::log_logmatch_info(".flags");
-single_value->field_flags.log_match(match_value.flags(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_trx.match(match_value.trx(), legacy)){
-TTCN_Logger::log_logmatch_info(".trx");
-single_value->field_trx.log_match(match_value.trx(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_bsic.match(match_value.bsic(), legacy)){
-TTCN_Logger::log_logmatch_info(".bsic");
-single_value->field_bsic.log_match(match_value.bsic(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mcc.match(match_value.mcc(), legacy)){
-TTCN_Logger::log_logmatch_info(".mcc");
-single_value->field_mcc.log_match(match_value.mcc(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mnc.match(match_value.mnc(), legacy)){
-TTCN_Logger::log_logmatch_info(".mnc");
-single_value->field_mnc.log_match(match_value.mnc(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_mnc__3__digits.match(match_value.mnc__3__digits(), legacy)){
-TTCN_Logger::log_logmatch_info(".mnc_3_digits");
-single_value->field_mnc__3__digits.log_match(match_value.mnc__3__digits(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_lac.match(match_value.lac(), legacy)){
-TTCN_Logger::log_logmatch_info(".lac");
-single_value->field_lac.log_match(match_value.lac(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_rac.match(match_value.rac(), legacy)){
-TTCN_Logger::log_logmatch_info(".rac");
-single_value->field_rac.log_match(match_value.rac(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_nsei.match(match_value.nsei(), legacy)){
-TTCN_Logger::log_logmatch_info(".nsei");
-single_value->field_nsei.log_match(match_value.nsei(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_nse__timer.match(match_value.nse__timer(), legacy)){
-TTCN_Logger::log_logmatch_info(".nse_timer");
-single_value->field_nse__timer.log_match(match_value.nse__timer(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cell__timer.match(match_value.cell__timer(), legacy)){
-TTCN_Logger::log_logmatch_info(".cell_timer");
-single_value->field_cell__timer.log_match(match_value.cell__timer(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cell__id.match(match_value.cell__id(), legacy)){
-TTCN_Logger::log_logmatch_info(".cell_id");
-single_value->field_cell__id.log_match(match_value.cell__id(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_repeat__time.match(match_value.repeat__time(), legacy)){
-TTCN_Logger::log_logmatch_info(".repeat_time");
-single_value->field_repeat__time.log_match(match_value.repeat__time(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_repeat__count.match(match_value.repeat__count(), legacy)){
-TTCN_Logger::log_logmatch_info(".repeat_count");
-single_value->field_repeat__count.log_match(match_value.repeat__count(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_bvci.match(match_value.bvci(), legacy)){
-TTCN_Logger::log_logmatch_info(".bvci");
-single_value->field_bvci.log_match(match_value.bvci(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3142.match(match_value.t3142(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3142");
-single_value->field_t3142.log_match(match_value.t3142(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3169.match(match_value.t3169(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3169");
-single_value->field_t3169.log_match(match_value.t3169(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3191.match(match_value.t3191(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3191");
-single_value->field_t3191.log_match(match_value.t3191(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3193__10ms.match(match_value.t3193__10ms(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3193_10ms");
-single_value->field_t3193__10ms.log_match(match_value.t3193__10ms(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3195.match(match_value.t3195(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3195");
-single_value->field_t3195.log_match(match_value.t3195(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3101.match(match_value.t3101(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3101");
-single_value->field_t3101.log_match(match_value.t3101(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3103.match(match_value.t3103(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3103");
-single_value->field_t3103.log_match(match_value.t3103(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_t3105.match(match_value.t3105(), legacy)){
-TTCN_Logger::log_logmatch_info(".t3105");
-single_value->field_t3105.log_match(match_value.t3105(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cv__countdown.match(match_value.cv__countdown(), legacy)){
-TTCN_Logger::log_logmatch_info(".cv_countdown");
-single_value->field_cv__countdown.log_match(match_value.cv__countdown(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_dl__tbf__ext.match(match_value.dl__tbf__ext(), legacy)){
-TTCN_Logger::log_logmatch_info(".dl_tbf_ext");
-single_value->field_dl__tbf__ext.log_match(match_value.dl__tbf__ext(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ul__tbf__ext.match(match_value.ul__tbf__ext(), legacy)){
-TTCN_Logger::log_logmatch_info(".ul_tbf_ext");
-single_value->field_ul__tbf__ext.log_match(match_value.ul__tbf__ext(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_initial__cs.match(match_value.initial__cs(), legacy)){
-TTCN_Logger::log_logmatch_info(".initial_cs");
-single_value->field_initial__cs.log_match(match_value.initial__cs(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_initial__mcs.match(match_value.initial__mcs(), legacy)){
-TTCN_Logger::log_logmatch_info(".initial_mcs");
-single_value->field_initial__mcs.log_match(match_value.initial__mcs(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_nsvci.match(match_value.nsvci(), legacy)){
-TTCN_Logger::log_logmatch_info(".nsvci");
-single_value->field_nsvci.log_match(match_value.nsvci(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_local__pprt.match(match_value.local__pprt(), legacy)){
-TTCN_Logger::log_logmatch_info(".local_pprt");
-single_value->field_local__pprt.log_match(match_value.local__pprt(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_remote__port.match(match_value.remote__port(), legacy)){
-TTCN_Logger::log_logmatch_info(".remote_port");
-single_value->field_remote__port.log_match(match_value.remote__port(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_remote__ip.match(match_value.remote__ip(), legacy)){
-TTCN_Logger::log_logmatch_info(".remote_ip");
-single_value->field_remote__ip.log_match(match_value.remote__ip(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ version := ");
-single_value->field_version.log_match(match_value.version(), legacy);
-TTCN_Logger::log_event_str(", flags := ");
-single_value->field_flags.log_match(match_value.flags(), legacy);
-TTCN_Logger::log_event_str(", trx := ");
-single_value->field_trx.log_match(match_value.trx(), legacy);
-TTCN_Logger::log_event_str(", bsic := ");
-single_value->field_bsic.log_match(match_value.bsic(), legacy);
-TTCN_Logger::log_event_str(", mcc := ");
-single_value->field_mcc.log_match(match_value.mcc(), legacy);
-TTCN_Logger::log_event_str(", mnc := ");
-single_value->field_mnc.log_match(match_value.mnc(), legacy);
-TTCN_Logger::log_event_str(", mnc_3_digits := ");
-single_value->field_mnc__3__digits.log_match(match_value.mnc__3__digits(), legacy);
-TTCN_Logger::log_event_str(", lac := ");
-single_value->field_lac.log_match(match_value.lac(), legacy);
-TTCN_Logger::log_event_str(", rac := ");
-single_value->field_rac.log_match(match_value.rac(), legacy);
-TTCN_Logger::log_event_str(", nsei := ");
-single_value->field_nsei.log_match(match_value.nsei(), legacy);
-TTCN_Logger::log_event_str(", nse_timer := ");
-single_value->field_nse__timer.log_match(match_value.nse__timer(), legacy);
-TTCN_Logger::log_event_str(", cell_timer := ");
-single_value->field_cell__timer.log_match(match_value.cell__timer(), legacy);
-TTCN_Logger::log_event_str(", cell_id := ");
-single_value->field_cell__id.log_match(match_value.cell__id(), legacy);
-TTCN_Logger::log_event_str(", repeat_time := ");
-single_value->field_repeat__time.log_match(match_value.repeat__time(), legacy);
-TTCN_Logger::log_event_str(", repeat_count := ");
-single_value->field_repeat__count.log_match(match_value.repeat__count(), legacy);
-TTCN_Logger::log_event_str(", bvci := ");
-single_value->field_bvci.log_match(match_value.bvci(), legacy);
-TTCN_Logger::log_event_str(", t3142 := ");
-single_value->field_t3142.log_match(match_value.t3142(), legacy);
-TTCN_Logger::log_event_str(", t3169 := ");
-single_value->field_t3169.log_match(match_value.t3169(), legacy);
-TTCN_Logger::log_event_str(", t3191 := ");
-single_value->field_t3191.log_match(match_value.t3191(), legacy);
-TTCN_Logger::log_event_str(", t3193_10ms := ");
-single_value->field_t3193__10ms.log_match(match_value.t3193__10ms(), legacy);
-TTCN_Logger::log_event_str(", t3195 := ");
-single_value->field_t3195.log_match(match_value.t3195(), legacy);
-TTCN_Logger::log_event_str(", t3101 := ");
-single_value->field_t3101.log_match(match_value.t3101(), legacy);
-TTCN_Logger::log_event_str(", t3103 := ");
-single_value->field_t3103.log_match(match_value.t3103(), legacy);
-TTCN_Logger::log_event_str(", t3105 := ");
-single_value->field_t3105.log_match(match_value.t3105(), legacy);
-TTCN_Logger::log_event_str(", cv_countdown := ");
-single_value->field_cv__countdown.log_match(match_value.cv__countdown(), legacy);
-TTCN_Logger::log_event_str(", dl_tbf_ext := ");
-single_value->field_dl__tbf__ext.log_match(match_value.dl__tbf__ext(), legacy);
-TTCN_Logger::log_event_str(", ul_tbf_ext := ");
-single_value->field_ul__tbf__ext.log_match(match_value.ul__tbf__ext(), legacy);
-TTCN_Logger::log_event_str(", initial_cs := ");
-single_value->field_initial__cs.log_match(match_value.initial__cs(), legacy);
-TTCN_Logger::log_event_str(", initial_mcs := ");
-single_value->field_initial__mcs.log_match(match_value.initial__mcs(), legacy);
-TTCN_Logger::log_event_str(", nsvci := ");
-single_value->field_nsvci.log_match(match_value.nsvci(), legacy);
-TTCN_Logger::log_event_str(", local_pprt := ");
-single_value->field_local__pprt.log_match(match_value.local__pprt(), legacy);
-TTCN_Logger::log_event_str(", remote_port := ");
-single_value->field_remote__port.log_match(match_value.remote__port(), legacy);
-TTCN_Logger::log_event_str(", remote_ip := ");
-single_value->field_remote__ip.log_match(match_value.remote__ip(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__info__ind_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_version.encode_text(text_buf);
-single_value->field_flags.encode_text(text_buf);
-single_value->field_trx.encode_text(text_buf);
-single_value->field_bsic.encode_text(text_buf);
-single_value->field_mcc.encode_text(text_buf);
-single_value->field_mnc.encode_text(text_buf);
-single_value->field_mnc__3__digits.encode_text(text_buf);
-single_value->field_lac.encode_text(text_buf);
-single_value->field_rac.encode_text(text_buf);
-single_value->field_nsei.encode_text(text_buf);
-single_value->field_nse__timer.encode_text(text_buf);
-single_value->field_cell__timer.encode_text(text_buf);
-single_value->field_cell__id.encode_text(text_buf);
-single_value->field_repeat__time.encode_text(text_buf);
-single_value->field_repeat__count.encode_text(text_buf);
-single_value->field_bvci.encode_text(text_buf);
-single_value->field_t3142.encode_text(text_buf);
-single_value->field_t3169.encode_text(text_buf);
-single_value->field_t3191.encode_text(text_buf);
-single_value->field_t3193__10ms.encode_text(text_buf);
-single_value->field_t3195.encode_text(text_buf);
-single_value->field_t3101.encode_text(text_buf);
-single_value->field_t3103.encode_text(text_buf);
-single_value->field_t3105.encode_text(text_buf);
-single_value->field_cv__countdown.encode_text(text_buf);
-single_value->field_dl__tbf__ext.encode_text(text_buf);
-single_value->field_ul__tbf__ext.encode_text(text_buf);
-single_value->field_initial__cs.encode_text(text_buf);
-single_value->field_initial__mcs.encode_text(text_buf);
-single_value->field_nsvci.encode_text(text_buf);
-single_value->field_local__pprt.encode_text(text_buf);
-single_value->field_remote__port.encode_text(text_buf);
-single_value->field_remote__ip.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_info_ind.");
-}
-}
-
-void PCUIF__info__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_version.decode_text(text_buf);
-single_value->field_flags.decode_text(text_buf);
-single_value->field_trx.decode_text(text_buf);
-single_value->field_bsic.decode_text(text_buf);
-single_value->field_mcc.decode_text(text_buf);
-single_value->field_mnc.decode_text(text_buf);
-single_value->field_mnc__3__digits.decode_text(text_buf);
-single_value->field_lac.decode_text(text_buf);
-single_value->field_rac.decode_text(text_buf);
-single_value->field_nsei.decode_text(text_buf);
-single_value->field_nse__timer.decode_text(text_buf);
-single_value->field_cell__timer.decode_text(text_buf);
-single_value->field_cell__id.decode_text(text_buf);
-single_value->field_repeat__time.decode_text(text_buf);
-single_value->field_repeat__count.decode_text(text_buf);
-single_value->field_bvci.decode_text(text_buf);
-single_value->field_t3142.decode_text(text_buf);
-single_value->field_t3169.decode_text(text_buf);
-single_value->field_t3191.decode_text(text_buf);
-single_value->field_t3193__10ms.decode_text(text_buf);
-single_value->field_t3195.decode_text(text_buf);
-single_value->field_t3101.decode_text(text_buf);
-single_value->field_t3103.decode_text(text_buf);
-single_value->field_t3105.decode_text(text_buf);
-single_value->field_cv__countdown.decode_text(text_buf);
-single_value->field_dl__tbf__ext.decode_text(text_buf);
-single_value->field_ul__tbf__ext.decode_text(text_buf);
-single_value->field_initial__cs.decode_text(text_buf);
-single_value->field_initial__mcs.decode_text(text_buf);
-single_value->field_nsvci.decode_text(text_buf);
-single_value->field_local__pprt.decode_text(text_buf);
-single_value->field_remote__port.decode_text(text_buf);
-single_value->field_remote__ip.decode_text(text_buf);
-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 PCUIF__info__ind_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_info_ind.");
-}
-}
-
-void PCUIF__info__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__info__ind_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (33<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_info_ind has 33 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) version().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) flags().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) trx().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) bsic().set_param(*param.get_elem(3));
- if (param.get_size()>4 && param.get_elem(4)->get_type()!=Module_Param::MP_NotUsed) mcc().set_param(*param.get_elem(4));
- if (param.get_size()>5 && param.get_elem(5)->get_type()!=Module_Param::MP_NotUsed) mnc().set_param(*param.get_elem(5));
- if (param.get_size()>6 && param.get_elem(6)->get_type()!=Module_Param::MP_NotUsed) mnc__3__digits().set_param(*param.get_elem(6));
- if (param.get_size()>7 && param.get_elem(7)->get_type()!=Module_Param::MP_NotUsed) lac().set_param(*param.get_elem(7));
- if (param.get_size()>8 && param.get_elem(8)->get_type()!=Module_Param::MP_NotUsed) rac().set_param(*param.get_elem(8));
- if (param.get_size()>9 && param.get_elem(9)->get_type()!=Module_Param::MP_NotUsed) nsei().set_param(*param.get_elem(9));
- if (param.get_size()>10 && param.get_elem(10)->get_type()!=Module_Param::MP_NotUsed) nse__timer().set_param(*param.get_elem(10));
- if (param.get_size()>11 && param.get_elem(11)->get_type()!=Module_Param::MP_NotUsed) cell__timer().set_param(*param.get_elem(11));
- if (param.get_size()>12 && param.get_elem(12)->get_type()!=Module_Param::MP_NotUsed) cell__id().set_param(*param.get_elem(12));
- if (param.get_size()>13 && param.get_elem(13)->get_type()!=Module_Param::MP_NotUsed) repeat__time().set_param(*param.get_elem(13));
- if (param.get_size()>14 && param.get_elem(14)->get_type()!=Module_Param::MP_NotUsed) repeat__count().set_param(*param.get_elem(14));
- if (param.get_size()>15 && param.get_elem(15)->get_type()!=Module_Param::MP_NotUsed) bvci().set_param(*param.get_elem(15));
- if (param.get_size()>16 && param.get_elem(16)->get_type()!=Module_Param::MP_NotUsed) t3142().set_param(*param.get_elem(16));
- if (param.get_size()>17 && param.get_elem(17)->get_type()!=Module_Param::MP_NotUsed) t3169().set_param(*param.get_elem(17));
- if (param.get_size()>18 && param.get_elem(18)->get_type()!=Module_Param::MP_NotUsed) t3191().set_param(*param.get_elem(18));
- if (param.get_size()>19 && param.get_elem(19)->get_type()!=Module_Param::MP_NotUsed) t3193__10ms().set_param(*param.get_elem(19));
- if (param.get_size()>20 && param.get_elem(20)->get_type()!=Module_Param::MP_NotUsed) t3195().set_param(*param.get_elem(20));
- if (param.get_size()>21 && param.get_elem(21)->get_type()!=Module_Param::MP_NotUsed) t3101().set_param(*param.get_elem(21));
- if (param.get_size()>22 && param.get_elem(22)->get_type()!=Module_Param::MP_NotUsed) t3103().set_param(*param.get_elem(22));
- if (param.get_size()>23 && param.get_elem(23)->get_type()!=Module_Param::MP_NotUsed) t3105().set_param(*param.get_elem(23));
- if (param.get_size()>24 && param.get_elem(24)->get_type()!=Module_Param::MP_NotUsed) cv__countdown().set_param(*param.get_elem(24));
- if (param.get_size()>25 && param.get_elem(25)->get_type()!=Module_Param::MP_NotUsed) dl__tbf__ext().set_param(*param.get_elem(25));
- if (param.get_size()>26 && param.get_elem(26)->get_type()!=Module_Param::MP_NotUsed) ul__tbf__ext().set_param(*param.get_elem(26));
- if (param.get_size()>27 && param.get_elem(27)->get_type()!=Module_Param::MP_NotUsed) initial__cs().set_param(*param.get_elem(27));
- if (param.get_size()>28 && param.get_elem(28)->get_type()!=Module_Param::MP_NotUsed) initial__mcs().set_param(*param.get_elem(28));
- if (param.get_size()>29 && param.get_elem(29)->get_type()!=Module_Param::MP_NotUsed) nsvci().set_param(*param.get_elem(29));
- if (param.get_size()>30 && param.get_elem(30)->get_type()!=Module_Param::MP_NotUsed) local__pprt().set_param(*param.get_elem(30));
- if (param.get_size()>31 && param.get_elem(31)->get_type()!=Module_Param::MP_NotUsed) remote__port().set_param(*param.get_elem(31));
- if (param.get_size()>32 && param.get_elem(32)->get_type()!=Module_Param::MP_NotUsed) remote__ip().set_param(*param.get_elem(32));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "version")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- version().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "flags")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- flags().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bsic")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bsic().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mcc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mcc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mnc")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mnc().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "mnc_3_digits")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- mnc__3__digits().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "lac")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- lac().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "rac")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- rac().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nsei")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nsei().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nse_timer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nse__timer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cell_timer")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cell__timer().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cell_id")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cell__id().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "repeat_time")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- repeat__time().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "repeat_count")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- repeat__count().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bvci")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bvci().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3142")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3142().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3169")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3169().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3191")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3191().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3193_10ms")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3193__10ms().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3195")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3195().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3101")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3101().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3103")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3103().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "t3105")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- t3105().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cv_countdown")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cv__countdown().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "dl_tbf_ext")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- dl__tbf__ext().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ul_tbf_ext")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ul__tbf__ext().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "initial_cs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- initial__cs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "initial_mcs")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- initial__mcs().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "nsvci")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- nsvci().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "local_pprt")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- local__pprt().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "remote_port")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- remote__port().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "remote_ip")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- remote__ip().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_info_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_info_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__info__ind_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_version.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_flags.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_trx.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_bsic.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_mcc.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_mnc.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_mnc__3__digits.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_lac.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_rac.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_nsei.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_nse__timer.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_cell__timer.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_cell__id.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_repeat__time.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_repeat__count.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_bvci.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3142.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3169.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3191.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3193__10ms.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3195.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3101.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3103.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_t3105.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_cv__countdown.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_dl__tbf__ext.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_ul__tbf__ext.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_initial__cs.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_initial__mcs.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_nsvci.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_local__pprt.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_remote__port.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-single_value->field_remote__ip.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_info_ind");
-return;
-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 : "@PCUIF_Types.PCUIF_info_ind");
-}
-
-boolean PCUIF__info__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__info__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__act__req::PCUIF__act__req()
-{
-}
-
-PCUIF__act__req::PCUIF__act__req(const INTEGER& par_is__activate,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const OCTETSTRING& par_spare)
- : field_is__activate(par_is__activate),
- field_trx__nr(par_trx__nr),
- field_ts__nr(par_ts__nr),
- field_spare(par_spare)
-{
-}
-
-PCUIF__act__req::PCUIF__act__req(const PCUIF__act__req& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_act_req.");
-if (other_value.is__activate().is_bound()) field_is__activate = other_value.is__activate();
-else field_is__activate.clean_up();
-if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
-else field_trx__nr.clean_up();
-if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
-else field_ts__nr.clean_up();
-if (other_value.spare().is_bound()) field_spare = other_value.spare();
-else field_spare.clean_up();
-}
-
-void PCUIF__act__req::clean_up()
-{
-field_is__activate.clean_up();
-field_trx__nr.clean_up();
-field_ts__nr.clean_up();
-field_spare.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__act__req::get_descriptor() const { return &PCUIF__act__req_descr_; }
-PCUIF__act__req& PCUIF__act__req::operator=(const PCUIF__act__req& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_act_req.");
- if (other_value.is__activate().is_bound()) field_is__activate = other_value.is__activate();
- else field_is__activate.clean_up();
- if (other_value.trx__nr().is_bound()) field_trx__nr = other_value.trx__nr();
- else field_trx__nr.clean_up();
- if (other_value.ts__nr().is_bound()) field_ts__nr = other_value.ts__nr();
- else field_ts__nr.clean_up();
- if (other_value.spare().is_bound()) field_spare = other_value.spare();
- else field_spare.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__act__req::operator==(const PCUIF__act__req& other_value) const
-{
-return field_is__activate==other_value.field_is__activate
- && field_trx__nr==other_value.field_trx__nr
- && field_ts__nr==other_value.field_ts__nr
- && field_spare==other_value.field_spare;
-}
-
-boolean PCUIF__act__req::is_bound() const
-{
-if(field_is__activate.is_bound()) return TRUE;
-if(field_trx__nr.is_bound()) return TRUE;
-if(field_ts__nr.is_bound()) return TRUE;
-if(field_spare.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__act__req::is_value() const
-{
-if(!field_is__activate.is_value()) return FALSE;
-if(!field_trx__nr.is_value()) return FALSE;
-if(!field_ts__nr.is_value()) return FALSE;
-if(!field_spare.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__act__req::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ is_activate := ");
-field_is__activate.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-field_ts__nr.log();
-TTCN_Logger::log_event_str(", spare := ");
-field_spare.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__act__req::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (4<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_act_req has 4 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) is__activate().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(3));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "is_activate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- is__activate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_act_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_act_req");
- }
-}
-
-void PCUIF__act__req::set_implicit_omit()
-{
-if (is__activate().is_bound()) is__activate().set_implicit_omit();
-if (trx__nr().is_bound()) trx__nr().set_implicit_omit();
-if (ts__nr().is_bound()) ts__nr().set_implicit_omit();
-if (spare().is_bound()) spare().set_implicit_omit();
-}
-
-void PCUIF__act__req::encode_text(Text_Buf& text_buf) const
-{
-field_is__activate.encode_text(text_buf);
-field_trx__nr.encode_text(text_buf);
-field_ts__nr.encode_text(text_buf);
-field_spare.encode_text(text_buf);
-}
-
-void PCUIF__act__req::decode_text(Text_Buf& text_buf)
-{
-field_is__activate.decode_text(text_buf);
-field_trx__nr.decode_text(text_buf);
-field_ts__nr.decode_text(text_buf);
-field_spare.decode_text(text_buf);
-}
-
-void PCUIF__act__req::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__act__req::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__act__req::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__act__req_is__activate_descr_.raw->forceomit);
- decoded_field_length = field_is__activate.RAW_decode(PCUIF__act__req_is__activate_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__act__req_trx__nr_descr_.raw->forceomit);
- decoded_field_length = field_trx__nr.RAW_decode(PCUIF__act__req_trx__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__act__req_ts__nr_descr_.raw->forceomit);
- decoded_field_length = field_ts__nr.RAW_decode(PCUIF__act__req_ts__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__act__req_spare_descr_.raw->forceomit);
- decoded_field_length = field_spare.RAW_decode(PCUIF__act__req_spare_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__act__req::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 4;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(4);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__act__req_is__activate_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__act__req_trx__nr_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__act__req_ts__nr_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__act__req_spare_descr_.raw);
- encoded_length += field_is__activate.RAW_encode(PCUIF__act__req_is__activate_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_trx__nr.RAW_encode(PCUIF__act__req_trx__nr_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_ts__nr.RAW_encode(PCUIF__act__req_ts__nr_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_spare.RAW_encode(PCUIF__act__req_spare_descr_, *myleaf.body.node.nodes[3]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__act__req_template::single_value_struct {
-INTEGER_template field_is__activate;
-INTEGER_template field_trx__nr;
-INTEGER_template field_ts__nr;
-OCTETSTRING_template field_spare;
-};
-
-void PCUIF__act__req_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_is__activate = ANY_VALUE;
-single_value->field_trx__nr = ANY_VALUE;
-single_value->field_ts__nr = ANY_VALUE;
-single_value->field_spare = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__act__req_template::copy_value(const PCUIF__act__req& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.is__activate().is_bound()) {
- single_value->field_is__activate = other_value.is__activate();
-} else {
- single_value->field_is__activate.clean_up();
-}
-if (other_value.trx__nr().is_bound()) {
- single_value->field_trx__nr = other_value.trx__nr();
-} else {
- single_value->field_trx__nr.clean_up();
-}
-if (other_value.ts__nr().is_bound()) {
- single_value->field_ts__nr = other_value.ts__nr();
-} else {
- single_value->field_ts__nr.clean_up();
-}
-if (other_value.spare().is_bound()) {
- single_value->field_spare = other_value.spare();
-} else {
- single_value->field_spare.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__act__req_template::copy_template(const PCUIF__act__req_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.is__activate().get_selection()) {
-single_value->field_is__activate = other_value.is__activate();
-} else {
-single_value->field_is__activate.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.trx__nr().get_selection()) {
-single_value->field_trx__nr = other_value.trx__nr();
-} else {
-single_value->field_trx__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ts__nr().get_selection()) {
-single_value->field_ts__nr = other_value.ts__nr();
-} else {
-single_value->field_ts__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare().get_selection()) {
-single_value->field_spare = other_value.spare();
-} else {
-single_value->field_spare.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__act__req_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_act_req.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__act__req_template::PCUIF__act__req_template()
-{
-}
-
-PCUIF__act__req_template::PCUIF__act__req_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__act__req_template::PCUIF__act__req_template(const PCUIF__act__req& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__act__req_template::PCUIF__act__req_template(const OPTIONAL<PCUIF__act__req>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__act__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_act_req from an unbound optional field.");
-}
-}
-
-PCUIF__act__req_template::PCUIF__act__req_template(const PCUIF__act__req_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__act__req_template::~PCUIF__act__req_template()
-{
-clean_up();
-}
-
-PCUIF__act__req_template& PCUIF__act__req_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__act__req_template& PCUIF__act__req_template::operator=(const PCUIF__act__req& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__act__req_template& PCUIF__act__req_template::operator=(const OPTIONAL<PCUIF__act__req>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__act__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_act_req.");
-}
-return *this;
-}
-
-PCUIF__act__req_template& PCUIF__act__req_template::operator=(const PCUIF__act__req_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__act__req_template::match(const PCUIF__act__req& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.is__activate().is_bound()) return FALSE;
-if(!single_value->field_is__activate.match(other_value.is__activate(), legacy))return FALSE;
-if(!other_value.trx__nr().is_bound()) return FALSE;
-if(!single_value->field_trx__nr.match(other_value.trx__nr(), legacy))return FALSE;
-if(!other_value.ts__nr().is_bound()) return FALSE;
-if(!single_value->field_ts__nr.match(other_value.ts__nr(), legacy))return FALSE;
-if(!other_value.spare().is_bound()) return FALSE;
-if(!single_value->field_spare.match(other_value.spare(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_act_req.");
-}
-return FALSE;
-}
-
-boolean PCUIF__act__req_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_is__activate.is_bound()) return TRUE;
-if (single_value->field_trx__nr.is_bound()) return TRUE;
-if (single_value->field_ts__nr.is_bound()) return TRUE;
-if (single_value->field_spare.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__act__req_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_is__activate.is_value()) return FALSE;
-if (!single_value->field_trx__nr.is_value()) return FALSE;
-if (!single_value->field_ts__nr.is_value()) return FALSE;
-if (!single_value->field_spare.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__act__req_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__act__req PCUIF__act__req_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_act_req.");
-PCUIF__act__req ret_val;
-if (single_value->field_is__activate.is_bound()) {
-ret_val.is__activate() = single_value->field_is__activate.valueof();
-}
-if (single_value->field_trx__nr.is_bound()) {
-ret_val.trx__nr() = single_value->field_trx__nr.valueof();
-}
-if (single_value->field_ts__nr.is_bound()) {
-ret_val.ts__nr() = single_value->field_ts__nr.valueof();
-}
-if (single_value->field_spare.is_bound()) {
-ret_val.spare() = single_value->field_spare.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__act__req_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_act_req.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__act__req_template[list_length];
-}
-
-PCUIF__act__req_template& PCUIF__act__req_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_act_req.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_act_req.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& PCUIF__act__req_template::is__activate()
-{
-set_specific();
-return single_value->field_is__activate;
-}
-
-const INTEGER_template& PCUIF__act__req_template::is__activate() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field is_activate of a non-specific template of type @PCUIF_Types.PCUIF_act_req.");
-return single_value->field_is__activate;
-}
-
-INTEGER_template& PCUIF__act__req_template::trx__nr()
-{
-set_specific();
-return single_value->field_trx__nr;
-}
-
-const INTEGER_template& PCUIF__act__req_template::trx__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field trx_nr of a non-specific template of type @PCUIF_Types.PCUIF_act_req.");
-return single_value->field_trx__nr;
-}
-
-INTEGER_template& PCUIF__act__req_template::ts__nr()
-{
-set_specific();
-return single_value->field_ts__nr;
-}
-
-const INTEGER_template& PCUIF__act__req_template::ts__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ts_nr of a non-specific template of type @PCUIF_Types.PCUIF_act_req.");
-return single_value->field_ts__nr;
-}
-
-OCTETSTRING_template& PCUIF__act__req_template::spare()
-{
-set_specific();
-return single_value->field_spare;
-}
-
-const OCTETSTRING_template& PCUIF__act__req_template::spare() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare of a non-specific template of type @PCUIF_Types.PCUIF_act_req.");
-return single_value->field_spare;
-}
-
-int PCUIF__act__req_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 4;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_act_req containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_act_req.");
- }
- return 0;
-}
-
-void PCUIF__act__req_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ is_activate := ");
-single_value->field_is__activate.log();
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log();
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log();
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__act__req_template::log_match(const PCUIF__act__req& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_is__activate.match(match_value.is__activate(), legacy)){
-TTCN_Logger::log_logmatch_info(".is_activate");
-single_value->field_is__activate.log_match(match_value.is__activate(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_trx__nr.match(match_value.trx__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".trx_nr");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ts__nr.match(match_value.ts__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".ts_nr");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare.match(match_value.spare(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ is_activate := ");
-single_value->field_is__activate.log_match(match_value.is__activate(), legacy);
-TTCN_Logger::log_event_str(", trx_nr := ");
-single_value->field_trx__nr.log_match(match_value.trx__nr(), legacy);
-TTCN_Logger::log_event_str(", ts_nr := ");
-single_value->field_ts__nr.log_match(match_value.ts__nr(), legacy);
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__act__req_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_is__activate.encode_text(text_buf);
-single_value->field_trx__nr.encode_text(text_buf);
-single_value->field_ts__nr.encode_text(text_buf);
-single_value->field_spare.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_act_req.");
-}
-}
-
-void PCUIF__act__req_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_is__activate.decode_text(text_buf);
-single_value->field_trx__nr.decode_text(text_buf);
-single_value->field_ts__nr.decode_text(text_buf);
-single_value->field_spare.decode_text(text_buf);
-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 PCUIF__act__req_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_act_req.");
-}
-}
-
-void PCUIF__act__req_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__act__req_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (4<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_act_req has 4 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) is__activate().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) trx__nr().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) ts__nr().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(3));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "is_activate")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- is__activate().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "trx_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- trx__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_act_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_act_req");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__act__req_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_is__activate.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_act_req");
-single_value->field_trx__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_act_req");
-single_value->field_ts__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_act_req");
-single_value->field_spare.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_act_req");
-return;
-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 : "@PCUIF_Types.PCUIF_act_req");
-}
-
-boolean PCUIF__act__req_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__act__req_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__time__ind::PCUIF__time__ind()
-{
-}
-
-PCUIF__time__ind::PCUIF__time__ind(const INTEGER& par_fn)
- : field_fn(par_fn)
-{
-}
-
-PCUIF__time__ind::PCUIF__time__ind(const PCUIF__time__ind& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_time_ind.");
-if (other_value.fn().is_bound()) field_fn = other_value.fn();
-else field_fn.clean_up();
-}
-
-void PCUIF__time__ind::clean_up()
-{
-field_fn.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__time__ind::get_descriptor() const { return &PCUIF__time__ind_descr_; }
-PCUIF__time__ind& PCUIF__time__ind::operator=(const PCUIF__time__ind& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_time_ind.");
- if (other_value.fn().is_bound()) field_fn = other_value.fn();
- else field_fn.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__time__ind::operator==(const PCUIF__time__ind& other_value) const
-{
-return field_fn==other_value.field_fn;
-}
-
-boolean PCUIF__time__ind::is_bound() const
-{
-if(field_fn.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__time__ind::is_value() const
-{
-if(!field_fn.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__time__ind::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ fn := ");
-field_fn.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__time__ind::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (1<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_time_ind has 1 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(0));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_time_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_time_ind");
- }
-}
-
-void PCUIF__time__ind::set_implicit_omit()
-{
-if (fn().is_bound()) fn().set_implicit_omit();
-}
-
-void PCUIF__time__ind::encode_text(Text_Buf& text_buf) const
-{
-field_fn.encode_text(text_buf);
-}
-
-void PCUIF__time__ind::decode_text(Text_Buf& text_buf)
-{
-field_fn.decode_text(text_buf);
-}
-
-void PCUIF__time__ind::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__time__ind::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__time__ind::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__time__ind_fn_descr_.raw->forceomit);
- decoded_field_length = field_fn.RAW_decode(PCUIF__time__ind_fn_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__time__ind::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 1;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(1);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__time__ind_fn_descr_.raw);
- encoded_length += field_fn.RAW_encode(PCUIF__time__ind_fn_descr_, *myleaf.body.node.nodes[0]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__time__ind_template::single_value_struct {
-INTEGER_template field_fn;
-};
-
-void PCUIF__time__ind_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_fn = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__time__ind_template::copy_value(const PCUIF__time__ind& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.fn().is_bound()) {
- single_value->field_fn = other_value.fn();
-} else {
- single_value->field_fn.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__time__ind_template::copy_template(const PCUIF__time__ind_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.fn().get_selection()) {
-single_value->field_fn = other_value.fn();
-} else {
-single_value->field_fn.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__time__ind_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_time_ind.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__time__ind_template::PCUIF__time__ind_template()
-{
-}
-
-PCUIF__time__ind_template::PCUIF__time__ind_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__time__ind_template::PCUIF__time__ind_template(const PCUIF__time__ind& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__time__ind_template::PCUIF__time__ind_template(const OPTIONAL<PCUIF__time__ind>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__time__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_time_ind from an unbound optional field.");
-}
-}
-
-PCUIF__time__ind_template::PCUIF__time__ind_template(const PCUIF__time__ind_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__time__ind_template::~PCUIF__time__ind_template()
-{
-clean_up();
-}
-
-PCUIF__time__ind_template& PCUIF__time__ind_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__time__ind_template& PCUIF__time__ind_template::operator=(const PCUIF__time__ind& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__time__ind_template& PCUIF__time__ind_template::operator=(const OPTIONAL<PCUIF__time__ind>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__time__ind&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_time_ind.");
-}
-return *this;
-}
-
-PCUIF__time__ind_template& PCUIF__time__ind_template::operator=(const PCUIF__time__ind_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__time__ind_template::match(const PCUIF__time__ind& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.fn().is_bound()) return FALSE;
-if(!single_value->field_fn.match(other_value.fn(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_time_ind.");
-}
-return FALSE;
-}
-
-boolean PCUIF__time__ind_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_fn.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__time__ind_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_fn.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__time__ind_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__time__ind PCUIF__time__ind_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_time_ind.");
-PCUIF__time__ind ret_val;
-if (single_value->field_fn.is_bound()) {
-ret_val.fn() = single_value->field_fn.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__time__ind_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_time_ind.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__time__ind_template[list_length];
-}
-
-PCUIF__time__ind_template& PCUIF__time__ind_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_time_ind.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_time_ind.");
-return value_list.list_value[list_index];
-}
-
-INTEGER_template& PCUIF__time__ind_template::fn()
-{
-set_specific();
-return single_value->field_fn;
-}
-
-const INTEGER_template& PCUIF__time__ind_template::fn() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field fn of a non-specific template of type @PCUIF_Types.PCUIF_time_ind.");
-return single_value->field_fn;
-}
-
-int PCUIF__time__ind_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 1;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_time_ind containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_time_ind.");
- }
- return 0;
-}
-
-void PCUIF__time__ind_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ fn := ");
-single_value->field_fn.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__time__ind_template::log_match(const PCUIF__time__ind& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_fn.match(match_value.fn(), legacy)){
-TTCN_Logger::log_logmatch_info(".fn");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ fn := ");
-single_value->field_fn.log_match(match_value.fn(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__time__ind_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_fn.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_time_ind.");
-}
-}
-
-void PCUIF__time__ind_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_fn.decode_text(text_buf);
-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 PCUIF__time__ind_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_time_ind.");
-}
-}
-
-void PCUIF__time__ind_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__time__ind_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (1<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_time_ind has 1 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) fn().set_param(*param.get_elem(0));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "fn")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- fn().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_time_ind: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_time_ind");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__time__ind_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_fn.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_time_ind");
-return;
-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 : "@PCUIF_Types.PCUIF_time_ind");
-}
-
-boolean PCUIF__time__ind_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__time__ind_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__pag__req::PCUIF__pag__req()
-{
-}
-
-PCUIF__pag__req::PCUIF__pag__req(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_chan__needed,
- const OCTETSTRING& par_identity__lv)
- : field_sapi(par_sapi),
- field_chan__needed(par_chan__needed),
- field_identity__lv(par_identity__lv)
-{
-}
-
-PCUIF__pag__req::PCUIF__pag__req(const PCUIF__pag__req& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_pag_req.");
-if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
-else field_sapi.clean_up();
-if (other_value.chan__needed().is_bound()) field_chan__needed = other_value.chan__needed();
-else field_chan__needed.clean_up();
-if (other_value.identity__lv().is_bound()) field_identity__lv = other_value.identity__lv();
-else field_identity__lv.clean_up();
-}
-
-void PCUIF__pag__req::clean_up()
-{
-field_sapi.clean_up();
-field_chan__needed.clean_up();
-field_identity__lv.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__pag__req::get_descriptor() const { return &PCUIF__pag__req_descr_; }
-PCUIF__pag__req& PCUIF__pag__req::operator=(const PCUIF__pag__req& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_pag_req.");
- if (other_value.sapi().is_bound()) field_sapi = other_value.sapi();
- else field_sapi.clean_up();
- if (other_value.chan__needed().is_bound()) field_chan__needed = other_value.chan__needed();
- else field_chan__needed.clean_up();
- if (other_value.identity__lv().is_bound()) field_identity__lv = other_value.identity__lv();
- else field_identity__lv.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__pag__req::operator==(const PCUIF__pag__req& other_value) const
-{
-return field_sapi==other_value.field_sapi
- && field_chan__needed==other_value.field_chan__needed
- && field_identity__lv==other_value.field_identity__lv;
-}
-
-boolean PCUIF__pag__req::is_bound() const
-{
-if(field_sapi.is_bound()) return TRUE;
-if(field_chan__needed.is_bound()) return TRUE;
-if(field_identity__lv.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__pag__req::is_value() const
-{
-if(!field_sapi.is_value()) return FALSE;
-if(!field_chan__needed.is_value()) return FALSE;
-if(!field_identity__lv.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__pag__req::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ sapi := ");
-field_sapi.log();
-TTCN_Logger::log_event_str(", chan_needed := ");
-field_chan__needed.log();
-TTCN_Logger::log_event_str(", identity_lv := ");
-field_identity__lv.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__pag__req::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_pag_req has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) chan__needed().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) identity__lv().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "chan_needed")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- chan__needed().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "identity_lv")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- identity__lv().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_pag_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_pag_req");
- }
-}
-
-void PCUIF__pag__req::set_implicit_omit()
-{
-if (sapi().is_bound()) sapi().set_implicit_omit();
-if (chan__needed().is_bound()) chan__needed().set_implicit_omit();
-if (identity__lv().is_bound()) identity__lv().set_implicit_omit();
-}
-
-void PCUIF__pag__req::encode_text(Text_Buf& text_buf) const
-{
-field_sapi.encode_text(text_buf);
-field_chan__needed.encode_text(text_buf);
-field_identity__lv.encode_text(text_buf);
-}
-
-void PCUIF__pag__req::decode_text(Text_Buf& text_buf)
-{
-field_sapi.decode_text(text_buf);
-field_chan__needed.decode_text(text_buf);
-field_identity__lv.decode_text(text_buf);
-}
-
-void PCUIF__pag__req::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__pag__req::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__pag__req::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__pag__req_sapi_descr_.raw->forceomit);
- decoded_field_length = field_sapi.RAW_decode(PCUIF__pag__req_sapi_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__pag__req_chan__needed_descr_.raw->forceomit);
- decoded_field_length = field_chan__needed.RAW_decode(PCUIF__pag__req_chan__needed_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__pag__req_identity__lv_descr_.raw->forceomit);
- decoded_field_length = field_identity__lv.RAW_decode(PCUIF__pag__req_identity__lv_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__pag__req::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 3;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(3);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__pag__req_sapi_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__pag__req_chan__needed_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__pag__req_identity__lv_descr_.raw);
- encoded_length += field_sapi.RAW_encode(PCUIF__pag__req_sapi_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_chan__needed.RAW_encode(PCUIF__pag__req_chan__needed_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_identity__lv.RAW_encode(PCUIF__pag__req_identity__lv_descr_, *myleaf.body.node.nodes[2]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__pag__req_template::single_value_struct {
-PCUIF__Sapi_template field_sapi;
-INTEGER_template field_chan__needed;
-OCTETSTRING_template field_identity__lv;
-};
-
-void PCUIF__pag__req_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_sapi = ANY_VALUE;
-single_value->field_chan__needed = ANY_VALUE;
-single_value->field_identity__lv = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__pag__req_template::copy_value(const PCUIF__pag__req& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.sapi().is_bound()) {
- single_value->field_sapi = other_value.sapi();
-} else {
- single_value->field_sapi.clean_up();
-}
-if (other_value.chan__needed().is_bound()) {
- single_value->field_chan__needed = other_value.chan__needed();
-} else {
- single_value->field_chan__needed.clean_up();
-}
-if (other_value.identity__lv().is_bound()) {
- single_value->field_identity__lv = other_value.identity__lv();
-} else {
- single_value->field_identity__lv.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__pag__req_template::copy_template(const PCUIF__pag__req_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.sapi().get_selection()) {
-single_value->field_sapi = other_value.sapi();
-} else {
-single_value->field_sapi.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.chan__needed().get_selection()) {
-single_value->field_chan__needed = other_value.chan__needed();
-} else {
-single_value->field_chan__needed.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.identity__lv().get_selection()) {
-single_value->field_identity__lv = other_value.identity__lv();
-} else {
-single_value->field_identity__lv.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__pag__req_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_pag_req.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__pag__req_template::PCUIF__pag__req_template()
-{
-}
-
-PCUIF__pag__req_template::PCUIF__pag__req_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__pag__req_template::PCUIF__pag__req_template(const PCUIF__pag__req& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__pag__req_template::PCUIF__pag__req_template(const OPTIONAL<PCUIF__pag__req>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__pag__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_pag_req from an unbound optional field.");
-}
-}
-
-PCUIF__pag__req_template::PCUIF__pag__req_template(const PCUIF__pag__req_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__pag__req_template::~PCUIF__pag__req_template()
-{
-clean_up();
-}
-
-PCUIF__pag__req_template& PCUIF__pag__req_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__pag__req_template& PCUIF__pag__req_template::operator=(const PCUIF__pag__req& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__pag__req_template& PCUIF__pag__req_template::operator=(const OPTIONAL<PCUIF__pag__req>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__pag__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_pag_req.");
-}
-return *this;
-}
-
-PCUIF__pag__req_template& PCUIF__pag__req_template::operator=(const PCUIF__pag__req_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__pag__req_template::match(const PCUIF__pag__req& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.sapi().is_bound()) return FALSE;
-if(!single_value->field_sapi.match(other_value.sapi(), legacy))return FALSE;
-if(!other_value.chan__needed().is_bound()) return FALSE;
-if(!single_value->field_chan__needed.match(other_value.chan__needed(), legacy))return FALSE;
-if(!other_value.identity__lv().is_bound()) return FALSE;
-if(!single_value->field_identity__lv.match(other_value.identity__lv(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_pag_req.");
-}
-return FALSE;
-}
-
-boolean PCUIF__pag__req_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_sapi.is_bound()) return TRUE;
-if (single_value->field_chan__needed.is_bound()) return TRUE;
-if (single_value->field_identity__lv.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__pag__req_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_sapi.is_value()) return FALSE;
-if (!single_value->field_chan__needed.is_value()) return FALSE;
-if (!single_value->field_identity__lv.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__pag__req_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__pag__req PCUIF__pag__req_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_pag_req.");
-PCUIF__pag__req ret_val;
-if (single_value->field_sapi.is_bound()) {
-ret_val.sapi() = single_value->field_sapi.valueof();
-}
-if (single_value->field_chan__needed.is_bound()) {
-ret_val.chan__needed() = single_value->field_chan__needed.valueof();
-}
-if (single_value->field_identity__lv.is_bound()) {
-ret_val.identity__lv() = single_value->field_identity__lv.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__pag__req_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_pag_req.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__pag__req_template[list_length];
-}
-
-PCUIF__pag__req_template& PCUIF__pag__req_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_pag_req.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_pag_req.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__Sapi_template& PCUIF__pag__req_template::sapi()
-{
-set_specific();
-return single_value->field_sapi;
-}
-
-const PCUIF__Sapi_template& PCUIF__pag__req_template::sapi() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field sapi of a non-specific template of type @PCUIF_Types.PCUIF_pag_req.");
-return single_value->field_sapi;
-}
-
-INTEGER_template& PCUIF__pag__req_template::chan__needed()
-{
-set_specific();
-return single_value->field_chan__needed;
-}
-
-const INTEGER_template& PCUIF__pag__req_template::chan__needed() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field chan_needed of a non-specific template of type @PCUIF_Types.PCUIF_pag_req.");
-return single_value->field_chan__needed;
-}
-
-OCTETSTRING_template& PCUIF__pag__req_template::identity__lv()
-{
-set_specific();
-return single_value->field_identity__lv;
-}
-
-const OCTETSTRING_template& PCUIF__pag__req_template::identity__lv() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field identity_lv of a non-specific template of type @PCUIF_Types.PCUIF_pag_req.");
-return single_value->field_identity__lv;
-}
-
-int PCUIF__pag__req_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 3;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_pag_req containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_pag_req.");
- }
- return 0;
-}
-
-void PCUIF__pag__req_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log();
-TTCN_Logger::log_event_str(", chan_needed := ");
-single_value->field_chan__needed.log();
-TTCN_Logger::log_event_str(", identity_lv := ");
-single_value->field_identity__lv.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__pag__req_template::log_match(const PCUIF__pag__req& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_sapi.match(match_value.sapi(), legacy)){
-TTCN_Logger::log_logmatch_info(".sapi");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_chan__needed.match(match_value.chan__needed(), legacy)){
-TTCN_Logger::log_logmatch_info(".chan_needed");
-single_value->field_chan__needed.log_match(match_value.chan__needed(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_identity__lv.match(match_value.identity__lv(), legacy)){
-TTCN_Logger::log_logmatch_info(".identity_lv");
-single_value->field_identity__lv.log_match(match_value.identity__lv(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ sapi := ");
-single_value->field_sapi.log_match(match_value.sapi(), legacy);
-TTCN_Logger::log_event_str(", chan_needed := ");
-single_value->field_chan__needed.log_match(match_value.chan__needed(), legacy);
-TTCN_Logger::log_event_str(", identity_lv := ");
-single_value->field_identity__lv.log_match(match_value.identity__lv(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__pag__req_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_sapi.encode_text(text_buf);
-single_value->field_chan__needed.encode_text(text_buf);
-single_value->field_identity__lv.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_pag_req.");
-}
-}
-
-void PCUIF__pag__req_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_sapi.decode_text(text_buf);
-single_value->field_chan__needed.decode_text(text_buf);
-single_value->field_identity__lv.decode_text(text_buf);
-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 PCUIF__pag__req_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_pag_req.");
-}
-}
-
-void PCUIF__pag__req_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__pag__req_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_pag_req has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) sapi().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) chan__needed().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) identity__lv().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "sapi")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- sapi().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "chan_needed")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- chan__needed().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "identity_lv")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- identity__lv().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_pag_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_pag_req");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__pag__req_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_sapi.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_pag_req");
-single_value->field_chan__needed.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_pag_req");
-single_value->field_identity__lv.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_pag_req");
-return;
-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 : "@PCUIF_Types.PCUIF_pag_req");
-}
-
-boolean PCUIF__pag__req_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__pag__req_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-PCUIF__susp__req::PCUIF__susp__req()
-{
-}
-
-PCUIF__susp__req::PCUIF__susp__req(const OCTETSTRING& par_tlli,
- const OCTETSTRING& par_ra__id,
- const INTEGER& par_cause)
- : field_tlli(par_tlli),
- field_ra__id(par_ra__id),
- field_cause(par_cause)
-{
-}
-
-PCUIF__susp__req::PCUIF__susp__req(const PCUIF__susp__req& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_susp_req.");
-if (other_value.tlli().is_bound()) field_tlli = other_value.tlli();
-else field_tlli.clean_up();
-if (other_value.ra__id().is_bound()) field_ra__id = other_value.ra__id();
-else field_ra__id.clean_up();
-if (other_value.cause().is_bound()) field_cause = other_value.cause();
-else field_cause.clean_up();
-}
-
-void PCUIF__susp__req::clean_up()
-{
-field_tlli.clean_up();
-field_ra__id.clean_up();
-field_cause.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__susp__req::get_descriptor() const { return &PCUIF__susp__req_descr_; }
-PCUIF__susp__req& PCUIF__susp__req::operator=(const PCUIF__susp__req& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_susp_req.");
- if (other_value.tlli().is_bound()) field_tlli = other_value.tlli();
- else field_tlli.clean_up();
- if (other_value.ra__id().is_bound()) field_ra__id = other_value.ra__id();
- else field_ra__id.clean_up();
- if (other_value.cause().is_bound()) field_cause = other_value.cause();
- else field_cause.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__susp__req::operator==(const PCUIF__susp__req& other_value) const
-{
-return field_tlli==other_value.field_tlli
- && field_ra__id==other_value.field_ra__id
- && field_cause==other_value.field_cause;
-}
-
-boolean PCUIF__susp__req::is_bound() const
-{
-if(field_tlli.is_bound()) return TRUE;
-if(field_ra__id.is_bound()) return TRUE;
-if(field_cause.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__susp__req::is_value() const
-{
-if(!field_tlli.is_value()) return FALSE;
-if(!field_ra__id.is_value()) return FALSE;
-if(!field_cause.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__susp__req::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ tlli := ");
-field_tlli.log();
-TTCN_Logger::log_event_str(", ra_id := ");
-field_ra__id.log();
-TTCN_Logger::log_event_str(", cause := ");
-field_cause.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__susp__req::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_susp_req has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) tlli().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ra__id().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) cause().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tlli")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tlli().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ra_id")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ra__id().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cause")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cause().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_susp_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_susp_req");
- }
-}
-
-void PCUIF__susp__req::set_implicit_omit()
-{
-if (tlli().is_bound()) tlli().set_implicit_omit();
-if (ra__id().is_bound()) ra__id().set_implicit_omit();
-if (cause().is_bound()) cause().set_implicit_omit();
-}
-
-void PCUIF__susp__req::encode_text(Text_Buf& text_buf) const
-{
-field_tlli.encode_text(text_buf);
-field_ra__id.encode_text(text_buf);
-field_cause.encode_text(text_buf);
-}
-
-void PCUIF__susp__req::decode_text(Text_Buf& text_buf)
-{
-field_tlli.decode_text(text_buf);
-field_ra__id.decode_text(text_buf);
-field_cause.decode_text(text_buf);
-}
-
-void PCUIF__susp__req::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__susp__req::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__susp__req::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__susp__req_tlli_descr_.raw->forceomit);
- decoded_field_length = field_tlli.RAW_decode(PCUIF__susp__req_tlli_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__susp__req_ra__id_descr_.raw->forceomit);
- decoded_field_length = field_ra__id.RAW_decode(PCUIF__susp__req_ra__id_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__susp__req_cause_descr_.raw->forceomit);
- decoded_field_length = field_cause.RAW_decode(PCUIF__susp__req_cause_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__susp__req::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 3;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(3);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__susp__req_tlli_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__susp__req_ra__id_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__susp__req_cause_descr_.raw);
- encoded_length += field_tlli.RAW_encode(PCUIF__susp__req_tlli_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_ra__id.RAW_encode(PCUIF__susp__req_ra__id_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_cause.RAW_encode(PCUIF__susp__req_cause_descr_, *myleaf.body.node.nodes[2]);
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__susp__req_template::single_value_struct {
-OCTETSTRING_template field_tlli;
-OCTETSTRING_template field_ra__id;
-INTEGER_template field_cause;
-};
-
-void PCUIF__susp__req_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_tlli = ANY_VALUE;
-single_value->field_ra__id = ANY_VALUE;
-single_value->field_cause = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__susp__req_template::copy_value(const PCUIF__susp__req& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.tlli().is_bound()) {
- single_value->field_tlli = other_value.tlli();
-} else {
- single_value->field_tlli.clean_up();
-}
-if (other_value.ra__id().is_bound()) {
- single_value->field_ra__id = other_value.ra__id();
-} else {
- single_value->field_ra__id.clean_up();
-}
-if (other_value.cause().is_bound()) {
- single_value->field_cause = other_value.cause();
-} else {
- single_value->field_cause.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__susp__req_template::copy_template(const PCUIF__susp__req_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.tlli().get_selection()) {
-single_value->field_tlli = other_value.tlli();
-} else {
-single_value->field_tlli.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.ra__id().get_selection()) {
-single_value->field_ra__id = other_value.ra__id();
-} else {
-single_value->field_ra__id.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.cause().get_selection()) {
-single_value->field_cause = other_value.cause();
-} else {
-single_value->field_cause.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__susp__req_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_susp_req.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__susp__req_template::PCUIF__susp__req_template()
-{
-}
-
-PCUIF__susp__req_template::PCUIF__susp__req_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__susp__req_template::PCUIF__susp__req_template(const PCUIF__susp__req& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__susp__req_template::PCUIF__susp__req_template(const OPTIONAL<PCUIF__susp__req>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__susp__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_susp_req from an unbound optional field.");
-}
-}
-
-PCUIF__susp__req_template::PCUIF__susp__req_template(const PCUIF__susp__req_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__susp__req_template::~PCUIF__susp__req_template()
-{
-clean_up();
-}
-
-PCUIF__susp__req_template& PCUIF__susp__req_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__susp__req_template& PCUIF__susp__req_template::operator=(const PCUIF__susp__req& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__susp__req_template& PCUIF__susp__req_template::operator=(const OPTIONAL<PCUIF__susp__req>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__susp__req&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_susp_req.");
-}
-return *this;
-}
-
-PCUIF__susp__req_template& PCUIF__susp__req_template::operator=(const PCUIF__susp__req_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__susp__req_template::match(const PCUIF__susp__req& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.tlli().is_bound()) return FALSE;
-if(!single_value->field_tlli.match(other_value.tlli(), legacy))return FALSE;
-if(!other_value.ra__id().is_bound()) return FALSE;
-if(!single_value->field_ra__id.match(other_value.ra__id(), legacy))return FALSE;
-if(!other_value.cause().is_bound()) return FALSE;
-if(!single_value->field_cause.match(other_value.cause(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_susp_req.");
-}
-return FALSE;
-}
-
-boolean PCUIF__susp__req_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_tlli.is_bound()) return TRUE;
-if (single_value->field_ra__id.is_bound()) return TRUE;
-if (single_value->field_cause.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__susp__req_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_tlli.is_value()) return FALSE;
-if (!single_value->field_ra__id.is_value()) return FALSE;
-if (!single_value->field_cause.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__susp__req_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__susp__req PCUIF__susp__req_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_susp_req.");
-PCUIF__susp__req ret_val;
-if (single_value->field_tlli.is_bound()) {
-ret_val.tlli() = single_value->field_tlli.valueof();
-}
-if (single_value->field_ra__id.is_bound()) {
-ret_val.ra__id() = single_value->field_ra__id.valueof();
-}
-if (single_value->field_cause.is_bound()) {
-ret_val.cause() = single_value->field_cause.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__susp__req_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_susp_req.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__susp__req_template[list_length];
-}
-
-PCUIF__susp__req_template& PCUIF__susp__req_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_susp_req.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_susp_req.");
-return value_list.list_value[list_index];
-}
-
-OCTETSTRING_template& PCUIF__susp__req_template::tlli()
-{
-set_specific();
-return single_value->field_tlli;
-}
-
-const OCTETSTRING_template& PCUIF__susp__req_template::tlli() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field tlli of a non-specific template of type @PCUIF_Types.PCUIF_susp_req.");
-return single_value->field_tlli;
-}
-
-OCTETSTRING_template& PCUIF__susp__req_template::ra__id()
-{
-set_specific();
-return single_value->field_ra__id;
-}
-
-const OCTETSTRING_template& PCUIF__susp__req_template::ra__id() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field ra_id of a non-specific template of type @PCUIF_Types.PCUIF_susp_req.");
-return single_value->field_ra__id;
-}
-
-INTEGER_template& PCUIF__susp__req_template::cause()
-{
-set_specific();
-return single_value->field_cause;
-}
-
-const INTEGER_template& PCUIF__susp__req_template::cause() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field cause of a non-specific template of type @PCUIF_Types.PCUIF_susp_req.");
-return single_value->field_cause;
-}
-
-int PCUIF__susp__req_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 3;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_susp_req containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_susp_req.");
- }
- return 0;
-}
-
-void PCUIF__susp__req_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ tlli := ");
-single_value->field_tlli.log();
-TTCN_Logger::log_event_str(", ra_id := ");
-single_value->field_ra__id.log();
-TTCN_Logger::log_event_str(", cause := ");
-single_value->field_cause.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__susp__req_template::log_match(const PCUIF__susp__req& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_tlli.match(match_value.tlli(), legacy)){
-TTCN_Logger::log_logmatch_info(".tlli");
-single_value->field_tlli.log_match(match_value.tlli(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_ra__id.match(match_value.ra__id(), legacy)){
-TTCN_Logger::log_logmatch_info(".ra_id");
-single_value->field_ra__id.log_match(match_value.ra__id(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_cause.match(match_value.cause(), legacy)){
-TTCN_Logger::log_logmatch_info(".cause");
-single_value->field_cause.log_match(match_value.cause(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ tlli := ");
-single_value->field_tlli.log_match(match_value.tlli(), legacy);
-TTCN_Logger::log_event_str(", ra_id := ");
-single_value->field_ra__id.log_match(match_value.ra__id(), legacy);
-TTCN_Logger::log_event_str(", cause := ");
-single_value->field_cause.log_match(match_value.cause(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__susp__req_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_tlli.encode_text(text_buf);
-single_value->field_ra__id.encode_text(text_buf);
-single_value->field_cause.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_susp_req.");
-}
-}
-
-void PCUIF__susp__req_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_tlli.decode_text(text_buf);
-single_value->field_ra__id.decode_text(text_buf);
-single_value->field_cause.decode_text(text_buf);
-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 PCUIF__susp__req_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_susp_req.");
-}
-}
-
-void PCUIF__susp__req_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__susp__req_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (3<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_susp_req has 3 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) tlli().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) ra__id().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) cause().set_param(*param.get_elem(2));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "tlli")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- tlli().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "ra_id")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- ra__id().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "cause")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- cause().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_susp_req: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_susp_req");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__susp__req_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_tlli.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_susp_req");
-single_value->field_ra__id.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_susp_req");
-single_value->field_cause.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_susp_req");
-return;
-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 : "@PCUIF_Types.PCUIF_susp_req");
-}
-
-boolean PCUIF__susp__req_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__susp__req_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__MsgUnion::copy_value(const PCUIF__MsgUnion& other_value)
-{
-switch (other_value.union_selection) {
-case ALT_data__req:
-field_data__req = new PCUIF__data(*other_value.field_data__req);
-break;
-case ALT_data__cnf:
-field_data__cnf = new PCUIF__data(*other_value.field_data__cnf);
-break;
-case ALT_data__cnf__dt:
-field_data__cnf__dt = new PCUIF__data__cnf__dt(*other_value.field_data__cnf__dt);
-break;
-case ALT_data__ind:
-field_data__ind = new PCUIF__data(*other_value.field_data__ind);
-break;
-case ALT_susp__req:
-field_susp__req = new PCUIF__susp__req(*other_value.field_susp__req);
-break;
-case ALT_rts__req:
-field_rts__req = new PCUIF__rts__req(*other_value.field_rts__req);
-break;
-case ALT_rach__ind:
-field_rach__ind = new PCUIF__rach__ind(*other_value.field_rach__ind);
-break;
-case ALT_txt__ind:
-field_txt__ind = new PCUIF__txt__ind(*other_value.field_txt__ind);
-break;
-case ALT_info__ind:
-field_info__ind = new PCUIF__info__ind(*other_value.field_info__ind);
-break;
-case ALT_act__req:
-field_act__req = new PCUIF__act__req(*other_value.field_act__req);
-break;
-case ALT_time__ind:
-field_time__ind = new PCUIF__time__ind(*other_value.field_time__ind);
-break;
-case ALT_pag__req:
-field_pag__req = new PCUIF__pag__req(*other_value.field_pag__req);
-break;
-default:
-TTCN_error("Assignment of an unbound union value of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-union_selection = other_value.union_selection;
-}
-
-PCUIF__MsgUnion::PCUIF__MsgUnion()
-{
-union_selection = UNBOUND_VALUE;
-}
-
-PCUIF__MsgUnion::PCUIF__MsgUnion(const PCUIF__MsgUnion& other_value)
-: Base_Type(){
-copy_value(other_value);
-}
-
-PCUIF__MsgUnion::~PCUIF__MsgUnion()
-{
-clean_up();
-}
-
-PCUIF__MsgUnion& PCUIF__MsgUnion::operator=(const PCUIF__MsgUnion& other_value)
-{
-if (this != &other_value) {
-clean_up();
-copy_value(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__MsgUnion::operator==(const PCUIF__MsgUnion& other_value) const
-{
-if (union_selection == UNBOUND_VALUE) TTCN_error("The left operand of comparison is an unbound value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (other_value.union_selection == UNBOUND_VALUE) TTCN_error("The right operand of comparison is an unbound value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (union_selection != other_value.union_selection) return FALSE;
-switch (union_selection) {
-case ALT_data__req:
-return *field_data__req == *other_value.field_data__req;
-case ALT_data__cnf:
-return *field_data__cnf == *other_value.field_data__cnf;
-case ALT_data__cnf__dt:
-return *field_data__cnf__dt == *other_value.field_data__cnf__dt;
-case ALT_data__ind:
-return *field_data__ind == *other_value.field_data__ind;
-case ALT_susp__req:
-return *field_susp__req == *other_value.field_susp__req;
-case ALT_rts__req:
-return *field_rts__req == *other_value.field_rts__req;
-case ALT_rach__ind:
-return *field_rach__ind == *other_value.field_rach__ind;
-case ALT_txt__ind:
-return *field_txt__ind == *other_value.field_txt__ind;
-case ALT_info__ind:
-return *field_info__ind == *other_value.field_info__ind;
-case ALT_act__req:
-return *field_act__req == *other_value.field_act__req;
-case ALT_time__ind:
-return *field_time__ind == *other_value.field_time__ind;
-case ALT_pag__req:
-return *field_pag__req == *other_value.field_pag__req;
-default:
-return FALSE;
-}
-}
-
-PCUIF__data& PCUIF__MsgUnion::data__req()
-{
-if (union_selection != ALT_data__req) {
-clean_up();
-field_data__req = new PCUIF__data;
-union_selection = ALT_data__req;
-}
-return *field_data__req;
-}
-
-const PCUIF__data& PCUIF__MsgUnion::data__req() const
-{
-if (union_selection != ALT_data__req) TTCN_error("Using non-selected field data_req in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_data__req;
-}
-
-PCUIF__data& PCUIF__MsgUnion::data__cnf()
-{
-if (union_selection != ALT_data__cnf) {
-clean_up();
-field_data__cnf = new PCUIF__data;
-union_selection = ALT_data__cnf;
-}
-return *field_data__cnf;
-}
-
-const PCUIF__data& PCUIF__MsgUnion::data__cnf() const
-{
-if (union_selection != ALT_data__cnf) TTCN_error("Using non-selected field data_cnf in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_data__cnf;
-}
-
-PCUIF__data__cnf__dt& PCUIF__MsgUnion::data__cnf__dt()
-{
-if (union_selection != ALT_data__cnf__dt) {
-clean_up();
-field_data__cnf__dt = new PCUIF__data__cnf__dt;
-union_selection = ALT_data__cnf__dt;
-}
-return *field_data__cnf__dt;
-}
-
-const PCUIF__data__cnf__dt& PCUIF__MsgUnion::data__cnf__dt() const
-{
-if (union_selection != ALT_data__cnf__dt) TTCN_error("Using non-selected field data_cnf_dt in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_data__cnf__dt;
-}
-
-PCUIF__data& PCUIF__MsgUnion::data__ind()
-{
-if (union_selection != ALT_data__ind) {
-clean_up();
-field_data__ind = new PCUIF__data;
-union_selection = ALT_data__ind;
-}
-return *field_data__ind;
-}
-
-const PCUIF__data& PCUIF__MsgUnion::data__ind() const
-{
-if (union_selection != ALT_data__ind) TTCN_error("Using non-selected field data_ind in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_data__ind;
-}
-
-PCUIF__susp__req& PCUIF__MsgUnion::susp__req()
-{
-if (union_selection != ALT_susp__req) {
-clean_up();
-field_susp__req = new PCUIF__susp__req;
-union_selection = ALT_susp__req;
-}
-return *field_susp__req;
-}
-
-const PCUIF__susp__req& PCUIF__MsgUnion::susp__req() const
-{
-if (union_selection != ALT_susp__req) TTCN_error("Using non-selected field susp_req in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_susp__req;
-}
-
-PCUIF__rts__req& PCUIF__MsgUnion::rts__req()
-{
-if (union_selection != ALT_rts__req) {
-clean_up();
-field_rts__req = new PCUIF__rts__req;
-union_selection = ALT_rts__req;
-}
-return *field_rts__req;
-}
-
-const PCUIF__rts__req& PCUIF__MsgUnion::rts__req() const
-{
-if (union_selection != ALT_rts__req) TTCN_error("Using non-selected field rts_req in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_rts__req;
-}
-
-PCUIF__rach__ind& PCUIF__MsgUnion::rach__ind()
-{
-if (union_selection != ALT_rach__ind) {
-clean_up();
-field_rach__ind = new PCUIF__rach__ind;
-union_selection = ALT_rach__ind;
-}
-return *field_rach__ind;
-}
-
-const PCUIF__rach__ind& PCUIF__MsgUnion::rach__ind() const
-{
-if (union_selection != ALT_rach__ind) TTCN_error("Using non-selected field rach_ind in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_rach__ind;
-}
-
-PCUIF__txt__ind& PCUIF__MsgUnion::txt__ind()
-{
-if (union_selection != ALT_txt__ind) {
-clean_up();
-field_txt__ind = new PCUIF__txt__ind;
-union_selection = ALT_txt__ind;
-}
-return *field_txt__ind;
-}
-
-const PCUIF__txt__ind& PCUIF__MsgUnion::txt__ind() const
-{
-if (union_selection != ALT_txt__ind) TTCN_error("Using non-selected field txt_ind in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_txt__ind;
-}
-
-PCUIF__info__ind& PCUIF__MsgUnion::info__ind()
-{
-if (union_selection != ALT_info__ind) {
-clean_up();
-field_info__ind = new PCUIF__info__ind;
-union_selection = ALT_info__ind;
-}
-return *field_info__ind;
-}
-
-const PCUIF__info__ind& PCUIF__MsgUnion::info__ind() const
-{
-if (union_selection != ALT_info__ind) TTCN_error("Using non-selected field info_ind in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_info__ind;
-}
-
-PCUIF__act__req& PCUIF__MsgUnion::act__req()
-{
-if (union_selection != ALT_act__req) {
-clean_up();
-field_act__req = new PCUIF__act__req;
-union_selection = ALT_act__req;
-}
-return *field_act__req;
-}
-
-const PCUIF__act__req& PCUIF__MsgUnion::act__req() const
-{
-if (union_selection != ALT_act__req) TTCN_error("Using non-selected field act_req in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_act__req;
-}
-
-PCUIF__time__ind& PCUIF__MsgUnion::time__ind()
-{
-if (union_selection != ALT_time__ind) {
-clean_up();
-field_time__ind = new PCUIF__time__ind;
-union_selection = ALT_time__ind;
-}
-return *field_time__ind;
-}
-
-const PCUIF__time__ind& PCUIF__MsgUnion::time__ind() const
-{
-if (union_selection != ALT_time__ind) TTCN_error("Using non-selected field time_ind in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_time__ind;
-}
-
-PCUIF__pag__req& PCUIF__MsgUnion::pag__req()
-{
-if (union_selection != ALT_pag__req) {
-clean_up();
-field_pag__req = new PCUIF__pag__req;
-union_selection = ALT_pag__req;
-}
-return *field_pag__req;
-}
-
-const PCUIF__pag__req& PCUIF__MsgUnion::pag__req() const
-{
-if (union_selection != ALT_pag__req) TTCN_error("Using non-selected field pag_req in a value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *field_pag__req;
-}
-
-boolean PCUIF__MsgUnion::ischosen(union_selection_type checked_selection) const
-{
-if (checked_selection == UNBOUND_VALUE) TTCN_error("Internal error: Performing ischosen() operation on an invalid field of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return union_selection == checked_selection;
-}
-
-boolean PCUIF__MsgUnion::is_bound() const
-{
- return union_selection != UNBOUND_VALUE;
-}
-
-boolean PCUIF__MsgUnion::is_value() const
-{
-switch (union_selection) {
-case UNBOUND_VALUE: return FALSE;
-case ALT_data__req: return field_data__req->is_value();
-case ALT_data__cnf: return field_data__cnf->is_value();
-case ALT_data__cnf__dt: return field_data__cnf__dt->is_value();
-case ALT_data__ind: return field_data__ind->is_value();
-case ALT_susp__req: return field_susp__req->is_value();
-case ALT_rts__req: return field_rts__req->is_value();
-case ALT_rach__ind: return field_rach__ind->is_value();
-case ALT_txt__ind: return field_txt__ind->is_value();
-case ALT_info__ind: return field_info__ind->is_value();
-case ALT_act__req: return field_act__req->is_value();
-case ALT_time__ind: return field_time__ind->is_value();
-case ALT_pag__req: return field_pag__req->is_value();
-default: TTCN_error("Invalid selection in union is_bound");}
-}
-
-void PCUIF__MsgUnion::clean_up()
-{
-switch (union_selection) {
-case ALT_data__req:
- delete field_data__req;
- break;
-case ALT_data__cnf:
- delete field_data__cnf;
- break;
-case ALT_data__cnf__dt:
- delete field_data__cnf__dt;
- break;
-case ALT_data__ind:
- delete field_data__ind;
- break;
-case ALT_susp__req:
- delete field_susp__req;
- break;
-case ALT_rts__req:
- delete field_rts__req;
- break;
-case ALT_rach__ind:
- delete field_rach__ind;
- break;
-case ALT_txt__ind:
- delete field_txt__ind;
- break;
-case ALT_info__ind:
- delete field_info__ind;
- break;
-case ALT_act__req:
- delete field_act__req;
- break;
-case ALT_time__ind:
- delete field_time__ind;
- break;
-case ALT_pag__req:
- delete field_pag__req;
- break;
-default:
- break;
-}
-union_selection = UNBOUND_VALUE;
-}
-
-void PCUIF__MsgUnion::log() const
-{
-switch (union_selection) {
-case ALT_data__req:
-TTCN_Logger::log_event_str("{ data_req := ");
-field_data__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_data__cnf:
-TTCN_Logger::log_event_str("{ data_cnf := ");
-field_data__cnf->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_data__cnf__dt:
-TTCN_Logger::log_event_str("{ data_cnf_dt := ");
-field_data__cnf__dt->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_data__ind:
-TTCN_Logger::log_event_str("{ data_ind := ");
-field_data__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_susp__req:
-TTCN_Logger::log_event_str("{ susp_req := ");
-field_susp__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_rts__req:
-TTCN_Logger::log_event_str("{ rts_req := ");
-field_rts__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_rach__ind:
-TTCN_Logger::log_event_str("{ rach_ind := ");
-field_rach__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_txt__ind:
-TTCN_Logger::log_event_str("{ txt_ind := ");
-field_txt__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_info__ind:
-TTCN_Logger::log_event_str("{ info_ind := ");
-field_info__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_act__req:
-TTCN_Logger::log_event_str("{ act_req := ");
-field_act__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_time__ind:
-TTCN_Logger::log_event_str("{ time_ind := ");
-field_time__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case ALT_pag__req:
-TTCN_Logger::log_event_str("{ pag_req := ");
-field_pag__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-default:
-TTCN_Logger::log_event_unbound();
-}
-}
-
-void PCUIF__MsgUnion::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "union value");
- Module_Param_Ptr m_p = &param;
- if (m_p->get_type()==Module_Param::MP_Value_List && m_p->get_size()==0) return;
- if (m_p->get_type()!=Module_Param::MP_Assignment_List) {
- param.error("union value with field name was expected");
- }
- Module_Param* mp_last = m_p->get_elem(m_p->get_size()-1);
- char* last_name = mp_last->get_id()->get_name();
- if (!strcmp(last_name, "data_req")) {
- data__req().set_param(*mp_last);
- if (!data__req().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "data_cnf")) {
- data__cnf().set_param(*mp_last);
- if (!data__cnf().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "data_cnf_dt")) {
- data__cnf__dt().set_param(*mp_last);
- if (!data__cnf__dt().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "data_ind")) {
- data__ind().set_param(*mp_last);
- if (!data__ind().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "susp_req")) {
- susp__req().set_param(*mp_last);
- if (!susp__req().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "rts_req")) {
- rts__req().set_param(*mp_last);
- if (!rts__req().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "rach_ind")) {
- rach__ind().set_param(*mp_last);
- if (!rach__ind().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "txt_ind")) {
- txt__ind().set_param(*mp_last);
- if (!txt__ind().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "info_ind")) {
- info__ind().set_param(*mp_last);
- if (!info__ind().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "act_req")) {
- act__req().set_param(*mp_last);
- if (!act__req().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "time_ind")) {
- time__ind().set_param(*mp_last);
- if (!time__ind().is_bound()) clean_up();
- return;
- }
- if (!strcmp(last_name, "pag_req")) {
- pag__req().set_param(*mp_last);
- if (!pag__req().is_bound()) clean_up();
- return;
- }
- mp_last->error("Field %s does not exist in type @PCUIF_Types.PCUIF_MsgUnion.", last_name);
-}
-
-void PCUIF__MsgUnion::set_implicit_omit()
-{
-switch (union_selection) {
-case ALT_data__req:
-field_data__req->set_implicit_omit(); break;
-case ALT_data__cnf:
-field_data__cnf->set_implicit_omit(); break;
-case ALT_data__cnf__dt:
-field_data__cnf__dt->set_implicit_omit(); break;
-case ALT_data__ind:
-field_data__ind->set_implicit_omit(); break;
-case ALT_susp__req:
-field_susp__req->set_implicit_omit(); break;
-case ALT_rts__req:
-field_rts__req->set_implicit_omit(); break;
-case ALT_rach__ind:
-field_rach__ind->set_implicit_omit(); break;
-case ALT_txt__ind:
-field_txt__ind->set_implicit_omit(); break;
-case ALT_info__ind:
-field_info__ind->set_implicit_omit(); break;
-case ALT_act__req:
-field_act__req->set_implicit_omit(); break;
-case ALT_time__ind:
-field_time__ind->set_implicit_omit(); break;
-case ALT_pag__req:
-field_pag__req->set_implicit_omit(); break;
-default: break;
-}
-}
-
-void PCUIF__MsgUnion::encode_text(Text_Buf& text_buf) const
-{
-text_buf.push_int(union_selection);
-switch (union_selection) {
-case ALT_data__req:
-field_data__req->encode_text(text_buf);
-break;
-case ALT_data__cnf:
-field_data__cnf->encode_text(text_buf);
-break;
-case ALT_data__cnf__dt:
-field_data__cnf__dt->encode_text(text_buf);
-break;
-case ALT_data__ind:
-field_data__ind->encode_text(text_buf);
-break;
-case ALT_susp__req:
-field_susp__req->encode_text(text_buf);
-break;
-case ALT_rts__req:
-field_rts__req->encode_text(text_buf);
-break;
-case ALT_rach__ind:
-field_rach__ind->encode_text(text_buf);
-break;
-case ALT_txt__ind:
-field_txt__ind->encode_text(text_buf);
-break;
-case ALT_info__ind:
-field_info__ind->encode_text(text_buf);
-break;
-case ALT_act__req:
-field_act__req->encode_text(text_buf);
-break;
-case ALT_time__ind:
-field_time__ind->encode_text(text_buf);
-break;
-case ALT_pag__req:
-field_pag__req->encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an unbound value of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-
-void PCUIF__MsgUnion::decode_text(Text_Buf& text_buf)
-{
-switch ((union_selection_type)text_buf.pull_int().get_val()) {
-case ALT_data__req:
-data__req().decode_text(text_buf);
-break;
-case ALT_data__cnf:
-data__cnf().decode_text(text_buf);
-break;
-case ALT_data__cnf__dt:
-data__cnf__dt().decode_text(text_buf);
-break;
-case ALT_data__ind:
-data__ind().decode_text(text_buf);
-break;
-case ALT_susp__req:
-susp__req().decode_text(text_buf);
-break;
-case ALT_rts__req:
-rts__req().decode_text(text_buf);
-break;
-case ALT_rach__ind:
-rach__ind().decode_text(text_buf);
-break;
-case ALT_txt__ind:
-txt__ind().decode_text(text_buf);
-break;
-case ALT_info__ind:
-info__ind().decode_text(text_buf);
-break;
-case ALT_act__req:
-act__req().decode_text(text_buf);
-break;
-case ALT_time__ind:
-time__ind().decode_text(text_buf);
-break;
-case ALT_pag__req:
-pag__req().decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized union selector was received for type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-
-void PCUIF__MsgUnion::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(TRUE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__MsgUnion::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__MsgUnion::RAW_decode(
-const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit,
-raw_order_t top_bit_ord, boolean no_err, int sel_field, boolean, const RAW_Force_Omit* force_omit)
-{
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- int decoded_length=0;
- int starting_pos=p_buf.get_pos_bit();
- if(sel_field!=-1){
- switch(sel_field){
- case 0: {
- RAW_Force_Omit field_force_omit(0, force_omit, PCUIF__MsgUnion_data__req_descr_.raw->forceomit);
- decoded_length = data__req().RAW_decode(PCUIF__MsgUnion_data__req_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 1: {
- RAW_Force_Omit field_force_omit(1, force_omit, PCUIF__MsgUnion_data__cnf_descr_.raw->forceomit);
- decoded_length = data__cnf().RAW_decode(PCUIF__MsgUnion_data__cnf_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 2: {
- RAW_Force_Omit field_force_omit(2, force_omit, PCUIF__MsgUnion_data__cnf__dt_descr_.raw->forceomit);
- decoded_length = data__cnf__dt().RAW_decode(PCUIF__MsgUnion_data__cnf__dt_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 3: {
- RAW_Force_Omit field_force_omit(3, force_omit, PCUIF__MsgUnion_data__ind_descr_.raw->forceomit);
- decoded_length = data__ind().RAW_decode(PCUIF__MsgUnion_data__ind_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 4: {
- RAW_Force_Omit field_force_omit(4, force_omit, PCUIF__MsgUnion_susp__req_descr_.raw->forceomit);
- decoded_length = susp__req().RAW_decode(PCUIF__MsgUnion_susp__req_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 5: {
- RAW_Force_Omit field_force_omit(5, force_omit, PCUIF__MsgUnion_rts__req_descr_.raw->forceomit);
- decoded_length = rts__req().RAW_decode(PCUIF__MsgUnion_rts__req_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 6: {
- RAW_Force_Omit field_force_omit(6, force_omit, PCUIF__MsgUnion_rach__ind_descr_.raw->forceomit);
- decoded_length = rach__ind().RAW_decode(PCUIF__MsgUnion_rach__ind_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 7: {
- RAW_Force_Omit field_force_omit(7, force_omit, PCUIF__MsgUnion_txt__ind_descr_.raw->forceomit);
- decoded_length = txt__ind().RAW_decode(PCUIF__MsgUnion_txt__ind_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 8: {
- RAW_Force_Omit field_force_omit(8, force_omit, PCUIF__MsgUnion_info__ind_descr_.raw->forceomit);
- decoded_length = info__ind().RAW_decode(PCUIF__MsgUnion_info__ind_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 9: {
- RAW_Force_Omit field_force_omit(9, force_omit, PCUIF__MsgUnion_act__req_descr_.raw->forceomit);
- decoded_length = act__req().RAW_decode(PCUIF__MsgUnion_act__req_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 10: {
- RAW_Force_Omit field_force_omit(10, force_omit, PCUIF__MsgUnion_time__ind_descr_.raw->forceomit);
- decoded_length = time__ind().RAW_decode(PCUIF__MsgUnion_time__ind_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- case 11: {
- RAW_Force_Omit field_force_omit(11, force_omit, PCUIF__MsgUnion_pag__req_descr_.raw->forceomit);
- decoded_length = pag__req().RAW_decode(PCUIF__MsgUnion_pag__req_descr_, p_buf, limit, top_bit_ord, no_err, -1, TRUE, &field_force_omit);
- break; }
- default: break;
- }
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- } else {
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__MsgUnion_data__req_descr_.raw->forceomit);
- decoded_length = data__req().RAW_decode(PCUIF__MsgUnion_data__req_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_0_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__MsgUnion_data__cnf_descr_.raw->forceomit);
- decoded_length = data__cnf().RAW_decode(PCUIF__MsgUnion_data__cnf_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_1_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__MsgUnion_data__cnf__dt_descr_.raw->forceomit);
- decoded_length = data__cnf__dt().RAW_decode(PCUIF__MsgUnion_data__cnf__dt_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_2_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__MsgUnion_data__ind_descr_.raw->forceomit);
- decoded_length = data__ind().RAW_decode(PCUIF__MsgUnion_data__ind_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_3_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_4_force_omit(4, force_omit, PCUIF__MsgUnion_susp__req_descr_.raw->forceomit);
- decoded_length = susp__req().RAW_decode(PCUIF__MsgUnion_susp__req_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_4_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_5_force_omit(5, force_omit, PCUIF__MsgUnion_rts__req_descr_.raw->forceomit);
- decoded_length = rts__req().RAW_decode(PCUIF__MsgUnion_rts__req_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_5_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_6_force_omit(6, force_omit, PCUIF__MsgUnion_rach__ind_descr_.raw->forceomit);
- decoded_length = rach__ind().RAW_decode(PCUIF__MsgUnion_rach__ind_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_6_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_7_force_omit(7, force_omit, PCUIF__MsgUnion_txt__ind_descr_.raw->forceomit);
- decoded_length = txt__ind().RAW_decode(PCUIF__MsgUnion_txt__ind_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_7_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_8_force_omit(8, force_omit, PCUIF__MsgUnion_info__ind_descr_.raw->forceomit);
- decoded_length = info__ind().RAW_decode(PCUIF__MsgUnion_info__ind_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_8_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_9_force_omit(9, force_omit, PCUIF__MsgUnion_act__req_descr_.raw->forceomit);
- decoded_length = act__req().RAW_decode(PCUIF__MsgUnion_act__req_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_9_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_10_force_omit(10, force_omit, PCUIF__MsgUnion_time__ind_descr_.raw->forceomit);
- decoded_length = time__ind().RAW_decode(PCUIF__MsgUnion_time__ind_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_10_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- p_buf.set_pos_bit(starting_pos);
- RAW_Force_Omit field_11_force_omit(11, force_omit, PCUIF__MsgUnion_pag__req_descr_.raw->forceomit);
- decoded_length = pag__req().RAW_decode(PCUIF__MsgUnion_pag__req_descr_, p_buf, limit, top_bit_ord, TRUE, -1, TRUE, &field_11_force_omit);
- if (decoded_length >= 0) {
- return decoded_length + p_buf.increase_pos_padd(p_td.raw->padding) + prepaddlength;
- }
- }
- clean_up();
- return -1;
-}
-
-int PCUIF__MsgUnion::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const
-{
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 12; myleaf.body.node.nodes = init_nodes_of_enc_tree(12);
- memset(myleaf.body.node.nodes, 0, 12 * sizeof(RAW_enc_tree *));
- switch (union_selection) {
- case ALT_data__req:
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 0, PCUIF__MsgUnion_data__req_descr_.raw);
- encoded_length = field_data__req->RAW_encode(PCUIF__MsgUnion_data__req_descr_, *myleaf.body.node.nodes[0]);
- myleaf.body.node.nodes[0]->coding_descr = &PCUIF__MsgUnion_data__req_descr_;
- break;
- case ALT_data__cnf:
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 1, PCUIF__MsgUnion_data__cnf_descr_.raw);
- encoded_length = field_data__cnf->RAW_encode(PCUIF__MsgUnion_data__cnf_descr_, *myleaf.body.node.nodes[1]);
- myleaf.body.node.nodes[1]->coding_descr = &PCUIF__MsgUnion_data__cnf_descr_;
- break;
- case ALT_data__cnf__dt:
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 2, PCUIF__MsgUnion_data__cnf__dt_descr_.raw);
- encoded_length = field_data__cnf__dt->RAW_encode(PCUIF__MsgUnion_data__cnf__dt_descr_, *myleaf.body.node.nodes[2]);
- myleaf.body.node.nodes[2]->coding_descr = &PCUIF__MsgUnion_data__cnf__dt_descr_;
- break;
- case ALT_data__ind:
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 3, PCUIF__MsgUnion_data__ind_descr_.raw);
- encoded_length = field_data__ind->RAW_encode(PCUIF__MsgUnion_data__ind_descr_, *myleaf.body.node.nodes[3]);
- myleaf.body.node.nodes[3]->coding_descr = &PCUIF__MsgUnion_data__ind_descr_;
- break;
- case ALT_susp__req:
- myleaf.body.node.nodes[4] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 4, PCUIF__MsgUnion_susp__req_descr_.raw);
- encoded_length = field_susp__req->RAW_encode(PCUIF__MsgUnion_susp__req_descr_, *myleaf.body.node.nodes[4]);
- myleaf.body.node.nodes[4]->coding_descr = &PCUIF__MsgUnion_susp__req_descr_;
- break;
- case ALT_rts__req:
- myleaf.body.node.nodes[5] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 5, PCUIF__MsgUnion_rts__req_descr_.raw);
- encoded_length = field_rts__req->RAW_encode(PCUIF__MsgUnion_rts__req_descr_, *myleaf.body.node.nodes[5]);
- myleaf.body.node.nodes[5]->coding_descr = &PCUIF__MsgUnion_rts__req_descr_;
- break;
- case ALT_rach__ind:
- myleaf.body.node.nodes[6] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 6, PCUIF__MsgUnion_rach__ind_descr_.raw);
- encoded_length = field_rach__ind->RAW_encode(PCUIF__MsgUnion_rach__ind_descr_, *myleaf.body.node.nodes[6]);
- myleaf.body.node.nodes[6]->coding_descr = &PCUIF__MsgUnion_rach__ind_descr_;
- break;
- case ALT_txt__ind:
- myleaf.body.node.nodes[7] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 7, PCUIF__MsgUnion_txt__ind_descr_.raw);
- encoded_length = field_txt__ind->RAW_encode(PCUIF__MsgUnion_txt__ind_descr_, *myleaf.body.node.nodes[7]);
- myleaf.body.node.nodes[7]->coding_descr = &PCUIF__MsgUnion_txt__ind_descr_;
- break;
- case ALT_info__ind:
- myleaf.body.node.nodes[8] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 8, PCUIF__MsgUnion_info__ind_descr_.raw);
- encoded_length = field_info__ind->RAW_encode(PCUIF__MsgUnion_info__ind_descr_, *myleaf.body.node.nodes[8]);
- myleaf.body.node.nodes[8]->coding_descr = &PCUIF__MsgUnion_info__ind_descr_;
- break;
- case ALT_act__req:
- myleaf.body.node.nodes[9] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 9, PCUIF__MsgUnion_act__req_descr_.raw);
- encoded_length = field_act__req->RAW_encode(PCUIF__MsgUnion_act__req_descr_, *myleaf.body.node.nodes[9]);
- myleaf.body.node.nodes[9]->coding_descr = &PCUIF__MsgUnion_act__req_descr_;
- break;
- case ALT_time__ind:
- myleaf.body.node.nodes[10] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 10, PCUIF__MsgUnion_time__ind_descr_.raw);
- encoded_length = field_time__ind->RAW_encode(PCUIF__MsgUnion_time__ind_descr_, *myleaf.body.node.nodes[10]);
- myleaf.body.node.nodes[10]->coding_descr = &PCUIF__MsgUnion_time__ind_descr_;
- break;
- case ALT_pag__req:
- myleaf.body.node.nodes[11] = new RAW_enc_tree(TRUE, &myleaf, &myleaf.curr_pos, 11, PCUIF__MsgUnion_pag__req_descr_.raw);
- encoded_length = field_pag__req->RAW_encode(PCUIF__MsgUnion_pag__req_descr_, *myleaf.body.node.nodes[11]);
- myleaf.body.node.nodes[11]->coding_descr = &PCUIF__MsgUnion_pag__req_descr_;
- break;
- default:
- TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- }
- return encoded_length;
-}
-
-void PCUIF__MsgUnion_template::copy_value(const PCUIF__MsgUnion& other_value)
-{
-single_value.union_selection = other_value.get_selection();
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-single_value.field_data__req = new PCUIF__data_template(other_value.data__req());
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-single_value.field_data__cnf = new PCUIF__data_template(other_value.data__cnf());
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-single_value.field_data__cnf__dt = new PCUIF__data__cnf__dt_template(other_value.data__cnf__dt());
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-single_value.field_data__ind = new PCUIF__data_template(other_value.data__ind());
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-single_value.field_susp__req = new PCUIF__susp__req_template(other_value.susp__req());
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-single_value.field_rts__req = new PCUIF__rts__req_template(other_value.rts__req());
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-single_value.field_rach__ind = new PCUIF__rach__ind_template(other_value.rach__ind());
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-single_value.field_txt__ind = new PCUIF__txt__ind_template(other_value.txt__ind());
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-single_value.field_info__ind = new PCUIF__info__ind_template(other_value.info__ind());
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-single_value.field_act__req = new PCUIF__act__req_template(other_value.act__req());
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-single_value.field_time__ind = new PCUIF__time__ind_template(other_value.time__ind());
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-single_value.field_pag__req = new PCUIF__pag__req_template(other_value.pag__req());
-break;
-default:
-TTCN_error("Initializing a template with an unbound value of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__MsgUnion_template::copy_template(const PCUIF__MsgUnion_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value.union_selection = other_value.single_value.union_selection;
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-single_value.field_data__req = new PCUIF__data_template(*other_value.single_value.field_data__req);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-single_value.field_data__cnf = new PCUIF__data_template(*other_value.single_value.field_data__cnf);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-single_value.field_data__cnf__dt = new PCUIF__data__cnf__dt_template(*other_value.single_value.field_data__cnf__dt);
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-single_value.field_data__ind = new PCUIF__data_template(*other_value.single_value.field_data__ind);
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-single_value.field_susp__req = new PCUIF__susp__req_template(*other_value.single_value.field_susp__req);
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-single_value.field_rts__req = new PCUIF__rts__req_template(*other_value.single_value.field_rts__req);
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-single_value.field_rach__ind = new PCUIF__rach__ind_template(*other_value.single_value.field_rach__ind);
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-single_value.field_txt__ind = new PCUIF__txt__ind_template(*other_value.single_value.field_txt__ind);
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-single_value.field_info__ind = new PCUIF__info__ind_template(*other_value.single_value.field_info__ind);
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-single_value.field_act__req = new PCUIF__act__req_template(*other_value.single_value.field_act__req);
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-single_value.field_time__ind = new PCUIF__time__ind_template(*other_value.single_value.field_time__ind);
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-single_value.field_pag__req = new PCUIF__pag__req_template(*other_value.single_value.field_pag__req);
-break;
-default:
-TTCN_error("Internal error: Invalid union selector in a specific value when copying a template of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__MsgUnion_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;
-default:
-TTCN_error("Copying an uninitialized template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-set_selection(other_value);
-}
-
-PCUIF__MsgUnion_template::PCUIF__MsgUnion_template()
-{
-}
-
-PCUIF__MsgUnion_template::PCUIF__MsgUnion_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__MsgUnion_template::PCUIF__MsgUnion_template(const PCUIF__MsgUnion& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__MsgUnion_template::PCUIF__MsgUnion_template(const OPTIONAL<PCUIF__MsgUnion>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__MsgUnion&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of union type @PCUIF_Types.PCUIF_MsgUnion from an unbound optional field.");
-}
-}
-
-PCUIF__MsgUnion_template::PCUIF__MsgUnion_template(const PCUIF__MsgUnion_template& other_value)
-: Base_Template(){
-copy_template(other_value);
-}
-
-PCUIF__MsgUnion_template::~PCUIF__MsgUnion_template()
-{
-clean_up();
-}
-
-void PCUIF__MsgUnion_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-delete single_value.field_data__req;
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-delete single_value.field_data__cnf;
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-delete single_value.field_data__cnf__dt;
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-delete single_value.field_data__ind;
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-delete single_value.field_susp__req;
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-delete single_value.field_rts__req;
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-delete single_value.field_rach__ind;
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-delete single_value.field_txt__ind;
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-delete single_value.field_info__ind;
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-delete single_value.field_act__req;
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-delete single_value.field_time__ind;
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-delete single_value.field_pag__req;
-default:
-break;
-}
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__MsgUnion_template& PCUIF__MsgUnion_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__MsgUnion_template& PCUIF__MsgUnion_template::operator=(const PCUIF__MsgUnion& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__MsgUnion_template& PCUIF__MsgUnion_template::operator=(const OPTIONAL<PCUIF__MsgUnion>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__MsgUnion&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-return *this;
-}
-
-PCUIF__MsgUnion_template& PCUIF__MsgUnion_template::operator=(const PCUIF__MsgUnion_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__MsgUnion_template::match(const PCUIF__MsgUnion& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-{
-PCUIF__MsgUnion::union_selection_type value_selection = other_value.get_selection();
-if (value_selection == PCUIF__MsgUnion::UNBOUND_VALUE) return FALSE;
-if (value_selection != single_value.union_selection) return FALSE;
-switch (value_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-return single_value.field_data__req->match(other_value.data__req(), legacy);
-case PCUIF__MsgUnion::ALT_data__cnf:
-return single_value.field_data__cnf->match(other_value.data__cnf(), legacy);
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-return single_value.field_data__cnf__dt->match(other_value.data__cnf__dt(), legacy);
-case PCUIF__MsgUnion::ALT_data__ind:
-return single_value.field_data__ind->match(other_value.data__ind(), legacy);
-case PCUIF__MsgUnion::ALT_susp__req:
-return single_value.field_susp__req->match(other_value.susp__req(), legacy);
-case PCUIF__MsgUnion::ALT_rts__req:
-return single_value.field_rts__req->match(other_value.rts__req(), legacy);
-case PCUIF__MsgUnion::ALT_rach__ind:
-return single_value.field_rach__ind->match(other_value.rach__ind(), legacy);
-case PCUIF__MsgUnion::ALT_txt__ind:
-return single_value.field_txt__ind->match(other_value.txt__ind(), legacy);
-case PCUIF__MsgUnion::ALT_info__ind:
-return single_value.field_info__ind->match(other_value.info__ind(), legacy);
-case PCUIF__MsgUnion::ALT_act__req:
-return single_value.field_act__req->match(other_value.act__req(), legacy);
-case PCUIF__MsgUnion::ALT_time__ind:
-return single_value.field_time__ind->match(other_value.time__ind(), legacy);
-case PCUIF__MsgUnion::ALT_pag__req:
-return single_value.field_pag__req->match(other_value.pag__req(), legacy);
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when matching a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error ("Matching an uninitialized template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-return FALSE;
-}
-
-boolean PCUIF__MsgUnion_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-return single_value.field_data__req->is_value();
-case PCUIF__MsgUnion::ALT_data__cnf:
-return single_value.field_data__cnf->is_value();
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-return single_value.field_data__cnf__dt->is_value();
-case PCUIF__MsgUnion::ALT_data__ind:
-return single_value.field_data__ind->is_value();
-case PCUIF__MsgUnion::ALT_susp__req:
-return single_value.field_susp__req->is_value();
-case PCUIF__MsgUnion::ALT_rts__req:
-return single_value.field_rts__req->is_value();
-case PCUIF__MsgUnion::ALT_rach__ind:
-return single_value.field_rach__ind->is_value();
-case PCUIF__MsgUnion::ALT_txt__ind:
-return single_value.field_txt__ind->is_value();
-case PCUIF__MsgUnion::ALT_info__ind:
-return single_value.field_info__ind->is_value();
-case PCUIF__MsgUnion::ALT_act__req:
-return single_value.field_act__req->is_value();
-case PCUIF__MsgUnion::ALT_time__ind:
-return single_value.field_time__ind->is_value();
-case PCUIF__MsgUnion::ALT_pag__req:
-return single_value.field_pag__req->is_value();
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing is_value operation on a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-
-PCUIF__MsgUnion PCUIF__MsgUnion_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-PCUIF__MsgUnion ret_val;
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-ret_val.data__req() = single_value.field_data__req->valueof();
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-ret_val.data__cnf() = single_value.field_data__cnf->valueof();
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-ret_val.data__cnf__dt() = single_value.field_data__cnf__dt->valueof();
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-ret_val.data__ind() = single_value.field_data__ind->valueof();
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-ret_val.susp__req() = single_value.field_susp__req->valueof();
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-ret_val.rts__req() = single_value.field_rts__req->valueof();
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-ret_val.rach__ind() = single_value.field_rach__ind->valueof();
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-ret_val.txt__ind() = single_value.field_txt__ind->valueof();
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-ret_val.info__ind() = single_value.field_info__ind->valueof();
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-ret_val.act__req() = single_value.field_act__req->valueof();
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-ret_val.time__ind() = single_value.field_time__ind->valueof();
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-ret_val.pag__req() = single_value.field_pag__req->valueof();
-break;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing valueof operation on a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-return ret_val;
-}
-
-PCUIF__MsgUnion_template& PCUIF__MsgUnion_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST) TTCN_error("Internal error: Accessing a list element of a non-list template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return value_list.list_value[list_index];
-}
-void PCUIF__MsgUnion_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST) TTCN_error ("Internal error: Setting an invalid list for a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__MsgUnion_template[list_length];
-}
-
-PCUIF__data_template& PCUIF__MsgUnion_template::data__req()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_data__req) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_data__req = new PCUIF__data_template(ANY_VALUE);
-else single_value.field_data__req = new PCUIF__data_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_data__req;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_data__req;
-}
-
-const PCUIF__data_template& PCUIF__MsgUnion_template::data__req() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field data_req in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_data__req) TTCN_error("Accessing non-selected field data_req in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_data__req;
-}
-
-PCUIF__data_template& PCUIF__MsgUnion_template::data__cnf()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_data__cnf) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_data__cnf = new PCUIF__data_template(ANY_VALUE);
-else single_value.field_data__cnf = new PCUIF__data_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_data__cnf;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_data__cnf;
-}
-
-const PCUIF__data_template& PCUIF__MsgUnion_template::data__cnf() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field data_cnf in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_data__cnf) TTCN_error("Accessing non-selected field data_cnf in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_data__cnf;
-}
-
-PCUIF__data__cnf__dt_template& PCUIF__MsgUnion_template::data__cnf__dt()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_data__cnf__dt) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_data__cnf__dt = new PCUIF__data__cnf__dt_template(ANY_VALUE);
-else single_value.field_data__cnf__dt = new PCUIF__data__cnf__dt_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_data__cnf__dt;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_data__cnf__dt;
-}
-
-const PCUIF__data__cnf__dt_template& PCUIF__MsgUnion_template::data__cnf__dt() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field data_cnf_dt in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_data__cnf__dt) TTCN_error("Accessing non-selected field data_cnf_dt in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_data__cnf__dt;
-}
-
-PCUIF__data_template& PCUIF__MsgUnion_template::data__ind()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_data__ind) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_data__ind = new PCUIF__data_template(ANY_VALUE);
-else single_value.field_data__ind = new PCUIF__data_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_data__ind;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_data__ind;
-}
-
-const PCUIF__data_template& PCUIF__MsgUnion_template::data__ind() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field data_ind in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_data__ind) TTCN_error("Accessing non-selected field data_ind in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_data__ind;
-}
-
-PCUIF__susp__req_template& PCUIF__MsgUnion_template::susp__req()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_susp__req) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_susp__req = new PCUIF__susp__req_template(ANY_VALUE);
-else single_value.field_susp__req = new PCUIF__susp__req_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_susp__req;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_susp__req;
-}
-
-const PCUIF__susp__req_template& PCUIF__MsgUnion_template::susp__req() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field susp_req in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_susp__req) TTCN_error("Accessing non-selected field susp_req in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_susp__req;
-}
-
-PCUIF__rts__req_template& PCUIF__MsgUnion_template::rts__req()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_rts__req) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_rts__req = new PCUIF__rts__req_template(ANY_VALUE);
-else single_value.field_rts__req = new PCUIF__rts__req_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_rts__req;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_rts__req;
-}
-
-const PCUIF__rts__req_template& PCUIF__MsgUnion_template::rts__req() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field rts_req in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_rts__req) TTCN_error("Accessing non-selected field rts_req in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_rts__req;
-}
-
-PCUIF__rach__ind_template& PCUIF__MsgUnion_template::rach__ind()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_rach__ind) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_rach__ind = new PCUIF__rach__ind_template(ANY_VALUE);
-else single_value.field_rach__ind = new PCUIF__rach__ind_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_rach__ind;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_rach__ind;
-}
-
-const PCUIF__rach__ind_template& PCUIF__MsgUnion_template::rach__ind() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field rach_ind in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_rach__ind) TTCN_error("Accessing non-selected field rach_ind in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_rach__ind;
-}
-
-PCUIF__txt__ind_template& PCUIF__MsgUnion_template::txt__ind()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_txt__ind) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_txt__ind = new PCUIF__txt__ind_template(ANY_VALUE);
-else single_value.field_txt__ind = new PCUIF__txt__ind_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_txt__ind;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_txt__ind;
-}
-
-const PCUIF__txt__ind_template& PCUIF__MsgUnion_template::txt__ind() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field txt_ind in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_txt__ind) TTCN_error("Accessing non-selected field txt_ind in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_txt__ind;
-}
-
-PCUIF__info__ind_template& PCUIF__MsgUnion_template::info__ind()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_info__ind) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_info__ind = new PCUIF__info__ind_template(ANY_VALUE);
-else single_value.field_info__ind = new PCUIF__info__ind_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_info__ind;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_info__ind;
-}
-
-const PCUIF__info__ind_template& PCUIF__MsgUnion_template::info__ind() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field info_ind in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_info__ind) TTCN_error("Accessing non-selected field info_ind in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_info__ind;
-}
-
-PCUIF__act__req_template& PCUIF__MsgUnion_template::act__req()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_act__req) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_act__req = new PCUIF__act__req_template(ANY_VALUE);
-else single_value.field_act__req = new PCUIF__act__req_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_act__req;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_act__req;
-}
-
-const PCUIF__act__req_template& PCUIF__MsgUnion_template::act__req() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field act_req in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_act__req) TTCN_error("Accessing non-selected field act_req in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_act__req;
-}
-
-PCUIF__time__ind_template& PCUIF__MsgUnion_template::time__ind()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_time__ind) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_time__ind = new PCUIF__time__ind_template(ANY_VALUE);
-else single_value.field_time__ind = new PCUIF__time__ind_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_time__ind;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_time__ind;
-}
-
-const PCUIF__time__ind_template& PCUIF__MsgUnion_template::time__ind() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field time_ind in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_time__ind) TTCN_error("Accessing non-selected field time_ind in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_time__ind;
-}
-
-PCUIF__pag__req_template& PCUIF__MsgUnion_template::pag__req()
-{
-if (template_selection != SPECIFIC_VALUE || single_value.union_selection != PCUIF__MsgUnion::ALT_pag__req) {
-template_sel old_selection = template_selection;
-clean_up();
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) single_value.field_pag__req = new PCUIF__pag__req_template(ANY_VALUE);
-else single_value.field_pag__req = new PCUIF__pag__req_template;
-single_value.union_selection = PCUIF__MsgUnion::ALT_pag__req;
-set_selection(SPECIFIC_VALUE);
-}
-return *single_value.field_pag__req;
-}
-
-const PCUIF__pag__req_template& PCUIF__MsgUnion_template::pag__req() const
-{
-if (template_selection != SPECIFIC_VALUE) TTCN_error("Accessing field pag_req in a non-specific template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-if (single_value.union_selection != PCUIF__MsgUnion::ALT_pag__req) TTCN_error("Accessing non-selected field pag_req in a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return *single_value.field_pag__req;
-}
-
-boolean PCUIF__MsgUnion_template::ischosen(PCUIF__MsgUnion::union_selection_type checked_selection) const
-{
-if (checked_selection == PCUIF__MsgUnion::UNBOUND_VALUE) TTCN_error("Internal error: Performing ischosen() operation on an invalid field of union type @PCUIF_Types.PCUIF_MsgUnion.");
-switch (template_selection) {
-case SPECIFIC_VALUE:
-if (single_value.union_selection == PCUIF__MsgUnion::UNBOUND_VALUE) TTCN_error("Internal error: Invalid selector in a specific value when performing ischosen() operation on a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-return single_value.union_selection == checked_selection;
-case VALUE_LIST:
-{
-if (value_list.n_values < 1)
-TTCN_error("Internal error: Performing ischosen() operation on a template of union type @PCUIF_Types.PCUIF_MsgUnion containing an empty list.");
-boolean ret_val = value_list.list_value[0].ischosen(checked_selection);
-for (unsigned int list_count = 1; ret_val == TRUE && list_count < value_list.n_values; list_count++) {
-ret_val = value_list.list_value[list_count].ischosen(checked_selection);
-}
-return ret_val;
-}
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__MsgUnion_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-TTCN_Logger::log_event_str("{ data_req := ");
-single_value.field_data__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-TTCN_Logger::log_event_str("{ data_cnf := ");
-single_value.field_data__cnf->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-TTCN_Logger::log_event_str("{ data_cnf_dt := ");
-single_value.field_data__cnf__dt->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-TTCN_Logger::log_event_str("{ data_ind := ");
-single_value.field_data__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-TTCN_Logger::log_event_str("{ susp_req := ");
-single_value.field_susp__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-TTCN_Logger::log_event_str("{ rts_req := ");
-single_value.field_rts__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-TTCN_Logger::log_event_str("{ rach_ind := ");
-single_value.field_rach__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-TTCN_Logger::log_event_str("{ txt_ind := ");
-single_value.field_txt__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-TTCN_Logger::log_event_str("{ info_ind := ");
-single_value.field_info__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-TTCN_Logger::log_event_str("{ act_req := ");
-single_value.field_act__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-TTCN_Logger::log_event_str("{ time_ind := ");
-single_value.field_time__ind->log();
-TTCN_Logger::log_event_str(" }");
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-TTCN_Logger::log_event_str("{ pag_req := ");
-single_value.field_pag__req->log();
-TTCN_Logger::log_event_str(" }");
-break;
-default:
-TTCN_Logger::log_event_str("<invalid selector>");
-}
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__MsgUnion_template::log_match(const PCUIF__MsgUnion& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity() && match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-return;
-}
-if (template_selection == SPECIFIC_VALUE && single_value.union_selection == match_value.get_selection()) {
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".data_req");
-single_value.field_data__req->log_match(match_value.data__req(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ data_req := ");
-single_value.field_data__req->log_match(match_value.data__req(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".data_cnf");
-single_value.field_data__cnf->log_match(match_value.data__cnf(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ data_cnf := ");
-single_value.field_data__cnf->log_match(match_value.data__cnf(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".data_cnf_dt");
-single_value.field_data__cnf__dt->log_match(match_value.data__cnf__dt(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ data_cnf_dt := ");
-single_value.field_data__cnf__dt->log_match(match_value.data__cnf__dt(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".data_ind");
-single_value.field_data__ind->log_match(match_value.data__ind(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ data_ind := ");
-single_value.field_data__ind->log_match(match_value.data__ind(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".susp_req");
-single_value.field_susp__req->log_match(match_value.susp__req(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ susp_req := ");
-single_value.field_susp__req->log_match(match_value.susp__req(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".rts_req");
-single_value.field_rts__req->log_match(match_value.rts__req(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ rts_req := ");
-single_value.field_rts__req->log_match(match_value.rts__req(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".rach_ind");
-single_value.field_rach__ind->log_match(match_value.rach__ind(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ rach_ind := ");
-single_value.field_rach__ind->log_match(match_value.rach__ind(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".txt_ind");
-single_value.field_txt__ind->log_match(match_value.txt__ind(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ txt_ind := ");
-single_value.field_txt__ind->log_match(match_value.txt__ind(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".info_ind");
-single_value.field_info__ind->log_match(match_value.info__ind(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ info_ind := ");
-single_value.field_info__ind->log_match(match_value.info__ind(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".act_req");
-single_value.field_act__req->log_match(match_value.act__req(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ act_req := ");
-single_value.field_act__req->log_match(match_value.act__req(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".time_ind");
-single_value.field_time__ind->log_match(match_value.time__ind(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ time_ind := ");
-single_value.field_time__ind->log_match(match_value.time__ind(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-TTCN_Logger::log_logmatch_info(".pag_req");
-single_value.field_pag__req->log_match(match_value.pag__req(), legacy);
-} else {
-TTCN_Logger::log_event_str("{ pag_req := ");
-single_value.field_pag__req->log_match(match_value.pag__req(), legacy);
-TTCN_Logger::log_event_str(" }");
-}
-break;
-default:
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str("<invalid selector>");
-}
-} else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__MsgUnion_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.union_selection);
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-single_value.field_data__req->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-single_value.field_data__cnf->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-single_value.field_data__cnf__dt->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-single_value.field_data__ind->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-single_value.field_susp__req->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-single_value.field_rts__req->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-single_value.field_rach__ind->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-single_value.field_txt__ind->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-single_value.field_info__ind->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-single_value.field_act__req->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-single_value.field_time__ind->encode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-single_value.field_pag__req->encode_text(text_buf);
-break;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when encoding a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized template of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-
-void PCUIF__MsgUnion_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-{
-single_value.union_selection = PCUIF__MsgUnion::UNBOUND_VALUE;
-PCUIF__MsgUnion::union_selection_type new_selection = (PCUIF__MsgUnion::union_selection_type)text_buf.pull_int().get_val();
-switch (new_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-single_value.field_data__req = new PCUIF__data_template;
-single_value.field_data__req->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf:
-single_value.field_data__cnf = new PCUIF__data_template;
-single_value.field_data__cnf->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-single_value.field_data__cnf__dt = new PCUIF__data__cnf__dt_template;
-single_value.field_data__cnf__dt->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_data__ind:
-single_value.field_data__ind = new PCUIF__data_template;
-single_value.field_data__ind->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_susp__req:
-single_value.field_susp__req = new PCUIF__susp__req_template;
-single_value.field_susp__req->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_rts__req:
-single_value.field_rts__req = new PCUIF__rts__req_template;
-single_value.field_rts__req->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_rach__ind:
-single_value.field_rach__ind = new PCUIF__rach__ind_template;
-single_value.field_rach__ind->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_txt__ind:
-single_value.field_txt__ind = new PCUIF__txt__ind_template;
-single_value.field_txt__ind->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_info__ind:
-single_value.field_info__ind = new PCUIF__info__ind_template;
-single_value.field_info__ind->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_act__req:
-single_value.field_act__req = new PCUIF__act__req_template;
-single_value.field_act__req->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_time__ind:
-single_value.field_time__ind = new PCUIF__time__ind_template;
-single_value.field_time__ind->decode_text(text_buf);
-break;
-case PCUIF__MsgUnion::ALT_pag__req:
-single_value.field_pag__req = new PCUIF__pag__req_template;
-single_value.field_pag__req->decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized union selector was received for a template of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-single_value.union_selection = new_selection;
-}
-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 PCUIF__MsgUnion_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: Unrecognized selector was received in a template of type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-}
-
-boolean PCUIF__MsgUnion_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__MsgUnion_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int v_idx=0; v_idx<value_list.n_values; v_idx++)
-if (value_list.list_value[v_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-void PCUIF__MsgUnion_template::set_param(Module_Param& param)
-{
- if (dynamic_cast<Module_Param_Name*>(param.get_id()) != NULL &&
- param.get_id()->next_name()) {
- char* param_field = param.get_id()->get_current_name();
- if (param_field[0] >= '0' && param_field[0] <= '9') {
- param.error("Unexpected array index in module parameter, expected a valid field"
- " name for union template type `@PCUIF_Types.PCUIF_MsgUnion'");
- }
- if (strcmp("data_req", param_field) == 0) {
- data__req().set_param(param);
- return;
- } else if (strcmp("data_cnf", param_field) == 0) {
- data__cnf().set_param(param);
- return;
- } else if (strcmp("data_cnf_dt", param_field) == 0) {
- data__cnf__dt().set_param(param);
- return;
- } else if (strcmp("data_ind", param_field) == 0) {
- data__ind().set_param(param);
- return;
- } else if (strcmp("susp_req", param_field) == 0) {
- susp__req().set_param(param);
- return;
- } else if (strcmp("rts_req", param_field) == 0) {
- rts__req().set_param(param);
- return;
- } else if (strcmp("rach_ind", param_field) == 0) {
- rach__ind().set_param(param);
- return;
- } else if (strcmp("txt_ind", param_field) == 0) {
- txt__ind().set_param(param);
- return;
- } else if (strcmp("info_ind", param_field) == 0) {
- info__ind().set_param(param);
- return;
- } else if (strcmp("act_req", param_field) == 0) {
- act__req().set_param(param);
- return;
- } else if (strcmp("time_ind", param_field) == 0) {
- time__ind().set_param(param);
- return;
- } else if (strcmp("pag_req", param_field) == 0) {
- pag__req().set_param(param);
- return;
- } else param.error("Field `%s' not found in union template type `@PCUIF_Types.PCUIF_MsgUnion'", param_field);
- }
- param.basic_check(Module_Param::BC_TEMPLATE, "union template");
- Module_Param_Ptr m_p = &param;
- switch (m_p->get_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: {
- PCUIF__MsgUnion_template new_temp;
- new_temp.set_type(m_p->get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, m_p->get_size());
- for (size_t p_i=0; p_i<m_p->get_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_Value_List:
- if (m_p->get_size()==0) break;
- param.type_error("union template", "@PCUIF_Types.PCUIF_MsgUnion");
- break;
- case Module_Param::MP_Assignment_List: {
- Module_Param* mp_last = m_p->get_elem(m_p->get_size()-1);
- char* last_name = mp_last->get_id()->get_name();
- if (!strcmp(last_name, "data_req")) {
- data__req().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "data_cnf")) {
- data__cnf().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "data_cnf_dt")) {
- data__cnf__dt().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "data_ind")) {
- data__ind().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "susp_req")) {
- susp__req().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "rts_req")) {
- rts__req().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "rach_ind")) {
- rach__ind().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "txt_ind")) {
- txt__ind().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "info_ind")) {
- info__ind().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "act_req")) {
- act__req().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "time_ind")) {
- time__ind().set_param(*mp_last);
- break;
- }
- if (!strcmp(last_name, "pag_req")) {
- pag__req().set_param(*mp_last);
- break;
- }
- mp_last->error("Field %s does not exist in type @PCUIF_Types.PCUIF_MsgUnion.", last_name);
- } break;
- default:
- param.type_error("union template", "@PCUIF_Types.PCUIF_MsgUnion");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__MsgUnion_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-switch (single_value.union_selection) {
-case PCUIF__MsgUnion::ALT_data__req:
-single_value.field_data__req->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_data__cnf:
-single_value.field_data__cnf->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_data__cnf__dt:
-single_value.field_data__cnf__dt->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_data__ind:
-single_value.field_data__ind->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_susp__req:
-single_value.field_susp__req->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_rts__req:
-single_value.field_rts__req->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_rach__ind:
-single_value.field_rach__ind->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_txt__ind:
-single_value.field_txt__ind->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_info__ind:
-single_value.field_info__ind->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_act__req:
-single_value.field_act__req->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_time__ind:
-single_value.field_time__ind->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-case PCUIF__MsgUnion::ALT_pag__req:
-single_value.field_pag__req->check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_MsgUnion");
-return;
-default:
-TTCN_error("Internal error: Invalid selector in a specific value when performing check_restriction operation on a template of union type @PCUIF_Types.PCUIF_MsgUnion.");
-}
-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 : "@PCUIF_Types.PCUIF_MsgUnion");
-}
-
-PCUIF__Message::PCUIF__Message()
-{
-}
-
-PCUIF__Message::PCUIF__Message(const PCUIF__MsgType& par_msg__type,
- const INTEGER& par_bts__nr,
- const OCTETSTRING& par_spare,
- const PCUIF__MsgUnion& par_u)
- : field_msg__type(par_msg__type),
- field_bts__nr(par_bts__nr),
- field_spare(par_spare),
- field_u(par_u)
-{
-}
-
-PCUIF__Message::PCUIF__Message(const PCUIF__Message& other_value)
-{
-if(!other_value.is_bound()) TTCN_error("Copying an unbound value of type @PCUIF_Types.PCUIF_Message.");
-if (other_value.msg__type().is_bound()) field_msg__type = other_value.msg__type();
-else field_msg__type.clean_up();
-if (other_value.bts__nr().is_bound()) field_bts__nr = other_value.bts__nr();
-else field_bts__nr.clean_up();
-if (other_value.spare().is_bound()) field_spare = other_value.spare();
-else field_spare.clean_up();
-if (other_value.u().is_bound()) field_u = other_value.u();
-else field_u.clean_up();
-}
-
-void PCUIF__Message::clean_up()
-{
-field_msg__type.clean_up();
-field_bts__nr.clean_up();
-field_spare.clean_up();
-field_u.clean_up();
-}
-
-const TTCN_Typedescriptor_t* PCUIF__Message::get_descriptor() const { return &PCUIF__Message_descr_; }
-PCUIF__Message& PCUIF__Message::operator=(const PCUIF__Message& other_value)
-{
-if (this != &other_value) {
- if(!other_value.is_bound()) TTCN_error("Assignment of an unbound value of type @PCUIF_Types.PCUIF_Message.");
- if (other_value.msg__type().is_bound()) field_msg__type = other_value.msg__type();
- else field_msg__type.clean_up();
- if (other_value.bts__nr().is_bound()) field_bts__nr = other_value.bts__nr();
- else field_bts__nr.clean_up();
- if (other_value.spare().is_bound()) field_spare = other_value.spare();
- else field_spare.clean_up();
- if (other_value.u().is_bound()) field_u = other_value.u();
- else field_u.clean_up();
-}
-return *this;
-}
-
-boolean PCUIF__Message::operator==(const PCUIF__Message& other_value) const
-{
-return field_msg__type==other_value.field_msg__type
- && field_bts__nr==other_value.field_bts__nr
- && field_spare==other_value.field_spare
- && field_u==other_value.field_u;
-}
-
-boolean PCUIF__Message::is_bound() const
-{
-if(field_msg__type.is_bound()) return TRUE;
-if(field_bts__nr.is_bound()) return TRUE;
-if(field_spare.is_bound()) return TRUE;
-if(field_u.is_bound()) return TRUE;
-return FALSE;
-}
-boolean PCUIF__Message::is_value() const
-{
-if(!field_msg__type.is_value()) return FALSE;
-if(!field_bts__nr.is_value()) return FALSE;
-if(!field_spare.is_value()) return FALSE;
-if(!field_u.is_value()) return FALSE;
-return TRUE;
-}
-void PCUIF__Message::log() const
-{
-if (!is_bound()) {
-TTCN_Logger::log_event_unbound();
-return;
-}
-TTCN_Logger::log_event_str("{ msg_type := ");
-field_msg__type.log();
-TTCN_Logger::log_event_str(", bts_nr := ");
-field_bts__nr.log();
-TTCN_Logger::log_event_str(", spare := ");
-field_spare.log();
-TTCN_Logger::log_event_str(", u := ");
-field_u.log();
-TTCN_Logger::log_event_str(" }");
-}
-
-void PCUIF__Message::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_VALUE, "record value");
- switch (param.get_type()) {
- case Module_Param::MP_Value_List:
- if (4<param.get_size()) {
- param.error("record value of type @PCUIF_Types.PCUIF_Message has 4 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) msg__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) bts__nr().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) u().set_param(*param.get_elem(3));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "u")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- u().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_Message: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record value", "@PCUIF_Types.PCUIF_Message");
- }
-}
-
-void PCUIF__Message::set_implicit_omit()
-{
-if (msg__type().is_bound()) msg__type().set_implicit_omit();
-if (bts__nr().is_bound()) bts__nr().set_implicit_omit();
-if (spare().is_bound()) spare().set_implicit_omit();
-if (u().is_bound()) u().set_implicit_omit();
-}
-
-void PCUIF__Message::encode_text(Text_Buf& text_buf) const
-{
-field_msg__type.encode_text(text_buf);
-field_bts__nr.encode_text(text_buf);
-field_spare.encode_text(text_buf);
-field_u.encode_text(text_buf);
-}
-
-void PCUIF__Message::decode_text(Text_Buf& text_buf)
-{
-field_msg__type.decode_text(text_buf);
-field_bts__nr.decode_text(text_buf);
-field_spare.decode_text(text_buf);
-field_u.decode_text(text_buf);
-}
-
-void PCUIF__Message::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...) const
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-encoding type '%s': ", p_td.name);
- unsigned BER_coding=va_arg(pvar, unsigned);
- BER_encode_chk_coding(BER_coding);
- ASN_BER_TLV_t *tlv=BER_encode_TLV(p_td, BER_coding);
- tlv->put_in_buffer(p_buf);
- ASN_BER_TLV_t::destruct(tlv);
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-encoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- RAW_enc_tr_pos rp;
- rp.level=0;
- rp.pos=NULL;
- RAW_enc_tree root(FALSE, NULL, &rp, 1, p_td.raw);
- RAW_encode(p_td, root);
- root.put_to_buf(p_buf);
- break;}
- case TTCN_EncDec::CT_TEXT: {
- TTCN_EncDec_ErrorContext ec("While TEXT-encoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- TEXT_encode(p_td,p_buf);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-encoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XER_encode(*(p_td.xer),p_buf, XER_coding, 0, 0, 0);
- p_buf.put_c('\n');
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-encoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok(va_arg(pvar, int) != 0);
- JSON_encode(p_td, tok);
- p_buf.put_s(tok.get_buffer_length(), (const unsigned char*)tok.get_buffer());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-encoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_encode(p_td, p_buf);
- break;}
- default:
- TTCN_error("Unknown coding method requested to encode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-void PCUIF__Message::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTCN_EncDec::coding_t p_coding, ...)
-{
- va_list pvar;
- va_start(pvar, p_coding);
- switch(p_coding) {
- case TTCN_EncDec::CT_BER: {
- TTCN_EncDec_ErrorContext ec("While BER-decoding type '%s': ", p_td.name);
- unsigned L_form=va_arg(pvar, unsigned);
- ASN_BER_TLV_t tlv;
- BER_decode_str2TLV(p_buf, tlv, L_form);
- BER_decode_TLV(p_td, tlv, L_form);
- if(tlv.isComplete) p_buf.increase_pos(tlv.get_len());
- break;}
- case TTCN_EncDec::CT_RAW: {
- TTCN_EncDec_ErrorContext ec("While RAW-decoding type '%s': ", p_td.name);
- if(!p_td.raw)
- TTCN_EncDec_ErrorContext::error_internal
- ("No RAW descriptor available for type '%s'.", p_td.name);
- raw_order_t r_order;
- switch(p_td.raw->top_bit_order) {
- case TOP_BIT_LEFT:
- r_order=ORDER_LSB;
- break;
- case TOP_BIT_RIGHT:
- default:
- r_order=ORDER_MSB;
- }
- int rawr = RAW_decode(p_td, p_buf, p_buf.get_len()*8, r_order);
- if(rawr<0) switch (-rawr) {
- case TTCN_EncDec::ET_INCOMPL_MSG:
- case TTCN_EncDec::ET_LEN_ERR:
- ec.error((TTCN_EncDec::error_type_t)-rawr, "Can not decode type '%s', because incomplete message was received", p_td.name);
- break;
- case 1:
- default:
- ec.error(TTCN_EncDec::ET_INVAL_MSG, "Can not decode type '%s', because invalid message was received", p_td.name);
- break;
- }
- break;}
- case TTCN_EncDec::CT_TEXT: {
- Limit_Token_List limit;
- TTCN_EncDec_ErrorContext ec("While TEXT-decoding type '%s': ", p_td.name);
- if(!p_td.text)
- TTCN_EncDec_ErrorContext::error_internal
- ("No TEXT descriptor available for type '%s'.", p_td.name);
- const unsigned char *b_data=p_buf.get_data();
- if(b_data[p_buf.get_len()-1]!='\0'){
- p_buf.set_pos(p_buf.get_len());
- p_buf.put_zero(8,ORDER_LSB);
- p_buf.rewind();
- }
- if(TEXT_decode(p_td,p_buf,limit)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- break;}
- case TTCN_EncDec::CT_XER: {
- TTCN_EncDec_ErrorContext ec("While XER-decoding type '%s': ", p_td.name);
- unsigned XER_coding=va_arg(pvar, unsigned);
- XER_encode_chk_coding(XER_coding, p_td);
- XmlReaderWrap reader(p_buf);
- for (int rd_ok=reader.Read(); rd_ok==1; rd_ok=reader.Read()) {
- if (reader.NodeType() == XML_READER_TYPE_ELEMENT) break;
- }
- XER_decode(*(p_td.xer), reader, XER_coding | XER_TOPLEVEL, XER_NONE, 0);
- size_t bytes = reader.ByteConsumed();
- p_buf.set_pos(bytes);
- break;}
- case TTCN_EncDec::CT_JSON: {
- TTCN_EncDec_ErrorContext ec("While JSON-decoding type '%s': ", p_td.name);
- if(!p_td.json)
- TTCN_EncDec_ErrorContext::error_internal
- ("No JSON descriptor available for type '%s'.", p_td.name);
- JSON_Tokenizer tok((const char*)p_buf.get_data(), p_buf.get_len());
- if(JSON_decode(p_td, tok, FALSE)<0)
- ec.error(TTCN_EncDec::ET_INCOMPL_MSG,"Can not decode type '%s', because invalid or incomplete message was received", p_td.name);
- p_buf.set_pos(tok.get_buf_pos());
- break;}
- case TTCN_EncDec::CT_OER: {
- TTCN_EncDec_ErrorContext ec("While OER-decoding type '%s': ", p_td.name);
- if(!p_td.oer)
- TTCN_EncDec_ErrorContext::error_internal
- ("No OER descriptor available for type '%s'.", p_td.name);
- OER_struct p_oer;
- OER_decode(p_td, p_buf, p_oer);
- break;}
- default:
- TTCN_error("Unknown coding method requested to decode type '%s'", p_td.name);
- }
- va_end(pvar);
-}
-
-int PCUIF__Message::RAW_decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int limit, raw_order_t top_bit_ord, boolean no_err, int, boolean, const RAW_Force_Omit* force_omit)
-{ (void)no_err;
- int prepaddlength=p_buf.increase_pos_padd(p_td.raw->prepadding);
- limit-=prepaddlength;
- size_t last_decoded_pos = p_buf.get_pos_bit();
- int decoded_length = 0;
- int decoded_field_length = 0;
- raw_order_t local_top_order;
- int selected_field = -1;
- if(p_td.raw->top_bit_order==TOP_BIT_INHERITED)local_top_order=top_bit_ord;
- else if(p_td.raw->top_bit_order==TOP_BIT_RIGHT)local_top_order=ORDER_MSB;
- else local_top_order=ORDER_LSB;
- RAW_Force_Omit field_0_force_omit(0, force_omit, PCUIF__Message_msg__type_descr_.raw->forceomit);
- decoded_field_length = field_msg__type.RAW_decode(PCUIF__Message_msg__type_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_0_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_1_force_omit(1, force_omit, PCUIF__Message_bts__nr_descr_.raw->forceomit);
- decoded_field_length = field_bts__nr.RAW_decode(PCUIF__Message_bts__nr_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_1_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- RAW_Force_Omit field_2_force_omit(2, force_omit, PCUIF__Message_spare_descr_.raw->forceomit);
- decoded_field_length = field_spare.RAW_decode(PCUIF__Message_spare_descr_, p_buf, limit, local_top_order, no_err, -1, TRUE, &field_2_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__DATA__REQ) selected_field = 0;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__DATA__CNF) selected_field = 1;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__DATA__CNF__DT) selected_field = 2;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__DATA__IND) selected_field = 3;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__SUSP__REQ) selected_field = 4;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__RTS__REQ) selected_field = 5;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__RACH__IND) selected_field = 6;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__TXT__IND) selected_field = 7;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__INFO__IND) selected_field = 8;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__ACT__REQ) selected_field = 9;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__TIME__IND) selected_field = 10;
- else if (field_msg__type == PCUIF__MsgType::PCU__IF__MSG__PAG__REQ) selected_field = 11;
- else selected_field = -1;
- RAW_Force_Omit field_3_force_omit(3, force_omit, PCUIF__Message_u_descr_.raw->forceomit);
- decoded_field_length = field_u.RAW_decode(PCUIF__Message_u_descr_, p_buf, limit, local_top_order, no_err, selected_field, TRUE, &field_3_force_omit);
- if (decoded_field_length < 0) return decoded_field_length;
- decoded_length+=decoded_field_length;
- limit-=decoded_field_length;
- last_decoded_pos=bigger(last_decoded_pos, p_buf.get_pos_bit());
- p_buf.set_pos_bit(last_decoded_pos);
- return decoded_length+prepaddlength+p_buf.increase_pos_padd(p_td.raw->padding);
-}
-
-int PCUIF__Message::RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree& myleaf) const {
- if (!is_bound()) TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_UNBOUND, "Encoding an unbound value.");
- int encoded_length = 0;
- myleaf.isleaf = FALSE;
- myleaf.body.node.num_of_nodes = 4;
- myleaf.body.node.nodes = init_nodes_of_enc_tree(4);
- myleaf.body.node.nodes[0] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 0, PCUIF__Message_msg__type_descr_.raw);
- myleaf.body.node.nodes[1] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 1, PCUIF__Message_bts__nr_descr_.raw);
- myleaf.body.node.nodes[2] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 2, PCUIF__Message_spare_descr_.raw);
- myleaf.body.node.nodes[3] = new RAW_enc_tree(TRUE, &myleaf, &(myleaf.curr_pos), 3, PCUIF__Message_u_descr_.raw);
- encoded_length += field_msg__type.RAW_encode(PCUIF__Message_msg__type_descr_, *myleaf.body.node.nodes[0]);
- encoded_length += field_bts__nr.RAW_encode(PCUIF__Message_bts__nr_descr_, *myleaf.body.node.nodes[1]);
- encoded_length += field_spare.RAW_encode(PCUIF__Message_spare_descr_, *myleaf.body.node.nodes[2]);
- encoded_length += field_u.RAW_encode(PCUIF__Message_u_descr_, *myleaf.body.node.nodes[3]);
- switch (field_u.get_selection()) {
- case PCUIF__MsgUnion::ALT_data__req:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__DATA__REQ) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__DATA__REQ);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_data__cnf:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__DATA__CNF) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__DATA__CNF);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_data__cnf__dt:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__DATA__CNF__DT) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__DATA__CNF__DT);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_data__ind:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__DATA__IND) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__DATA__IND);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_susp__req:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__SUSP__REQ) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__SUSP__REQ);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_rts__req:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__RTS__REQ) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__RTS__REQ);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_rach__ind:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__RACH__IND) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__RACH__IND);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_txt__ind:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__TXT__IND) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__TXT__IND);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_info__ind:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__INFO__IND) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__INFO__IND);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_act__req:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__ACT__REQ) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__ACT__REQ);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_time__ind:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__TIME__IND) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__TIME__IND);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- case PCUIF__MsgUnion::ALT_pag__req:
- if (field_msg__type != PCUIF__MsgType::PCU__IF__MSG__PAG__REQ) {
- RAW_enc_tr_pos pr_pos;
- pr_pos.level = myleaf.curr_pos.level + 1;
- int new_pos[] = { 0 };
- pr_pos.pos = init_new_tree_pos(myleaf.curr_pos, 1, new_pos);
- PCUIF__MsgType new_val(PCUIF__MsgType::PCU__IF__MSG__PAG__REQ);
- RAW_enc_tree* temp_leaf = myleaf.get_node(pr_pos);
- if (temp_leaf != NULL)
- new_val.RAW_encode(PCUIF__Message_msg__type_descr_,*temp_leaf);
- else
- TTCN_EncDec_ErrorContext::error
- (TTCN_EncDec::ET_OMITTED_TAG, "Encoding a tagged, but omitted value.");
- free_tree_pos(pr_pos.pos);
- }
- break;
- default:;
- }
- return myleaf.length = encoded_length;
-}
-
-struct PCUIF__Message_template::single_value_struct {
-PCUIF__MsgType_template field_msg__type;
-INTEGER_template field_bts__nr;
-OCTETSTRING_template field_spare;
-PCUIF__MsgUnion_template field_u;
-};
-
-void PCUIF__Message_template::set_specific()
-{
-if (template_selection != SPECIFIC_VALUE) {
-template_sel old_selection = template_selection;
-clean_up();
-single_value = new single_value_struct;
-set_selection(SPECIFIC_VALUE);
-if (old_selection == ANY_VALUE || old_selection == ANY_OR_OMIT) {
-single_value->field_msg__type = ANY_VALUE;
-single_value->field_bts__nr = ANY_VALUE;
-single_value->field_spare = ANY_VALUE;
-single_value->field_u = ANY_VALUE;
-}
-}
-}
-
-void PCUIF__Message_template::copy_value(const PCUIF__Message& other_value)
-{
-single_value = new single_value_struct;
-if (other_value.msg__type().is_bound()) {
- single_value->field_msg__type = other_value.msg__type();
-} else {
- single_value->field_msg__type.clean_up();
-}
-if (other_value.bts__nr().is_bound()) {
- single_value->field_bts__nr = other_value.bts__nr();
-} else {
- single_value->field_bts__nr.clean_up();
-}
-if (other_value.spare().is_bound()) {
- single_value->field_spare = other_value.spare();
-} else {
- single_value->field_spare.clean_up();
-}
-if (other_value.u().is_bound()) {
- single_value->field_u = other_value.u();
-} else {
- single_value->field_u.clean_up();
-}
-set_selection(SPECIFIC_VALUE);
-}
-
-void PCUIF__Message_template::copy_template(const PCUIF__Message_template& other_value)
-{
-switch (other_value.template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-if (UNINITIALIZED_TEMPLATE != other_value.msg__type().get_selection()) {
-single_value->field_msg__type = other_value.msg__type();
-} else {
-single_value->field_msg__type.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.bts__nr().get_selection()) {
-single_value->field_bts__nr = other_value.bts__nr();
-} else {
-single_value->field_bts__nr.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.spare().get_selection()) {
-single_value->field_spare = other_value.spare();
-} else {
-single_value->field_spare.clean_up();
-}
-if (UNINITIALIZED_TEMPLATE != other_value.u().get_selection()) {
-single_value->field_u = other_value.u();
-} else {
-single_value->field_u.clean_up();
-}
-case OMIT_VALUE:
-case ANY_VALUE:
-case ANY_OR_OMIT:
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-value_list.n_values = other_value.value_list.n_values;
-value_list.list_value = new PCUIF__Message_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;
-default:
-TTCN_error("Copying an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Message.");
-break;
-}
-set_selection(other_value);
-}
-
-PCUIF__Message_template::PCUIF__Message_template()
-{
-}
-
-PCUIF__Message_template::PCUIF__Message_template(template_sel other_value)
- : Base_Template(other_value)
-{
-check_single_selection(other_value);
-}
-
-PCUIF__Message_template::PCUIF__Message_template(const PCUIF__Message& other_value)
-{
-copy_value(other_value);
-}
-
-PCUIF__Message_template::PCUIF__Message_template(const OPTIONAL<PCUIF__Message>& other_value)
-{
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__Message&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Creating a template of type @PCUIF_Types.PCUIF_Message from an unbound optional field.");
-}
-}
-
-PCUIF__Message_template::PCUIF__Message_template(const PCUIF__Message_template& other_value)
-: Base_Template()
-{
-copy_template(other_value);
-}
-
-PCUIF__Message_template::~PCUIF__Message_template()
-{
-clean_up();
-}
-
-PCUIF__Message_template& PCUIF__Message_template::operator=(template_sel other_value)
-{
-check_single_selection(other_value);
-clean_up();
-set_selection(other_value);
-return *this;
-}
-
-PCUIF__Message_template& PCUIF__Message_template::operator=(const PCUIF__Message& other_value)
-{
-clean_up();
-copy_value(other_value);
-return *this;
-}
-
-PCUIF__Message_template& PCUIF__Message_template::operator=(const OPTIONAL<PCUIF__Message>& other_value)
-{
-clean_up();
-switch (other_value.get_selection()) {
-case OPTIONAL_PRESENT:
-copy_value((const PCUIF__Message&)other_value);
-break;
-case OPTIONAL_OMIT:
-set_selection(OMIT_VALUE);
-break;
-default:
-TTCN_error("Assignment of an unbound optional field to a template of type @PCUIF_Types.PCUIF_Message.");
-}
-return *this;
-}
-
-PCUIF__Message_template& PCUIF__Message_template::operator=(const PCUIF__Message_template& other_value)
-{
-if (&other_value != this) {
-clean_up();
-copy_template(other_value);
-}
-return *this;
-}
-
-boolean PCUIF__Message_template::match(const PCUIF__Message& other_value, boolean legacy) const
-{
-if (!other_value.is_bound()) return FALSE;
-switch (template_selection) {
-case ANY_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case OMIT_VALUE:
-return FALSE;
-case SPECIFIC_VALUE:
-if(!other_value.msg__type().is_bound()) return FALSE;
-if(!single_value->field_msg__type.match(other_value.msg__type(), legacy))return FALSE;
-if(!other_value.bts__nr().is_bound()) return FALSE;
-if(!single_value->field_bts__nr.match(other_value.bts__nr(), legacy))return FALSE;
-if(!other_value.spare().is_bound()) return FALSE;
-if(!single_value->field_spare.match(other_value.spare(), legacy))return FALSE;
-if(!other_value.u().is_bound()) return FALSE;
-if(!single_value->field_u.match(other_value.u(), legacy))return FALSE;
-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, legacy)) return template_selection == VALUE_LIST;
-return template_selection == COMPLEMENTED_LIST;
-default:
-TTCN_error("Matching an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Message.");
-}
-return FALSE;
-}
-
-boolean PCUIF__Message_template::is_bound() const
-{
-if (template_selection == UNINITIALIZED_TEMPLATE && !is_ifpresent) return FALSE;
-if (template_selection != SPECIFIC_VALUE) return TRUE;
-if (single_value->field_msg__type.is_bound()) return TRUE;
-if (single_value->field_bts__nr.is_bound()) return TRUE;
-if (single_value->field_spare.is_bound()) return TRUE;
-if (single_value->field_u.is_bound()) return TRUE;
-return FALSE;
-}
-
-boolean PCUIF__Message_template::is_value() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent) return FALSE;
-if (!single_value->field_msg__type.is_value()) return FALSE;
-if (!single_value->field_bts__nr.is_value()) return FALSE;
-if (!single_value->field_spare.is_value()) return FALSE;
-if (!single_value->field_u.is_value()) return FALSE;
-return TRUE;
-}
-
-void PCUIF__Message_template::clean_up()
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-delete single_value;
-break;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-delete [] value_list.list_value;
-default:
-break;
-}
-template_selection = UNINITIALIZED_TEMPLATE;
-}
-
-PCUIF__Message PCUIF__Message_template::valueof() const
-{
-if (template_selection != SPECIFIC_VALUE || is_ifpresent)
-TTCN_error("Performing a valueof or send operation on a non-specific template of type @PCUIF_Types.PCUIF_Message.");
-PCUIF__Message ret_val;
-if (single_value->field_msg__type.is_bound()) {
-ret_val.msg__type() = single_value->field_msg__type.valueof();
-}
-if (single_value->field_bts__nr.is_bound()) {
-ret_val.bts__nr() = single_value->field_bts__nr.valueof();
-}
-if (single_value->field_spare.is_bound()) {
-ret_val.spare() = single_value->field_spare.valueof();
-}
-if (single_value->field_u.is_bound()) {
-ret_val.u() = single_value->field_u.valueof();
-}
-return ret_val;
-}
-
-void PCUIF__Message_template::set_type(template_sel template_type, unsigned int list_length)
-{
-if (template_type != VALUE_LIST && template_type != COMPLEMENTED_LIST)
-TTCN_error("Setting an invalid list for a template of type @PCUIF_Types.PCUIF_Message.");
-clean_up();
-set_selection(template_type);
-value_list.n_values = list_length;
-value_list.list_value = new PCUIF__Message_template[list_length];
-}
-
-PCUIF__Message_template& PCUIF__Message_template::list_item(unsigned int list_index) const
-{
-if (template_selection != VALUE_LIST && template_selection != COMPLEMENTED_LIST)
-TTCN_error("Accessing a list element of a non-list template of type @PCUIF_Types.PCUIF_Message.");
-if (list_index >= value_list.n_values)
-TTCN_error("Index overflow in a value list template of type @PCUIF_Types.PCUIF_Message.");
-return value_list.list_value[list_index];
-}
-
-PCUIF__MsgType_template& PCUIF__Message_template::msg__type()
-{
-set_specific();
-return single_value->field_msg__type;
-}
-
-const PCUIF__MsgType_template& PCUIF__Message_template::msg__type() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field msg_type of a non-specific template of type @PCUIF_Types.PCUIF_Message.");
-return single_value->field_msg__type;
-}
-
-INTEGER_template& PCUIF__Message_template::bts__nr()
-{
-set_specific();
-return single_value->field_bts__nr;
-}
-
-const INTEGER_template& PCUIF__Message_template::bts__nr() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field bts_nr of a non-specific template of type @PCUIF_Types.PCUIF_Message.");
-return single_value->field_bts__nr;
-}
-
-OCTETSTRING_template& PCUIF__Message_template::spare()
-{
-set_specific();
-return single_value->field_spare;
-}
-
-const OCTETSTRING_template& PCUIF__Message_template::spare() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field spare of a non-specific template of type @PCUIF_Types.PCUIF_Message.");
-return single_value->field_spare;
-}
-
-PCUIF__MsgUnion_template& PCUIF__Message_template::u()
-{
-set_specific();
-return single_value->field_u;
-}
-
-const PCUIF__MsgUnion_template& PCUIF__Message_template::u() const
-{
-if (template_selection != SPECIFIC_VALUE)
-TTCN_error("Accessing field u of a non-specific template of type @PCUIF_Types.PCUIF_Message.");
-return single_value->field_u;
-}
-
-int PCUIF__Message_template::size_of() const
-{
- if (is_ifpresent) TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message which has an ifpresent attribute.");
- switch (template_selection)
- {
- case SPECIFIC_VALUE:
- return 4;
- case VALUE_LIST:
- {
- if (value_list.n_values<1)
- TTCN_error("Internal error: Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message containing an empty list.");
- int item_size = value_list.list_value[0].size_of();
- for (unsigned int l_idx = 1; l_idx < value_list.n_values; l_idx++)
- {
- if (value_list.list_value[l_idx].size_of()!=item_size)
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message containing a value list with different sizes.");
- }
- return item_size;
- }
- case OMIT_VALUE:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message containing omit value.");
- case ANY_VALUE:
- case ANY_OR_OMIT:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message containing */? value.");
- case COMPLEMENTED_LIST:
- TTCN_error("Performing sizeof() operation on a template of type @PCUIF_Types.PCUIF_Message containing complemented list.");
- default:
- TTCN_error("Performing sizeof() operation on an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Message.");
- }
- return 0;
-}
-
-void PCUIF__Message_template::log() const
-{
-switch (template_selection) {
-case SPECIFIC_VALUE:
-TTCN_Logger::log_event_str("{ msg_type := ");
-single_value->field_msg__type.log();
-TTCN_Logger::log_event_str(", bts_nr := ");
-single_value->field_bts__nr.log();
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log();
-TTCN_Logger::log_event_str(", u := ");
-single_value->field_u.log();
-TTCN_Logger::log_event_str(" }");
-break;
-case COMPLEMENTED_LIST:
-TTCN_Logger::log_event_str("complement");
-case VALUE_LIST:
-TTCN_Logger::log_char('(');
-for (unsigned int list_count = 0; list_count < value_list.n_values; list_count++) {
-if (list_count > 0) TTCN_Logger::log_event_str(", ");
-value_list.list_value[list_count].log();
-}
-TTCN_Logger::log_char(')');
-break;
-default:
-log_generic();
-}
-log_ifpresent();
-}
-
-void PCUIF__Message_template::log_match(const PCUIF__Message& match_value, boolean legacy) const
-{
-if(TTCN_Logger::VERBOSITY_COMPACT == TTCN_Logger::get_matching_verbosity()){
-if(match(match_value, legacy)){
-TTCN_Logger::print_logmatch_buffer();
-TTCN_Logger::log_event_str(" matched");
-} else{
-if (template_selection == SPECIFIC_VALUE) {
-size_t previous_size = TTCN_Logger::get_logmatch_buffer_len();
-if(!single_value->field_msg__type.match(match_value.msg__type(), legacy)){
-TTCN_Logger::log_logmatch_info(".msg_type");
-single_value->field_msg__type.log_match(match_value.msg__type(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_bts__nr.match(match_value.bts__nr(), legacy)){
-TTCN_Logger::log_logmatch_info(".bts_nr");
-single_value->field_bts__nr.log_match(match_value.bts__nr(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_spare.match(match_value.spare(), legacy)){
-TTCN_Logger::log_logmatch_info(".spare");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-if(!single_value->field_u.match(match_value.u(), legacy)){
-TTCN_Logger::log_logmatch_info(".u");
-single_value->field_u.log_match(match_value.u(), legacy);
-TTCN_Logger::set_logmatch_buffer_len(previous_size);
-}
-}else {
-TTCN_Logger::print_logmatch_buffer();
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-TTCN_Logger::log_event_str(" unmatched");
-}
-}
-return;
-}
-if (template_selection == SPECIFIC_VALUE) {
-TTCN_Logger::log_event_str("{ msg_type := ");
-single_value->field_msg__type.log_match(match_value.msg__type(), legacy);
-TTCN_Logger::log_event_str(", bts_nr := ");
-single_value->field_bts__nr.log_match(match_value.bts__nr(), legacy);
-TTCN_Logger::log_event_str(", spare := ");
-single_value->field_spare.log_match(match_value.spare(), legacy);
-TTCN_Logger::log_event_str(", u := ");
-single_value->field_u.log_match(match_value.u(), legacy);
-TTCN_Logger::log_event_str(" }");
-} else {
-match_value.log();
-TTCN_Logger::log_event_str(" with ");
-log();
-if (match(match_value, legacy)) TTCN_Logger::log_event_str(" matched");
-else TTCN_Logger::log_event_str(" unmatched");
-}
-}
-
-void PCUIF__Message_template::encode_text(Text_Buf& text_buf) const
-{
-encode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value->field_msg__type.encode_text(text_buf);
-single_value->field_bts__nr.encode_text(text_buf);
-single_value->field_spare.encode_text(text_buf);
-single_value->field_u.encode_text(text_buf);
-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 list_count = 0; list_count < value_list.n_values; list_count++)
-value_list.list_value[list_count].encode_text(text_buf);
-break;
-default:
-TTCN_error("Text encoder: Encoding an uninitialized/unsupported template of type @PCUIF_Types.PCUIF_Message.");
-}
-}
-
-void PCUIF__Message_template::decode_text(Text_Buf& text_buf)
-{
-clean_up();
-decode_text_base(text_buf);
-switch (template_selection) {
-case SPECIFIC_VALUE:
-single_value = new single_value_struct;
-single_value->field_msg__type.decode_text(text_buf);
-single_value->field_bts__nr.decode_text(text_buf);
-single_value->field_spare.decode_text(text_buf);
-single_value->field_u.decode_text(text_buf);
-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 PCUIF__Message_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].decode_text(text_buf);
-break;
-default:
-TTCN_error("Text decoder: An unknown/unsupported selection was received in a template of type @PCUIF_Types.PCUIF_Message.");
-}
-}
-
-void PCUIF__Message_template::set_param(Module_Param& param)
-{
- param.basic_check(Module_Param::BC_TEMPLATE, "record template");
- switch (param.get_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: {
- PCUIF__Message_template new_temp;
- new_temp.set_type(param.get_type()==Module_Param::MP_List_Template ? VALUE_LIST : COMPLEMENTED_LIST, param.get_size());
- for (size_t p_i=0; p_i<param.get_size(); p_i++) {
- new_temp.list_item(p_i).set_param(*param.get_elem(p_i));
- }
- *this = new_temp;
- break; }
- case Module_Param::MP_Value_List:
- if (4<param.get_size()) {
- param.error("record template of type @PCUIF_Types.PCUIF_Message has 4 fields but list value has %d fields", (int)param.get_size());
- }
- if (param.get_size()>0 && param.get_elem(0)->get_type()!=Module_Param::MP_NotUsed) msg__type().set_param(*param.get_elem(0));
- if (param.get_size()>1 && param.get_elem(1)->get_type()!=Module_Param::MP_NotUsed) bts__nr().set_param(*param.get_elem(1));
- if (param.get_size()>2 && param.get_elem(2)->get_type()!=Module_Param::MP_NotUsed) spare().set_param(*param.get_elem(2));
- if (param.get_size()>3 && param.get_elem(3)->get_type()!=Module_Param::MP_NotUsed) u().set_param(*param.get_elem(3));
- break;
- case Module_Param::MP_Assignment_List: {
- Vector<bool> value_used(param.get_size());
- value_used.resize(param.get_size(), FALSE);
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "msg_type")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- msg__type().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "bts_nr")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- bts__nr().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "spare")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- spare().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- if (!strcmp(curr_param->get_id()->get_name(), "u")) {
- if (curr_param->get_type()!=Module_Param::MP_NotUsed) {
- u().set_param(*curr_param);
- }
- value_used[val_idx]=TRUE;
- }
- }
- for (size_t val_idx=0; val_idx<param.get_size(); val_idx++) if (!value_used[val_idx]) {
- Module_Param* const curr_param = param.get_elem(val_idx);
- curr_param->error("Non existent field name in type @PCUIF_Types.PCUIF_Message: %s", curr_param->get_id()->get_name());
- break;
- }
- } break;
- default:
- param.type_error("record template", "@PCUIF_Types.PCUIF_Message");
- }
- is_ifpresent = param.get_ifpresent();
-}
-
-void PCUIF__Message_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_OMIT:
-if (template_selection==OMIT_VALUE) return;
-case TR_VALUE:
-if (template_selection!=SPECIFIC_VALUE || is_ifpresent) break;
-single_value->field_msg__type.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Message");
-single_value->field_bts__nr.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Message");
-single_value->field_spare.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Message");
-single_value->field_u.check_restriction(t_res, t_name ? t_name : "@PCUIF_Types.PCUIF_Message");
-return;
-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 : "@PCUIF_Types.PCUIF_Message");
-}
-
-boolean PCUIF__Message_template::is_present(boolean legacy) const
-{
-if (template_selection==UNINITIALIZED_TEMPLATE) return FALSE;
-return !match_omit(legacy);
-}
-
-boolean PCUIF__Message_template::match_omit(boolean legacy) const
-{
-if (is_ifpresent) return TRUE;
-switch (template_selection) {
-case OMIT_VALUE:
-case ANY_OR_OMIT:
-return TRUE;
-case VALUE_LIST:
-case COMPLEMENTED_LIST:
-if (legacy) {
-for (unsigned int l_idx=0; l_idx<value_list.n_values; l_idx++)
-if (value_list.list_value[l_idx].match_omit())
-return template_selection==VALUE_LIST;
-return template_selection==COMPLEMENTED_LIST;
-} // else fall through
-default:
-return FALSE;
-}
-return FALSE;
-}
-
-
-/* Bodies of functions, altsteps and testcases */
-
-void PCUIF__MsgType_encoder(const PCUIF__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgType_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgType_decoder(OCTETSTRING& input_stream, PCUIF__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgType_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_bts__active_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_bts__active_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_bts__active_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_bts__active_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_sysmo__direct__dsp_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_sysmo__direct__dsp_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_sysmo__direct__dsp_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_sysmo__direct__dsp_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_spare_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_spare_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_cs1_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_cs1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_cs1_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_cs1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_cs2_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_cs2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_cs2_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_cs2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_cs3_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_cs3_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_cs3_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_cs3_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_cs4_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_cs4_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_cs4_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_cs4_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs1_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs1_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs2_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs2_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs3_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs3_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs3_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs3_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs4_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs4_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs4_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs4_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs5_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs5_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs5_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs5_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs6_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs6_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs6_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs6_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs7_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs7_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs7_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs7_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs8_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs8_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs8_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs8_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_mcs9_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_mcs9_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_mcs9_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `boolean' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_mcs9_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_spare2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_spare2_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_spare2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_spare2_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Flags_encoder(const PCUIF__Flags& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Flags' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Flags_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Flags_decoder(OCTETSTRING& input_stream, PCUIF__Flags& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Flags' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Flags_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__TextType_encoder(const PCUIF__TextType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_TextType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__TextType_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__TextType_decoder(OCTETSTRING& input_stream, PCUIF__TextType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_TextType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__TextType_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Text_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Text_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Text_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Text_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__txt__ind_txt__type_encoder(const PCUIF__TextType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_TextType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__txt__ind_txt__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__txt__ind_txt__type_decoder(OCTETSTRING& input_stream, PCUIF__TextType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_TextType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__txt__ind_txt__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__txt__ind_text_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__txt__ind_text_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__txt__ind_text_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `charstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__txt__ind_text_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__txt__ind_encoder(const PCUIF__txt__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_txt_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__txt__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__txt__ind_decoder(OCTETSTRING& input_stream, PCUIF__txt__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_txt_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__txt__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void OCT162_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(OCT162_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER OCT162_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(OCT162_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_len_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_len_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_fn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_fn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_rssi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_rssi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_rssi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_rssi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_ber10k_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_ber10k_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_ber10k_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_ber10k_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_ta__offs__qbits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_ta__offs__qbits_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_ta__offs__qbits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_ta__offs__qbits_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_lqual__cb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_lqual__cb_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_lqual__cb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_lqual__cb_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_tlli_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_tlli_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_tlli_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_tlli_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_fn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_fn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_rssi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_rssi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_rssi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_rssi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_ber10k_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_ber10k_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_ber10k_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_ber10k_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_ta__offs__qbits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_ta__offs__qbits_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_ta__offs__qbits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_ta__offs__qbits_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_lqual__cb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_lqual__cb_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_lqual__cb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_lqual__cb_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__data__cnf__dt_encoder(const PCUIF__data__cnf__dt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data_cnf_dt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__data__cnf__dt_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__data__cnf__dt_decoder(OCTETSTRING& input_stream, PCUIF__data__cnf__dt& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data_cnf_dt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__data__cnf__dt_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_spare_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_spare_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_fn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_fn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_block__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rts__req_encoder(const PCUIF__rts__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rts_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rts__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rts__req_decoder(OCTETSTRING& input_stream, PCUIF__rts__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rts_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rts__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__BurstType_encoder(const PCUIF__BurstType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_BurstType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__BurstType_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__BurstType_decoder(OCTETSTRING& input_stream, PCUIF__BurstType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_BurstType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__BurstType_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_ra_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_ra_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_ra_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_ra_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_qta_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_qta_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_qta_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_qta_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_fn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_fn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_is__11bit_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_is__11bit_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_is__11bit_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_is__11bit_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_burst__type_encoder(const PCUIF__BurstType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_BurstType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_burst__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_burst__type_decoder(OCTETSTRING& input_stream, PCUIF__BurstType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_BurstType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_burst__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__rach__ind_encoder(const PCUIF__rach__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rach_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__rach__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__rach__ind_decoder(OCTETSTRING& input_stream, PCUIF__rach__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rach_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__rach__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_arfcn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_pdch__mask_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_pdch__mask_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_pdch__mask_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `bitstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_pdch__mask_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_spare_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_spare_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_tsc_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_tsc_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_tsc_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_tsc_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_hLayer1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_hLayer1_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_hLayer1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_hLayer1_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrx_encoder(const PCUIF__InfoTrx& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrx' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrx_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrx_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrx& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrx' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrx_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-boolean operator==(null_type, const PCUIF__InfoTrxs& other_value)
-{
-if (other_value.val_ptr == NULL)
-TTCN_error("The right operand of comparison is an unbound value of type @PCUIF_Types.PCUIF_InfoTrxs.");
-return other_value.val_ptr->n_elements == 0;
-}
-
-void PCUIF__InfoTrxs_0_encoder(const PCUIF__InfoTrx& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrx' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrxs_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrxs_0_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrx& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrx' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrxs_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__InfoTrxs_encoder(const PCUIF__InfoTrxs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrxs' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__InfoTrxs_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__InfoTrxs_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrxs& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrxs' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__InfoTrxs_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_version_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_version_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_flags_encoder(const PCUIF__Flags& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Flags' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_flags_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_flags_decoder(OCTETSTRING& input_stream, PCUIF__Flags& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Flags' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_flags_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_trx_encoder(const PCUIF__InfoTrxs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrxs' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_trx_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_trx_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrxs& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_InfoTrxs' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_trx_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_bsic_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_bsic_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_bsic_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_bsic_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_mcc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_mcc_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_mcc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_mcc_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_mnc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_mnc_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_mnc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_mnc_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_mnc__3__digits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_mnc__3__digits_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_mnc__3__digits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_mnc__3__digits_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_lac_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_lac_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_lac_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_lac_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_rac_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_rac_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_rac_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_rac_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_nsei_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_nsei_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_nsei_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_nsei_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_nse__timer_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_nse__timer_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_nse__timer_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_nse__timer_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_nse__timer_encoder(const PCUIF__info__ind_nse__timer& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.nse_timer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_nse__timer_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_nse__timer_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_nse__timer& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.nse_timer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_nse__timer_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_cell__timer_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_cell__timer_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_cell__timer_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_cell__timer_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_cell__timer_encoder(const PCUIF__info__ind_cell__timer& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.cell_timer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_cell__timer_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_cell__timer_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_cell__timer& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.cell_timer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_cell__timer_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_cell__id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_cell__id_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_cell__id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_cell__id_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_repeat__time_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_repeat__time_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_repeat__time_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_repeat__time_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_repeat__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_repeat__count_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_repeat__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_repeat__count_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_bvci_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_bvci_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_bvci_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_bvci_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3142_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3142_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3142_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3142_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3169_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3169_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3169_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3169_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3191_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3191_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3191_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3191_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3193__10ms_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3193__10ms_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3193__10ms_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3193__10ms_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3195_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3195_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3195_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3195_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3101_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3101_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3101_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3101_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3103_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3103_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3103_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3103_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_t3105_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_t3105_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_t3105_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_t3105_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_cv__countdown_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_cv__countdown_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_cv__countdown_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_cv__countdown_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_dl__tbf__ext_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_dl__tbf__ext_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_dl__tbf__ext_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_dl__tbf__ext_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_ul__tbf__ext_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_ul__tbf__ext_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_ul__tbf__ext_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_ul__tbf__ext_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_initial__cs_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_initial__cs_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_initial__cs_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_initial__cs_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_initial__mcs_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_initial__mcs_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_initial__mcs_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_initial__mcs_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_nsvci_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_nsvci_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_nsvci_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_nsvci_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_nsvci_encoder(const PCUIF__info__ind_nsvci& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.nsvci' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_nsvci_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_nsvci_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_nsvci& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.nsvci' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_nsvci_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_local__pprt_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_local__pprt_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_local__pprt_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_local__pprt_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_local__pprt_encoder(const PCUIF__info__ind_local__pprt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.local_pprt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_local__pprt_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_local__pprt_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_local__pprt& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.local_pprt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_local__pprt_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_remote__port_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_remote__port_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_remote__port_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_remote__port_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_remote__port_encoder(const PCUIF__info__ind_remote__port& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.remote_port' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_remote__port_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_remote__port_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_remote__port& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.remote_port' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_remote__port_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_remote__ip_0_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_remote__ip_0_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_remote__ip_0_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_remote__ip_0_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_remote__ip_encoder(const PCUIF__info__ind_remote__ip& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.remote_ip' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_remote__ip_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_remote__ip_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_remote__ip& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind.remote_ip' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_remote__ip_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__info__ind_encoder(const PCUIF__info__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__info__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__info__ind_decoder(OCTETSTRING& input_stream, PCUIF__info__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__info__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__act__req_is__activate_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__act__req_is__activate_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__act__req_is__activate_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__act__req_is__activate_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__act__req_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__act__req_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__act__req_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__act__req_trx__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__act__req_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__act__req_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__act__req_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__act__req_ts__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__act__req_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__act__req_spare_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__act__req_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__act__req_spare_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__act__req_encoder(const PCUIF__act__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_act_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__act__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__act__req_decoder(OCTETSTRING& input_stream, PCUIF__act__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_act_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__act__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__time__ind_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__time__ind_fn_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__time__ind_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__time__ind_fn_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__time__ind_encoder(const PCUIF__time__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_time_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__time__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__time__ind_decoder(OCTETSTRING& input_stream, PCUIF__time__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_time_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__time__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__pag__req_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__pag__req_sapi_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__pag__req_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Sapi' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__pag__req_sapi_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__pag__req_chan__needed_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__pag__req_chan__needed_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__pag__req_chan__needed_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__pag__req_chan__needed_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__pag__req_identity__lv_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__pag__req_identity__lv_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__pag__req_identity__lv_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__pag__req_identity__lv_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__pag__req_encoder(const PCUIF__pag__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_pag_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__pag__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__pag__req_decoder(OCTETSTRING& input_stream, PCUIF__pag__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_pag_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__pag__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__susp__req_tlli_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__susp__req_tlli_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__susp__req_tlli_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__susp__req_tlli_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__susp__req_ra__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__susp__req_ra__id_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__susp__req_ra__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__susp__req_ra__id_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__susp__req_cause_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__susp__req_cause_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__susp__req_cause_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__susp__req_cause_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__susp__req_encoder(const PCUIF__susp__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_susp_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__susp__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__susp__req_decoder(OCTETSTRING& input_stream, PCUIF__susp__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_susp_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__susp__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_data__req_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_data__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_data__req_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_data__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_data__cnf_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_data__cnf_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_data__cnf_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_data__cnf_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_data__cnf__dt_encoder(const PCUIF__data__cnf__dt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data_cnf_dt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_data__cnf__dt_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_data__cnf__dt_decoder(OCTETSTRING& input_stream, PCUIF__data__cnf__dt& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data_cnf_dt' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_data__cnf__dt_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_data__ind_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_data__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_data__ind_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_data' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_data__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_susp__req_encoder(const PCUIF__susp__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_susp_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_susp__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_susp__req_decoder(OCTETSTRING& input_stream, PCUIF__susp__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_susp_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_susp__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_rts__req_encoder(const PCUIF__rts__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rts_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_rts__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_rts__req_decoder(OCTETSTRING& input_stream, PCUIF__rts__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rts_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_rts__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_rach__ind_encoder(const PCUIF__rach__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rach_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_rach__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_rach__ind_decoder(OCTETSTRING& input_stream, PCUIF__rach__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_rach_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_rach__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_txt__ind_encoder(const PCUIF__txt__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_txt_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_txt__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_txt__ind_decoder(OCTETSTRING& input_stream, PCUIF__txt__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_txt_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_txt__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_info__ind_encoder(const PCUIF__info__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_info__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_info__ind_decoder(OCTETSTRING& input_stream, PCUIF__info__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_info_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_info__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_act__req_encoder(const PCUIF__act__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_act_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_act__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_act__req_decoder(OCTETSTRING& input_stream, PCUIF__act__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_act_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_act__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_time__ind_encoder(const PCUIF__time__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_time_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_time__ind_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_time__ind_decoder(OCTETSTRING& input_stream, PCUIF__time__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_time_ind' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_time__ind_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_pag__req_encoder(const PCUIF__pag__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_pag_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_pag__req_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_pag__req_decoder(OCTETSTRING& input_stream, PCUIF__pag__req& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_pag_req' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_pag__req_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__MsgUnion_encoder(const PCUIF__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__MsgUnion_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__MsgUnion_decoder(OCTETSTRING& input_stream, PCUIF__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__MsgUnion_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Message_msg__type_encoder(const PCUIF__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Message_msg__type_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Message_msg__type_decoder(OCTETSTRING& input_stream, PCUIF__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgType' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Message_msg__type_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Message_bts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Message_bts__nr_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Message_bts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `integer' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Message_bts__nr_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Message_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Message_spare_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Message_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `octetstring' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Message_spare_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Message_u_encoder(const PCUIF__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Message_u_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Message_u_decoder(OCTETSTRING& input_stream, PCUIF__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_MsgUnion' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Message_u_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-void PCUIF__Message_encoder(const PCUIF__Message& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, TRUE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Message' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf;
-input_value.encode(PCUIF__Message_descr_, ttcn_buf, coding_type, extra_options);
-ttcn_buf.get_string(output_stream);
-}
-
-INTEGER PCUIF__Message_decoder(OCTETSTRING& input_stream, PCUIF__Message& output_value, const UNIVERSAL_CHARSTRING& coding_name)
-{
-TTCN_EncDec::coding_t coding_type;
-unsigned int extra_options = 0;
-TTCN_EncDec::get_coding_from_str(coding_name, &coding_type, &extra_options, FALSE);
-if (coding_type != TTCN_EncDec::CT_RAW) {
-TTCN_Logger::begin_event_log2str();
-coding_name.log();
-TTCN_error("Type `@PCUIF_Types.PCUIF_Message' does not support %s encoding", (const char*) TTCN_Logger::end_event_log2str());
-}
-TTCN_Buffer ttcn_buf(input_stream);
-output_value.decode(PCUIF__Message_descr_, ttcn_buf, coding_type, extra_options);
-switch (TTCN_EncDec::get_last_error_type()) {
-case TTCN_EncDec::ET_NONE:
-ttcn_buf.cut();
-ttcn_buf.get_string(input_stream);
-return 0;
-case TTCN_EncDec::ET_INCOMPL_MSG:
-case TTCN_EncDec::ET_LEN_ERR:
-return 2;
-default:
-return 1;
-}
-}
-
-OCTETSTRING enc__PCUIF__Message(const PCUIF__Message& pdu)
-{
-if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) {
-TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC);
-TTCN_Logger::log_event_str("enc_PCUIF_Message(): Encoding @PCUIF_Types.PCUIF_Message: ");
-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(PCUIF__Message_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("enc_PCUIF_Message(): Stream after encoding: ");
-ret_val.log();
-TTCN_Logger::end_event();
-}
-return ret_val;
-}
-
-PCUIF__Message dec__PCUIF__Message(const OCTETSTRING& stream)
-{
-if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) {
-TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC);
-TTCN_Logger::log_event_str("dec_PCUIF_Message(): Stream before decoding: ");
-stream.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(stream);
-PCUIF__Message ret_val;
-ret_val.decode(PCUIF__Message_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("dec_PCUIF_Message(): Decoded @PCUIF_Types.PCUIF_Message: ");
-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_Logger::log_this_event(TTCN_WARNING)) {
-ttcn_buffer.cut();
-OCTETSTRING remaining_stream;
-ttcn_buffer.get_string(remaining_stream);
-TTCN_Logger::begin_event(TTCN_WARNING);
-TTCN_Logger::log_event_str("dec_PCUIF_Message(): Warning: Data remained at the end of the stream after successful decoding: ");
-remaining_stream.log();
-TTCN_Logger::end_event();
-}
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__RTS__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& block__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 243, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_RTS_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__RTS__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__rts__req_template& tmp_0 = ret_val.u().rts__req();
-tmp_0.sapi() = sapi;
-tmp_0.spare() = os_1;
-tmp_0.fn() = fn;
-tmp_0.arfcn() = arfcn;
-tmp_0.trx__nr() = trx__nr;
-tmp_0.ts__nr() = ts__nr;
-tmp_0.block__nr() = block__nr;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__RTS__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const INTEGER_template& fn, const INTEGER_template& block__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 266, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_RTS_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__RTS__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__rts__req_template& tmp_1 = ret_val.u().rts__req();
-tmp_1.sapi() = sapi;
-tmp_1.spare() = ANY_VALUE;
-tmp_1.fn() = fn;
-tmp_1.arfcn() = ANY_VALUE;
-tmp_1.trx__nr() = trx__nr;
-tmp_1.ts__nr() = ts__nr;
-tmp_1.block__nr() = block__nr;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__TXT__IND(const INTEGER& bts__nr, const PCUIF__TextType& tt, const CHARSTRING& text)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 289, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_TXT_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__TXT__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__txt__ind_template& tmp_2 = ret_val.u().txt__ind();
-tmp_2.txt__type() = tt;
-tmp_2.text() = text;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__TXT__IND(const INTEGER_template& bts__nr, const PCUIF__TextType_template& tt, const CHARSTRING_template& text)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 300, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_TXT_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__TXT__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__txt__ind_template& tmp_3 = ret_val.u().txt__ind();
-tmp_3.txt__type() = tt;
-tmp_3.text() = text;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__ACT__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 315, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_ACT_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__ACT__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__act__req_template& tmp_4 = ret_val.u().act__req();
-tmp_4.is__activate() = 1;
-tmp_4.trx__nr() = trx__nr;
-tmp_4.ts__nr() = ts__nr;
-tmp_4.spare() = os_2;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__ACT__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 328, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_ACT_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__ACT__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__act__req_template& tmp_5 = ret_val.u().act__req();
-tmp_5.is__activate() = 1;
-tmp_5.trx__nr() = trx__nr;
-tmp_5.ts__nr() = ts__nr;
-tmp_5.spare() = os_2;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__DEACT__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 343, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_DEACT_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__ACT__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__act__req_template& tmp_6 = ret_val.u().act__req();
-tmp_6.is__activate() = 0;
-tmp_6.trx__nr() = trx__nr;
-tmp_6.ts__nr() = ts__nr;
-tmp_6.spare() = os_2;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__DEACT__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 356, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_DEACT_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__ACT__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__act__req_template& tmp_7 = ret_val.u().act__req();
-tmp_7.is__activate() = 0;
-tmp_7.trx__nr() = trx__nr;
-tmp_7.ts__nr() = ts__nr;
-tmp_7.spare() = os_2;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__DATA__IND(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& rssi, const INTEGER_template& ber10k, const INTEGER_template& ta__offs__qbits, const INTEGER_template& lqual__cb)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 371, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_DATA_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__data_template& tmp_8 = ret_val.u().data__ind();
-tmp_8.sapi() = sapi;
-tmp_8.len() = data.valueof().lengthof();
-tmp_8.data() = data;
-tmp_8.fn() = fn;
-tmp_8.arfcn() = arfcn;
-tmp_8.trx__nr() = trx__nr;
-tmp_8.ts__nr() = ts__nr;
-tmp_8.block__nr() = block__nr;
-tmp_8.rssi() = rssi;
-tmp_8.ber10k() = ber10k;
-tmp_8.ta__offs__qbits() = ta__offs__qbits;
-tmp_8.lqual__cb() = lqual__cb;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__DATA__IND(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 403, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_DATA_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__data_template& tmp_9 = ret_val.u().data__ind();
-tmp_9.sapi() = sapi;
-tmp_9.len() = ANY_VALUE;
-tmp_9.data() = data;
-tmp_9.fn() = ANY_VALUE;
-tmp_9.arfcn() = ANY_VALUE;
-tmp_9.trx__nr() = trx__nr;
-tmp_9.ts__nr() = ts__nr;
-tmp_9.block__nr() = block__nr;
-tmp_9.rssi() = ANY_VALUE;
-tmp_9.ber10k() = ANY_VALUE;
-tmp_9.ta__offs__qbits() = ANY_VALUE;
-tmp_9.lqual__cb() = ANY_VALUE;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__DATA__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr, const INTEGER& block__nr, const INTEGER& fn, const PCUIF__Sapi& sapi, const OCTETSTRING& data)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 430, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_DATA_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__data_template& tmp_10 = ret_val.u().data__req();
-tmp_10.sapi() = sapi;
-tmp_10.len() = data.lengthof();
-tmp_10.data() = data;
-tmp_10.fn() = fn;
-tmp_10.arfcn() = 0;
-tmp_10.trx__nr() = trx__nr;
-tmp_10.ts__nr() = ts__nr;
-tmp_10.block__nr() = block__nr;
-tmp_10.rssi() = 0;
-tmp_10.ber10k() = 0;
-tmp_10.ta__offs__qbits() = 0;
-tmp_10.lqual__cb() = 0;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__DATA__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const INTEGER_template& fn, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 455, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_DATA_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__data_template& tmp_11 = ret_val.u().data__req();
-tmp_11.sapi() = sapi;
-tmp_11.len() = ANY_VALUE;
-tmp_11.data() = data;
-tmp_11.fn() = fn;
-tmp_11.arfcn() = ANY_VALUE;
-tmp_11.trx__nr() = trx__nr;
-tmp_11.ts__nr() = ts__nr;
-tmp_11.block__nr() = block__nr;
-tmp_11.rssi() = 0;
-tmp_11.ber10k() = 0;
-tmp_11.ta__offs__qbits() = 0;
-tmp_11.lqual__cb() = 0;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__DATA__CNF(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const INTEGER_template& fn, const INTEGER_template& arfcn, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 484, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_DATA_CNF");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__CNF;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__data_template& tmp_12 = ret_val.u().data__cnf();
-tmp_12.sapi() = sapi;
-tmp_12.len() = 0;
-tmp_12.data() = data;
-tmp_12.fn() = fn;
-tmp_12.arfcn() = arfcn;
-tmp_12.trx__nr() = trx__nr;
-tmp_12.ts__nr() = ts__nr;
-tmp_12.block__nr() = block__nr;
-tmp_12.rssi() = 0;
-tmp_12.ber10k() = 0;
-tmp_12.ta__offs__qbits() = 0;
-tmp_12.lqual__cb() = 0;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__DATA__CNF(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 512, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_DATA_CNF");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__DATA__CNF;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__data_template& tmp_13 = ret_val.u().data__cnf();
-tmp_13.sapi() = sapi;
-tmp_13.len() = ANY_VALUE;
-tmp_13.data() = data;
-tmp_13.fn() = ANY_VALUE;
-tmp_13.arfcn() = ANY_VALUE;
-tmp_13.trx__nr() = trx__nr;
-tmp_13.ts__nr() = ts__nr;
-tmp_13.block__nr() = ANY_VALUE;
-tmp_13.rssi() = ANY_VALUE;
-tmp_13.ber10k() = ANY_VALUE;
-tmp_13.ta__offs__qbits() = ANY_VALUE;
-tmp_13.lqual__cb() = ANY_VALUE;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__RACH__IND(const INTEGER_template& bts__nr, const INTEGER_template& ra, const INTEGER_template& is__11bit, const PCUIF__BurstType_template& burst__type, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& qta)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 538, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_RACH_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__RACH__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__rach__ind_template& tmp_14 = ret_val.u().rach__ind();
-tmp_14.sapi() = PCUIF__Sapi::PCU__IF__SAPI__RACH;
-tmp_14.ra() = ra;
-tmp_14.qta() = qta;
-tmp_14.fn() = fn;
-tmp_14.arfcn() = arfcn;
-tmp_14.is__11bit() = is__11bit;
-tmp_14.burst__type() = burst__type;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__RACH__IND(const INTEGER_template& bts__nr, const INTEGER_template& ra, const INTEGER_template& is__11bit, const PCUIF__BurstType_template& burst__type, const INTEGER_template& fn)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 561, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_RACH_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__RACH__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__rach__ind_template& tmp_15 = ret_val.u().rach__ind();
-tmp_15.sapi() = PCUIF__Sapi::PCU__IF__SAPI__RACH;
-tmp_15.ra() = ra;
-tmp_15.qta() = ANY_VALUE;
-tmp_15.fn() = fn;
-tmp_15.arfcn() = ANY_VALUE;
-tmp_15.is__11bit() = is__11bit;
-tmp_15.burst__type() = burst__type;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__PAG__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& id__lv, const INTEGER_template& chan__needed, const PCUIF__Sapi_template& sapi)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 582, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_PAG_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__PAG__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__pag__req_template& tmp_16 = ret_val.u().pag__req();
-tmp_16.sapi() = sapi;
-tmp_16.chan__needed() = chan__needed;
-tmp_16.identity__lv() = id__lv;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__PAG__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& id__lv, const INTEGER_template& chan__needed, const PCUIF__Sapi_template& )
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 597, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_PAG_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__PAG__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__pag__req_template& tmp_17 = ret_val.u().pag__req();
-tmp_17.sapi() = ANY_VALUE;
-tmp_17.chan__needed() = chan__needed;
-tmp_17.identity__lv() = id__lv;
-}
-return ret_val;
-}
-
-PCUIF__InfoTrx_template ts__PCUIF__InfoTrx(const INTEGER_template& arfcn, const BITSTRING_template& pdch__mask, const OCTETSTRING& tsc)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 633, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_InfoTrx");
-PCUIF__InfoTrx_template ret_val;
-ret_val.arfcn() = arfcn;
-ret_val.pdch__mask() = pdch__mask;
-ret_val.spare() = os_2;
-ret_val.tsc() = (((((((tsc + tsc) + tsc) + tsc) + tsc) + tsc) + tsc) + tsc);
-ret_val.hLayer1() = 0;
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__INFO__IND(const INTEGER_template& bts__nr, const INTEGER_template& nsei, const INTEGER_template& nsvci, const INTEGER_template& bvci, const INTEGER_template& local__port, const INTEGER_template& remote__port, const OCTETSTRING_template& remote__ip, const PCUIF__Flags_template& flags, const INTEGER_template& mcc, const INTEGER_template& mnc, const INTEGER_template& lac, const INTEGER_template& rac, const INTEGER_template& cell__id, const INTEGER_template& bsic, const PCUIF__InfoTrxs_template& trx, const INTEGER_template& version)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 650, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_INFO_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__INFO__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__info__ind_template& tmp_18 = ret_val.u().info__ind();
-tmp_18.version() = version;
-tmp_18.flags() = flags;
-tmp_18.trx() = trx;
-tmp_18.bsic() = bsic;
-tmp_18.mcc() = mcc;
-tmp_18.mnc() = mnc;
-tmp_18.mnc__3__digits() = 0;
-tmp_18.lac() = lac;
-tmp_18.rac() = rac;
-tmp_18.nsei() = nsei;
-{
-PCUIF__info__ind_nse__timer_template& tmp_19 = tmp_18.nse__timer();
-tmp_19.set_size(7);
-tmp_19[0] = 3;
-tmp_19[1] = 3;
-tmp_19[2] = 3;
-tmp_19[3] = 3;
-tmp_19[4] = 30;
-tmp_19[5] = 3;
-tmp_19[6] = 10;
-}
-{
-PCUIF__info__ind_cell__timer_template& tmp_20 = tmp_18.cell__timer();
-tmp_20.set_size(11);
-tmp_20[0] = 3;
-tmp_20[1] = 3;
-tmp_20[2] = 3;
-tmp_20[3] = 3;
-tmp_20[4] = 3;
-tmp_20[5] = 10;
-tmp_20[6] = 3;
-tmp_20[7] = 10;
-tmp_20[8] = 3;
-tmp_20[9] = 10;
-tmp_20[10] = 3;
-}
-tmp_18.cell__id() = cell__id;
-tmp_18.repeat__time() = 250;
-tmp_18.repeat__count() = 3;
-tmp_18.bvci() = bvci;
-tmp_18.t3142() = 20;
-tmp_18.t3169() = 5;
-tmp_18.t3191() = 5;
-tmp_18.t3193__10ms() = 160;
-tmp_18.t3195() = 5;
-tmp_18.t3101() = 10;
-tmp_18.t3103() = 4;
-tmp_18.t3105() = 8;
-tmp_18.cv__countdown() = 15;
-tmp_18.dl__tbf__ext() = 2500;
-tmp_18.ul__tbf__ext() = 2500;
-tmp_18.initial__cs() = 2;
-tmp_18.initial__mcs() = 6;
-{
-PCUIF__info__ind_nsvci_template& tmp_21 = tmp_18.nsvci();
-tmp_21.set_size(2);
-tmp_21[0] = nsvci;
-tmp_21[1] = 0;
-}
-{
-PCUIF__info__ind_local__pprt_template& tmp_22 = tmp_18.local__pprt();
-tmp_22.set_size(2);
-tmp_22[0] = local__port;
-tmp_22[1] = 0;
-}
-{
-PCUIF__info__ind_remote__port_template& tmp_23 = tmp_18.remote__port();
-tmp_23.set_size(2);
-tmp_23[0] = remote__port;
-tmp_23[1] = 0;
-}
-{
-PCUIF__info__ind_remote__ip_template& tmp_24 = tmp_18.remote__ip();
-tmp_24.set_size(2);
-tmp_24[0] = remote__ip;
-tmp_24[1] = os_4;
-}
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__INFO__IND(const INTEGER_template& bts__nr, const PCUIF__Flags_template& flags, const INTEGER_template& version)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 707, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_INFO_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__INFO__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-{
-PCUIF__info__ind_template& tmp_25 = ret_val.u().info__ind();
-tmp_25.version() = version;
-tmp_25.flags() = flags;
-tmp_25.trx() = ANY_VALUE;
-tmp_25.bsic() = ANY_VALUE;
-tmp_25.mcc() = ANY_VALUE;
-tmp_25.mnc() = ANY_VALUE;
-tmp_25.mnc__3__digits() = ANY_VALUE;
-tmp_25.lac() = ANY_VALUE;
-tmp_25.rac() = ANY_VALUE;
-tmp_25.nsei() = ANY_VALUE;
-tmp_25.nse__timer() = ANY_VALUE;
-tmp_25.cell__timer() = ANY_VALUE;
-tmp_25.cell__id() = ANY_VALUE;
-tmp_25.repeat__time() = ANY_VALUE;
-tmp_25.repeat__count() = ANY_VALUE;
-tmp_25.bvci() = ANY_VALUE;
-tmp_25.t3142() = ANY_VALUE;
-tmp_25.t3169() = ANY_VALUE;
-tmp_25.t3191() = ANY_VALUE;
-tmp_25.t3193__10ms() = ANY_VALUE;
-tmp_25.t3195() = ANY_VALUE;
-tmp_25.t3101() = ANY_VALUE;
-tmp_25.t3103() = ANY_VALUE;
-tmp_25.t3105() = ANY_VALUE;
-tmp_25.cv__countdown() = ANY_VALUE;
-tmp_25.dl__tbf__ext() = ANY_VALUE;
-tmp_25.ul__tbf__ext() = ANY_VALUE;
-tmp_25.initial__cs() = ANY_VALUE;
-tmp_25.initial__mcs() = ANY_VALUE;
-tmp_25.nsvci() = ANY_VALUE;
-tmp_25.local__pprt() = ANY_VALUE;
-tmp_25.remote__port() = ANY_VALUE;
-tmp_25.remote__ip() = ANY_VALUE;
-}
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__TIME__IND(const INTEGER_template& bts__nr, const INTEGER_template& fn)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 752, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_TIME_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__TIME__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-ret_val.u().time__ind().fn() = fn;
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__TIME__IND(const INTEGER_template& bts__nr, const INTEGER_template& fn)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 763, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_TIME_IND");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__TIME__IND;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = ANY_VALUE;
-ret_val.u().time__ind().fn() = fn;
-return ret_val;
-}
-
-PCUIF__Message_template ts__PCUIF__SUSP__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& tlli, const OCTETSTRING_template& ra__id, const INTEGER_template& cause)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 775, TTCN_Location::LOCATION_TEMPLATE, "ts_PCUIF_SUSP_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__SUSP__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__susp__req_template& tmp_26 = ret_val.u().susp__req();
-tmp_26.tlli() = tlli;
-tmp_26.ra__id() = ra__id;
-tmp_26.cause() = cause;
-}
-return ret_val;
-}
-
-PCUIF__Message_template tr__PCUIF__SUSP__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& tlli, const OCTETSTRING_template& ra__id, const INTEGER_template& cause)
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 790, TTCN_Location::LOCATION_TEMPLATE, "tr_PCUIF_SUSP_REQ");
-PCUIF__Message_template ret_val;
-ret_val.msg__type() = PCUIF__MsgType::PCU__IF__MSG__SUSP__REQ;
-ret_val.bts__nr() = bts__nr;
-ret_val.spare() = os_0;
-{
-PCUIF__susp__req_template& tmp_27 = ret_val.u().susp__req();
-tmp_27.tlli() = tlli;
-tmp_27.ra__id() = ra__id;
-tmp_27.cause() = cause;
-}
-return ret_val;
-}
-
-
-/* Bodies of static functions */
-
-static void pre_init_module()
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "PCUIF_Types");
-Osmocom__Types::module_object.pre_init_module();
-current_location.update_lineno(8);
-/* PCUIF_Types.ttcn, line 8 */
-const_PCU__SOCK__DEFAULT = cs_0;
-current_location.update_lineno(9);
-/* PCUIF_Types.ttcn, line 9 */
-const_PCU__IF__VERSION = 9;
-module_object.add_function("enc_PCUIF_Message", (genericfunc_t)&enc__PCUIF__Message, NULL);
-module_object.add_function("dec_PCUIF_Message", (genericfunc_t)&dec__PCUIF__Message, NULL);
-current_location.update_lineno(613);
-/* PCUIF_Types.ttcn, line 613 */
-const_c__PCUIF__Flags__default.bts__active() = TRUE;
-const_c__PCUIF__Flags__default.sysmo__direct__dsp() = FALSE;
-const_c__PCUIF__Flags__default.spare() = bs_0;
-const_c__PCUIF__Flags__default.cs1() = TRUE;
-const_c__PCUIF__Flags__default.cs2() = TRUE;
-const_c__PCUIF__Flags__default.cs3() = TRUE;
-const_c__PCUIF__Flags__default.cs4() = TRUE;
-const_c__PCUIF__Flags__default.mcs1() = TRUE;
-const_c__PCUIF__Flags__default.mcs2() = TRUE;
-const_c__PCUIF__Flags__default.mcs3() = TRUE;
-const_c__PCUIF__Flags__default.mcs4() = TRUE;
-const_c__PCUIF__Flags__default.mcs5() = TRUE;
-const_c__PCUIF__Flags__default.mcs6() = TRUE;
-const_c__PCUIF__Flags__default.mcs7() = TRUE;
-const_c__PCUIF__Flags__default.mcs8() = TRUE;
-const_c__PCUIF__Flags__default.mcs9() = TRUE;
-const_c__PCUIF__Flags__default.spare2() = bs_1;
-}
-
-static void post_init_module()
-{
-TTCN_Location current_location("PCUIF_Types.ttcn", 0, TTCN_Location::LOCATION_UNKNOWN, "PCUIF_Types");
-Osmocom__Types::module_object.post_init_module();
-template_tr__PCUIF__RTS__REQ_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__RTS__REQ_trx__nr_defval = ANY_VALUE;
-template_tr__PCUIF__RTS__REQ_ts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__RTS__REQ_sapi_defval = ANY_VALUE;
-template_tr__PCUIF__RTS__REQ_fn_defval = ANY_VALUE;
-template_tr__PCUIF__RTS__REQ_block__nr_defval = ANY_VALUE;
-template_tr__PCUIF__TXT__IND_text_defval = ANY_VALUE;
-template_ts__PCUIF__DATA__IND_rssi_defval = -80;
-template_ts__PCUIF__DATA__IND_ber10k_defval = 0;
-template_ts__PCUIF__DATA__IND_ta__offs__qbits_defval = 0;
-template_ts__PCUIF__DATA__IND_lqual__cb_defval = 10;
-template_tr__PCUIF__DATA__IND_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__IND_trx__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__IND_ts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__IND_block__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__IND_sapi_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__IND_data_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__REQ_block__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__REQ_fn_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__REQ_sapi_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__REQ_data_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__CNF_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__CNF_trx__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__CNF_ts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__CNF_sapi_defval = ANY_VALUE;
-template_tr__PCUIF__DATA__CNF_data_defval = ANY_VALUE;
-template_ts__PCUIF__RACH__IND_qta_defval = 0;
-template_tr__PCUIF__RACH__IND_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__RACH__IND_ra_defval = ANY_VALUE;
-template_tr__PCUIF__RACH__IND_is__11bit_defval = ANY_VALUE;
-template_tr__PCUIF__RACH__IND_burst__type_defval = ANY_VALUE;
-template_tr__PCUIF__RACH__IND_fn_defval = ANY_VALUE;
-template_tr__PCUIF__PAG__REQ_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__PAG__REQ_id__lv_defval = ANY_VALUE;
-template_tr__PCUIF__PAG__REQ_chan__needed_defval = ANY_VALUE;
-template_tr__PCUIF__PAG__REQ_sapi_defval = ANY_VALUE;
-template_ts__PCUIF__InfoTrx_arfcn_defval = 871;
-template_ts__PCUIF__InfoTrx_pdch__mask_defval = bs_2;
-const_ts__PCUIF__InfoTrx_tsc_defval = os_3;
-current_location.update_lineno(643);
-/* PCUIF_Types.ttcn, line 643 */
-template_ts__PCUIF__InfoTrxNULL = ts__PCUIF__InfoTrx(INTEGER_template(0), BITSTRING_template(bs_3), os_2);
-current_location.update_lineno(645);
-/* PCUIF_Types.ttcn, line 645 */
-template_ts__PCUIF__InfoTrxs__def.set_size(8);
-template_ts__PCUIF__InfoTrxs__def[0] = ts__PCUIF__InfoTrx(ts__PCUIF__InfoTrx_arfcn_defval, ts__PCUIF__InfoTrx_pdch__mask_defval, ts__PCUIF__InfoTrx_tsc_defval);
-template_ts__PCUIF__InfoTrxs__def[1] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[2] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[3] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[4] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[5] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[6] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__InfoTrxs__def[7] = ts__PCUIF__InfoTrxNULL;
-template_ts__PCUIF__INFO__IND_flags_defval = c__PCUIF__Flags__default;
-template_ts__PCUIF__INFO__IND_mcc_defval = 262;
-template_ts__PCUIF__INFO__IND_mnc_defval = 42;
-template_ts__PCUIF__INFO__IND_lac_defval = 13135;
-template_ts__PCUIF__INFO__IND_rac_defval = 0;
-template_ts__PCUIF__INFO__IND_cell__id_defval = 20960;
-template_ts__PCUIF__INFO__IND_bsic_defval = 7;
-template_ts__PCUIF__INFO__IND_trx_defval = ts__PCUIF__InfoTrxs__def;
-template_ts__PCUIF__INFO__IND_version_defval = 9;
-template_tr__PCUIF__INFO__IND_bts__nr_defval = ANY_VALUE;
-template_tr__PCUIF__INFO__IND_flags_defval = ANY_VALUE;
-template_tr__PCUIF__INFO__IND_version_defval = 9;
-}
-
-
-} /* end of namespace */
diff --git a/titan/PCUIF_Types.hh b/titan/PCUIF_Types.hh
deleted file mode 100644
index 4774138..0000000
--- a/titan/PCUIF_Types.hh
+++ /dev/null
@@ -1,3638 +0,0 @@
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
-// The generation of user and time information were disabled by the -D flag.
-
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef PCUIF__Types_HH
-#define PCUIF__Types_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-#include "Osmocom_Types.hh"
-
-#if TTCN3_VERSION != 60500
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.\
- Run make clean and rebuild the project if the version of the compiler changed recently.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef PCUIF__Types_HH
-#endif
-
-namespace PCUIF__Types {
-
-/* Forward declarations of classes */
-
-class PCUIF__MsgType;
-class PCUIF__MsgType_template;
-class PCUIF__Sapi;
-class PCUIF__Sapi_template;
-class PCUIF__Flags;
-class PCUIF__Flags_template;
-class PCUIF__TextType;
-class PCUIF__TextType_template;
-class PCUIF__txt__ind;
-class PCUIF__txt__ind_template;
-class PCUIF__data;
-class PCUIF__data_template;
-class PCUIF__data__cnf__dt;
-class PCUIF__data__cnf__dt_template;
-class PCUIF__rts__req;
-class PCUIF__rts__req_template;
-class PCUIF__BurstType;
-class PCUIF__BurstType_template;
-class PCUIF__rach__ind;
-class PCUIF__rach__ind_template;
-class PCUIF__InfoTrx;
-class PCUIF__InfoTrx_template;
-class PCUIF__InfoTrxs;
-class PCUIF__InfoTrxs_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER PCUIF__info__ind_nse__timer;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template PCUIF__info__ind_nse__timer_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER PCUIF__info__ind_cell__timer;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template PCUIF__info__ind_cell__timer_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER PCUIF__info__ind_nsvci;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template PCUIF__info__ind_nsvci_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER PCUIF__info__ind_local__pprt;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template PCUIF__info__ind_local__pprt_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER PCUIF__info__ind_remote__port;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template PCUIF__info__ind_remote__port_template;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING PCUIF__info__ind_remote__ip;
-typedef PreGenRecordOf::PREGEN__RECORD__OF__OCTETSTRING_template PCUIF__info__ind_remote__ip_template;
-class PCUIF__info__ind;
-class PCUIF__info__ind_template;
-class PCUIF__act__req;
-class PCUIF__act__req_template;
-class PCUIF__time__ind;
-class PCUIF__time__ind_template;
-class PCUIF__pag__req;
-class PCUIF__pag__req_template;
-class PCUIF__susp__req;
-class PCUIF__susp__req_template;
-class PCUIF__MsgUnion;
-class PCUIF__MsgUnion_template;
-class PCUIF__Message;
-class PCUIF__Message_template;
-
-} /* end of namespace */
-
-#ifndef PCUIF__Types_HH
-#define PCUIF__Types_HH
-
-namespace PCUIF__Types {
-
-/* Type definitions */
-
-typedef CHARSTRING PCUIF__Text;
-typedef CHARSTRING_template PCUIF__Text_template;
-typedef OCTETSTRING OCT162;
-typedef OCTETSTRING_template OCT162_template;
-
-/* Class definitions */
-
-class PCUIF__MsgType : public Base_Type { // enum
-friend class PCUIF__MsgType_template;
-public:
-enum enum_type { PCU__IF__MSG__DATA__REQ = 0, PCU__IF__MSG__DATA__CNF = 1, PCU__IF__MSG__DATA__IND = 2, PCU__IF__MSG__SUSP__REQ = 3, PCU__IF__MSG__RTS__REQ = 16, PCU__IF__MSG__DATA__CNF__DT = 17, PCU__IF__MSG__RACH__IND = 34, PCU__IF__MSG__INFO__IND = 50, PCU__IF__MSG__ACT__REQ = 64, PCU__IF__MSG__TIME__IND = 82, PCU__IF__MSG__PAG__REQ = 96, PCU__IF__MSG__TXT__IND = 112, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-PCUIF__MsgType();
-PCUIF__MsgType(int other_value);
-PCUIF__MsgType(enum_type other_value);
-PCUIF__MsgType(const PCUIF__MsgType& other_value);
-
-PCUIF__MsgType& operator=(int other_value);
-PCUIF__MsgType& operator=(enum_type other_value);
-PCUIF__MsgType& operator=(const PCUIF__MsgType& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const PCUIF__MsgType& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const PCUIF__MsgType& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const PCUIF__MsgType& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const PCUIF__MsgType& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const PCUIF__MsgType& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const PCUIF__MsgType& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const PCUIF__MsgType& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__MsgType_template : public Base_Template {
-union {
-PCUIF__MsgType::enum_type single_value;
-struct {
-unsigned int n_values;
-PCUIF__MsgType_template *list_value;
-} value_list;
-};
-
-void copy_template(const PCUIF__MsgType_template& other_value);
-
-public:
-PCUIF__MsgType_template();
-PCUIF__MsgType_template(template_sel other_value);
-PCUIF__MsgType_template(int other_value);
-PCUIF__MsgType_template(PCUIF__MsgType::enum_type other_value);
-PCUIF__MsgType_template(const PCUIF__MsgType& other_value);
-PCUIF__MsgType_template(const OPTIONAL<PCUIF__MsgType>& other_value);
-PCUIF__MsgType_template(const PCUIF__MsgType_template& other_value);
-~PCUIF__MsgType_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__MsgType_template& operator=(template_sel other_value);
-PCUIF__MsgType_template& operator=(int other_value);
-PCUIF__MsgType_template& operator=(PCUIF__MsgType::enum_type other_value);
-PCUIF__MsgType_template& operator=(const PCUIF__MsgType& other_value);
-PCUIF__MsgType_template& operator=(const OPTIONAL<PCUIF__MsgType>& other_value);
-PCUIF__MsgType_template& operator=(const PCUIF__MsgType_template& other_value);
-
-boolean match(PCUIF__MsgType::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const PCUIF__MsgType& other_value, boolean legacy = FALSE) const;
-PCUIF__MsgType::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__MsgType_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const PCUIF__MsgType& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class PCUIF__Sapi : public Base_Type { // enum
-friend class PCUIF__Sapi_template;
-public:
-enum enum_type { PCU__IF__SAPI__UNKNOWN = 0, PCU__IF__SAPI__RACH = 1, PCU__IF__SAPI__AGCH = 2, PCU__IF__SAPI__PCH = 3, PCU__IF__SAPI__BCCH = 4, PCU__IF__SAPI__PDTCH = 5, PCU__IF__SAPI__PRACH = 6, PCU__IF__SAPI__PTCCH = 7, PCU__IF__SAPI__AGCH__DT = 8, UNKNOWN_VALUE = 9, UNBOUND_VALUE = 10 };
-private:
-enum_type enum_value;
-
-public:
-PCUIF__Sapi();
-PCUIF__Sapi(int other_value);
-PCUIF__Sapi(enum_type other_value);
-PCUIF__Sapi(const PCUIF__Sapi& other_value);
-
-PCUIF__Sapi& operator=(int other_value);
-PCUIF__Sapi& operator=(enum_type other_value);
-PCUIF__Sapi& operator=(const PCUIF__Sapi& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const PCUIF__Sapi& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const PCUIF__Sapi& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const PCUIF__Sapi& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const PCUIF__Sapi& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const PCUIF__Sapi& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const PCUIF__Sapi& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const PCUIF__Sapi& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__Sapi_template : public Base_Template {
-union {
-PCUIF__Sapi::enum_type single_value;
-struct {
-unsigned int n_values;
-PCUIF__Sapi_template *list_value;
-} value_list;
-};
-
-void copy_template(const PCUIF__Sapi_template& other_value);
-
-public:
-PCUIF__Sapi_template();
-PCUIF__Sapi_template(template_sel other_value);
-PCUIF__Sapi_template(int other_value);
-PCUIF__Sapi_template(PCUIF__Sapi::enum_type other_value);
-PCUIF__Sapi_template(const PCUIF__Sapi& other_value);
-PCUIF__Sapi_template(const OPTIONAL<PCUIF__Sapi>& other_value);
-PCUIF__Sapi_template(const PCUIF__Sapi_template& other_value);
-~PCUIF__Sapi_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__Sapi_template& operator=(template_sel other_value);
-PCUIF__Sapi_template& operator=(int other_value);
-PCUIF__Sapi_template& operator=(PCUIF__Sapi::enum_type other_value);
-PCUIF__Sapi_template& operator=(const PCUIF__Sapi& other_value);
-PCUIF__Sapi_template& operator=(const OPTIONAL<PCUIF__Sapi>& other_value);
-PCUIF__Sapi_template& operator=(const PCUIF__Sapi_template& other_value);
-
-boolean match(PCUIF__Sapi::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const PCUIF__Sapi& other_value, boolean legacy = FALSE) const;
-PCUIF__Sapi::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__Sapi_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const PCUIF__Sapi& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class PCUIF__Flags : public Base_Type {
- BOOLEAN field_bts__active;
- BOOLEAN field_sysmo__direct__dsp;
- BITSTRING field_spare;
- BOOLEAN field_cs1;
- BOOLEAN field_cs2;
- BOOLEAN field_cs3;
- BOOLEAN field_cs4;
- BOOLEAN field_mcs1;
- BOOLEAN field_mcs2;
- BOOLEAN field_mcs3;
- BOOLEAN field_mcs4;
- BOOLEAN field_mcs5;
- BOOLEAN field_mcs6;
- BOOLEAN field_mcs7;
- BOOLEAN field_mcs8;
- BOOLEAN field_mcs9;
- BITSTRING field_spare2;
-public:
- PCUIF__Flags();
- PCUIF__Flags(const BOOLEAN& par_bts__active,
- const BOOLEAN& par_sysmo__direct__dsp,
- const BITSTRING& par_spare,
- const BOOLEAN& par_cs1,
- const BOOLEAN& par_cs2,
- const BOOLEAN& par_cs3,
- const BOOLEAN& par_cs4,
- const BOOLEAN& par_mcs1,
- const BOOLEAN& par_mcs2,
- const BOOLEAN& par_mcs3,
- const BOOLEAN& par_mcs4,
- const BOOLEAN& par_mcs5,
- const BOOLEAN& par_mcs6,
- const BOOLEAN& par_mcs7,
- const BOOLEAN& par_mcs8,
- const BOOLEAN& par_mcs9,
- const BITSTRING& par_spare2);
- PCUIF__Flags(const PCUIF__Flags& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__Flags& operator=(const PCUIF__Flags& other_value);
- boolean operator==(const PCUIF__Flags& other_value) const;
- inline boolean operator!=(const PCUIF__Flags& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline BOOLEAN& bts__active()
- {return field_bts__active;}
- inline const BOOLEAN& bts__active() const
- {return field_bts__active;}
- inline BOOLEAN& sysmo__direct__dsp()
- {return field_sysmo__direct__dsp;}
- inline const BOOLEAN& sysmo__direct__dsp() const
- {return field_sysmo__direct__dsp;}
- inline BITSTRING& spare()
- {return field_spare;}
- inline const BITSTRING& spare() const
- {return field_spare;}
- inline BOOLEAN& cs1()
- {return field_cs1;}
- inline const BOOLEAN& cs1() const
- {return field_cs1;}
- inline BOOLEAN& cs2()
- {return field_cs2;}
- inline const BOOLEAN& cs2() const
- {return field_cs2;}
- inline BOOLEAN& cs3()
- {return field_cs3;}
- inline const BOOLEAN& cs3() const
- {return field_cs3;}
- inline BOOLEAN& cs4()
- {return field_cs4;}
- inline const BOOLEAN& cs4() const
- {return field_cs4;}
- inline BOOLEAN& mcs1()
- {return field_mcs1;}
- inline const BOOLEAN& mcs1() const
- {return field_mcs1;}
- inline BOOLEAN& mcs2()
- {return field_mcs2;}
- inline const BOOLEAN& mcs2() const
- {return field_mcs2;}
- inline BOOLEAN& mcs3()
- {return field_mcs3;}
- inline const BOOLEAN& mcs3() const
- {return field_mcs3;}
- inline BOOLEAN& mcs4()
- {return field_mcs4;}
- inline const BOOLEAN& mcs4() const
- {return field_mcs4;}
- inline BOOLEAN& mcs5()
- {return field_mcs5;}
- inline const BOOLEAN& mcs5() const
- {return field_mcs5;}
- inline BOOLEAN& mcs6()
- {return field_mcs6;}
- inline const BOOLEAN& mcs6() const
- {return field_mcs6;}
- inline BOOLEAN& mcs7()
- {return field_mcs7;}
- inline const BOOLEAN& mcs7() const
- {return field_mcs7;}
- inline BOOLEAN& mcs8()
- {return field_mcs8;}
- inline const BOOLEAN& mcs8() const
- {return field_mcs8;}
- inline BOOLEAN& mcs9()
- {return field_mcs9;}
- inline const BOOLEAN& mcs9() const
- {return field_mcs9;}
- inline BITSTRING& spare2()
- {return field_spare2;}
- inline const BITSTRING& spare2() const
- {return field_spare2;}
- inline int size_of() const
- {return 17;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__Flags_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__Flags_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__Flags& other_value);
-void copy_template(const PCUIF__Flags_template& other_value);
-
-public:
-PCUIF__Flags_template();
-PCUIF__Flags_template(template_sel other_value);
-PCUIF__Flags_template(const PCUIF__Flags& other_value);
-PCUIF__Flags_template(const OPTIONAL<PCUIF__Flags>& other_value);
-PCUIF__Flags_template(const PCUIF__Flags_template& other_value);
-~PCUIF__Flags_template();
-PCUIF__Flags_template& operator=(template_sel other_value);
-PCUIF__Flags_template& operator=(const PCUIF__Flags& other_value);
-PCUIF__Flags_template& operator=(const OPTIONAL<PCUIF__Flags>& other_value);
-PCUIF__Flags_template& operator=(const PCUIF__Flags_template& other_value);
-boolean match(const PCUIF__Flags& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__Flags valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__Flags_template& list_item(unsigned int list_index) const;
-BOOLEAN_template& bts__active();
-const BOOLEAN_template& bts__active() const;
-BOOLEAN_template& sysmo__direct__dsp();
-const BOOLEAN_template& sysmo__direct__dsp() const;
-BITSTRING_template& spare();
-const BITSTRING_template& spare() const;
-BOOLEAN_template& cs1();
-const BOOLEAN_template& cs1() const;
-BOOLEAN_template& cs2();
-const BOOLEAN_template& cs2() const;
-BOOLEAN_template& cs3();
-const BOOLEAN_template& cs3() const;
-BOOLEAN_template& cs4();
-const BOOLEAN_template& cs4() const;
-BOOLEAN_template& mcs1();
-const BOOLEAN_template& mcs1() const;
-BOOLEAN_template& mcs2();
-const BOOLEAN_template& mcs2() const;
-BOOLEAN_template& mcs3();
-const BOOLEAN_template& mcs3() const;
-BOOLEAN_template& mcs4();
-const BOOLEAN_template& mcs4() const;
-BOOLEAN_template& mcs5();
-const BOOLEAN_template& mcs5() const;
-BOOLEAN_template& mcs6();
-const BOOLEAN_template& mcs6() const;
-BOOLEAN_template& mcs7();
-const BOOLEAN_template& mcs7() const;
-BOOLEAN_template& mcs8();
-const BOOLEAN_template& mcs8() const;
-BOOLEAN_template& mcs9();
-const BOOLEAN_template& mcs9() const;
-BITSTRING_template& spare2();
-const BITSTRING_template& spare2() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__Flags& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__TextType : public Base_Type { // enum
-friend class PCUIF__TextType_template;
-public:
-enum enum_type { PCU__VERSION = 0, PCU__OML__ALERT = 1, UNKNOWN_VALUE = 2, UNBOUND_VALUE = 3 };
-private:
-enum_type enum_value;
-
-public:
-PCUIF__TextType();
-PCUIF__TextType(int other_value);
-PCUIF__TextType(enum_type other_value);
-PCUIF__TextType(const PCUIF__TextType& other_value);
-
-PCUIF__TextType& operator=(int other_value);
-PCUIF__TextType& operator=(enum_type other_value);
-PCUIF__TextType& operator=(const PCUIF__TextType& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const PCUIF__TextType& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const PCUIF__TextType& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const PCUIF__TextType& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const PCUIF__TextType& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const PCUIF__TextType& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const PCUIF__TextType& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const PCUIF__TextType& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__TextType_template : public Base_Template {
-union {
-PCUIF__TextType::enum_type single_value;
-struct {
-unsigned int n_values;
-PCUIF__TextType_template *list_value;
-} value_list;
-};
-
-void copy_template(const PCUIF__TextType_template& other_value);
-
-public:
-PCUIF__TextType_template();
-PCUIF__TextType_template(template_sel other_value);
-PCUIF__TextType_template(int other_value);
-PCUIF__TextType_template(PCUIF__TextType::enum_type other_value);
-PCUIF__TextType_template(const PCUIF__TextType& other_value);
-PCUIF__TextType_template(const OPTIONAL<PCUIF__TextType>& other_value);
-PCUIF__TextType_template(const PCUIF__TextType_template& other_value);
-~PCUIF__TextType_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__TextType_template& operator=(template_sel other_value);
-PCUIF__TextType_template& operator=(int other_value);
-PCUIF__TextType_template& operator=(PCUIF__TextType::enum_type other_value);
-PCUIF__TextType_template& operator=(const PCUIF__TextType& other_value);
-PCUIF__TextType_template& operator=(const OPTIONAL<PCUIF__TextType>& other_value);
-PCUIF__TextType_template& operator=(const PCUIF__TextType_template& other_value);
-
-boolean match(PCUIF__TextType::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const PCUIF__TextType& other_value, boolean legacy = FALSE) const;
-PCUIF__TextType::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__TextType_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const PCUIF__TextType& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class PCUIF__txt__ind : public Base_Type {
- PCUIF__TextType field_txt__type;
- CHARSTRING field_text;
-public:
- PCUIF__txt__ind();
- PCUIF__txt__ind(const PCUIF__TextType& par_txt__type,
- const CHARSTRING& par_text);
- PCUIF__txt__ind(const PCUIF__txt__ind& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__txt__ind& operator=(const PCUIF__txt__ind& other_value);
- boolean operator==(const PCUIF__txt__ind& other_value) const;
- inline boolean operator!=(const PCUIF__txt__ind& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__TextType& txt__type()
- {return field_txt__type;}
- inline const PCUIF__TextType& txt__type() const
- {return field_txt__type;}
- inline CHARSTRING& text()
- {return field_text;}
- inline const CHARSTRING& text() const
- {return field_text;}
- inline int size_of() const
- {return 2;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__txt__ind_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__txt__ind_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__txt__ind& other_value);
-void copy_template(const PCUIF__txt__ind_template& other_value);
-
-public:
-PCUIF__txt__ind_template();
-PCUIF__txt__ind_template(template_sel other_value);
-PCUIF__txt__ind_template(const PCUIF__txt__ind& other_value);
-PCUIF__txt__ind_template(const OPTIONAL<PCUIF__txt__ind>& other_value);
-PCUIF__txt__ind_template(const PCUIF__txt__ind_template& other_value);
-~PCUIF__txt__ind_template();
-PCUIF__txt__ind_template& operator=(template_sel other_value);
-PCUIF__txt__ind_template& operator=(const PCUIF__txt__ind& other_value);
-PCUIF__txt__ind_template& operator=(const OPTIONAL<PCUIF__txt__ind>& other_value);
-PCUIF__txt__ind_template& operator=(const PCUIF__txt__ind_template& other_value);
-boolean match(const PCUIF__txt__ind& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__txt__ind valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__txt__ind_template& list_item(unsigned int list_index) const;
-PCUIF__TextType_template& txt__type();
-const PCUIF__TextType_template& txt__type() const;
-CHARSTRING_template& text();
-const CHARSTRING_template& text() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__txt__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__data : public Base_Type {
- PCUIF__Sapi field_sapi;
- INTEGER field_len;
- OCTETSTRING field_data;
- INTEGER field_fn;
- INTEGER field_arfcn;
- INTEGER field_trx__nr;
- INTEGER field_ts__nr;
- INTEGER field_block__nr;
- INTEGER field_rssi;
- INTEGER field_ber10k;
- INTEGER field_ta__offs__qbits;
- INTEGER field_lqual__cb;
-public:
- PCUIF__data();
- PCUIF__data(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_len,
- const OCTETSTRING& par_data,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr,
- const INTEGER& par_rssi,
- const INTEGER& par_ber10k,
- const INTEGER& par_ta__offs__qbits,
- const INTEGER& par_lqual__cb);
- PCUIF__data(const PCUIF__data& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__data& operator=(const PCUIF__data& other_value);
- boolean operator==(const PCUIF__data& other_value) const;
- inline boolean operator!=(const PCUIF__data& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__Sapi& sapi()
- {return field_sapi;}
- inline const PCUIF__Sapi& sapi() const
- {return field_sapi;}
- inline INTEGER& len()
- {return field_len;}
- inline const INTEGER& len() const
- {return field_len;}
- inline OCTETSTRING& data()
- {return field_data;}
- inline const OCTETSTRING& data() const
- {return field_data;}
- inline INTEGER& fn()
- {return field_fn;}
- inline const INTEGER& fn() const
- {return field_fn;}
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline INTEGER& trx__nr()
- {return field_trx__nr;}
- inline const INTEGER& trx__nr() const
- {return field_trx__nr;}
- inline INTEGER& ts__nr()
- {return field_ts__nr;}
- inline const INTEGER& ts__nr() const
- {return field_ts__nr;}
- inline INTEGER& block__nr()
- {return field_block__nr;}
- inline const INTEGER& block__nr() const
- {return field_block__nr;}
- inline INTEGER& rssi()
- {return field_rssi;}
- inline const INTEGER& rssi() const
- {return field_rssi;}
- inline INTEGER& ber10k()
- {return field_ber10k;}
- inline const INTEGER& ber10k() const
- {return field_ber10k;}
- inline INTEGER& ta__offs__qbits()
- {return field_ta__offs__qbits;}
- inline const INTEGER& ta__offs__qbits() const
- {return field_ta__offs__qbits;}
- inline INTEGER& lqual__cb()
- {return field_lqual__cb;}
- inline const INTEGER& lqual__cb() const
- {return field_lqual__cb;}
- inline int size_of() const
- {return 12;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__data_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__data_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__data& other_value);
-void copy_template(const PCUIF__data_template& other_value);
-
-public:
-PCUIF__data_template();
-PCUIF__data_template(template_sel other_value);
-PCUIF__data_template(const PCUIF__data& other_value);
-PCUIF__data_template(const OPTIONAL<PCUIF__data>& other_value);
-PCUIF__data_template(const PCUIF__data_template& other_value);
-~PCUIF__data_template();
-PCUIF__data_template& operator=(template_sel other_value);
-PCUIF__data_template& operator=(const PCUIF__data& other_value);
-PCUIF__data_template& operator=(const OPTIONAL<PCUIF__data>& other_value);
-PCUIF__data_template& operator=(const PCUIF__data_template& other_value);
-boolean match(const PCUIF__data& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__data valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__data_template& list_item(unsigned int list_index) const;
-PCUIF__Sapi_template& sapi();
-const PCUIF__Sapi_template& sapi() const;
-INTEGER_template& len();
-const INTEGER_template& len() const;
-OCTETSTRING_template& data();
-const OCTETSTRING_template& data() const;
-INTEGER_template& fn();
-const INTEGER_template& fn() const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-INTEGER_template& trx__nr();
-const INTEGER_template& trx__nr() const;
-INTEGER_template& ts__nr();
-const INTEGER_template& ts__nr() const;
-INTEGER_template& block__nr();
-const INTEGER_template& block__nr() const;
-INTEGER_template& rssi();
-const INTEGER_template& rssi() const;
-INTEGER_template& ber10k();
-const INTEGER_template& ber10k() const;
-INTEGER_template& ta__offs__qbits();
-const INTEGER_template& ta__offs__qbits() const;
-INTEGER_template& lqual__cb();
-const INTEGER_template& lqual__cb() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__data& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__data__cnf__dt : public Base_Type {
- PCUIF__Sapi field_sapi;
- OCTETSTRING field_tlli;
- INTEGER field_fn;
- INTEGER field_arfcn;
- INTEGER field_trx__nr;
- INTEGER field_ts__nr;
- INTEGER field_block__nr;
- INTEGER field_rssi;
- INTEGER field_ber10k;
- INTEGER field_ta__offs__qbits;
- INTEGER field_lqual__cb;
-public:
- PCUIF__data__cnf__dt();
- PCUIF__data__cnf__dt(const PCUIF__Sapi& par_sapi,
- const OCTETSTRING& par_tlli,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr,
- const INTEGER& par_rssi,
- const INTEGER& par_ber10k,
- const INTEGER& par_ta__offs__qbits,
- const INTEGER& par_lqual__cb);
- PCUIF__data__cnf__dt(const PCUIF__data__cnf__dt& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__data__cnf__dt& operator=(const PCUIF__data__cnf__dt& other_value);
- boolean operator==(const PCUIF__data__cnf__dt& other_value) const;
- inline boolean operator!=(const PCUIF__data__cnf__dt& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__Sapi& sapi()
- {return field_sapi;}
- inline const PCUIF__Sapi& sapi() const
- {return field_sapi;}
- inline OCTETSTRING& tlli()
- {return field_tlli;}
- inline const OCTETSTRING& tlli() const
- {return field_tlli;}
- inline INTEGER& fn()
- {return field_fn;}
- inline const INTEGER& fn() const
- {return field_fn;}
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline INTEGER& trx__nr()
- {return field_trx__nr;}
- inline const INTEGER& trx__nr() const
- {return field_trx__nr;}
- inline INTEGER& ts__nr()
- {return field_ts__nr;}
- inline const INTEGER& ts__nr() const
- {return field_ts__nr;}
- inline INTEGER& block__nr()
- {return field_block__nr;}
- inline const INTEGER& block__nr() const
- {return field_block__nr;}
- inline INTEGER& rssi()
- {return field_rssi;}
- inline const INTEGER& rssi() const
- {return field_rssi;}
- inline INTEGER& ber10k()
- {return field_ber10k;}
- inline const INTEGER& ber10k() const
- {return field_ber10k;}
- inline INTEGER& ta__offs__qbits()
- {return field_ta__offs__qbits;}
- inline const INTEGER& ta__offs__qbits() const
- {return field_ta__offs__qbits;}
- inline INTEGER& lqual__cb()
- {return field_lqual__cb;}
- inline const INTEGER& lqual__cb() const
- {return field_lqual__cb;}
- inline int size_of() const
- {return 11;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__data__cnf__dt_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__data__cnf__dt_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__data__cnf__dt& other_value);
-void copy_template(const PCUIF__data__cnf__dt_template& other_value);
-
-public:
-PCUIF__data__cnf__dt_template();
-PCUIF__data__cnf__dt_template(template_sel other_value);
-PCUIF__data__cnf__dt_template(const PCUIF__data__cnf__dt& other_value);
-PCUIF__data__cnf__dt_template(const OPTIONAL<PCUIF__data__cnf__dt>& other_value);
-PCUIF__data__cnf__dt_template(const PCUIF__data__cnf__dt_template& other_value);
-~PCUIF__data__cnf__dt_template();
-PCUIF__data__cnf__dt_template& operator=(template_sel other_value);
-PCUIF__data__cnf__dt_template& operator=(const PCUIF__data__cnf__dt& other_value);
-PCUIF__data__cnf__dt_template& operator=(const OPTIONAL<PCUIF__data__cnf__dt>& other_value);
-PCUIF__data__cnf__dt_template& operator=(const PCUIF__data__cnf__dt_template& other_value);
-boolean match(const PCUIF__data__cnf__dt& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__data__cnf__dt valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__data__cnf__dt_template& list_item(unsigned int list_index) const;
-PCUIF__Sapi_template& sapi();
-const PCUIF__Sapi_template& sapi() const;
-OCTETSTRING_template& tlli();
-const OCTETSTRING_template& tlli() const;
-INTEGER_template& fn();
-const INTEGER_template& fn() const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-INTEGER_template& trx__nr();
-const INTEGER_template& trx__nr() const;
-INTEGER_template& ts__nr();
-const INTEGER_template& ts__nr() const;
-INTEGER_template& block__nr();
-const INTEGER_template& block__nr() const;
-INTEGER_template& rssi();
-const INTEGER_template& rssi() const;
-INTEGER_template& ber10k();
-const INTEGER_template& ber10k() const;
-INTEGER_template& ta__offs__qbits();
-const INTEGER_template& ta__offs__qbits() const;
-INTEGER_template& lqual__cb();
-const INTEGER_template& lqual__cb() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__data__cnf__dt& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__rts__req : public Base_Type {
- PCUIF__Sapi field_sapi;
- OCTETSTRING field_spare;
- INTEGER field_fn;
- INTEGER field_arfcn;
- INTEGER field_trx__nr;
- INTEGER field_ts__nr;
- INTEGER field_block__nr;
-public:
- PCUIF__rts__req();
- PCUIF__rts__req(const PCUIF__Sapi& par_sapi,
- const OCTETSTRING& par_spare,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const INTEGER& par_block__nr);
- PCUIF__rts__req(const PCUIF__rts__req& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__rts__req& operator=(const PCUIF__rts__req& other_value);
- boolean operator==(const PCUIF__rts__req& other_value) const;
- inline boolean operator!=(const PCUIF__rts__req& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__Sapi& sapi()
- {return field_sapi;}
- inline const PCUIF__Sapi& sapi() const
- {return field_sapi;}
- inline OCTETSTRING& spare()
- {return field_spare;}
- inline const OCTETSTRING& spare() const
- {return field_spare;}
- inline INTEGER& fn()
- {return field_fn;}
- inline const INTEGER& fn() const
- {return field_fn;}
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline INTEGER& trx__nr()
- {return field_trx__nr;}
- inline const INTEGER& trx__nr() const
- {return field_trx__nr;}
- inline INTEGER& ts__nr()
- {return field_ts__nr;}
- inline const INTEGER& ts__nr() const
- {return field_ts__nr;}
- inline INTEGER& block__nr()
- {return field_block__nr;}
- inline const INTEGER& block__nr() const
- {return field_block__nr;}
- inline int size_of() const
- {return 7;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__rts__req_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__rts__req_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__rts__req& other_value);
-void copy_template(const PCUIF__rts__req_template& other_value);
-
-public:
-PCUIF__rts__req_template();
-PCUIF__rts__req_template(template_sel other_value);
-PCUIF__rts__req_template(const PCUIF__rts__req& other_value);
-PCUIF__rts__req_template(const OPTIONAL<PCUIF__rts__req>& other_value);
-PCUIF__rts__req_template(const PCUIF__rts__req_template& other_value);
-~PCUIF__rts__req_template();
-PCUIF__rts__req_template& operator=(template_sel other_value);
-PCUIF__rts__req_template& operator=(const PCUIF__rts__req& other_value);
-PCUIF__rts__req_template& operator=(const OPTIONAL<PCUIF__rts__req>& other_value);
-PCUIF__rts__req_template& operator=(const PCUIF__rts__req_template& other_value);
-boolean match(const PCUIF__rts__req& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__rts__req valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__rts__req_template& list_item(unsigned int list_index) const;
-PCUIF__Sapi_template& sapi();
-const PCUIF__Sapi_template& sapi() const;
-OCTETSTRING_template& spare();
-const OCTETSTRING_template& spare() const;
-INTEGER_template& fn();
-const INTEGER_template& fn() const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-INTEGER_template& trx__nr();
-const INTEGER_template& trx__nr() const;
-INTEGER_template& ts__nr();
-const INTEGER_template& ts__nr() const;
-INTEGER_template& block__nr();
-const INTEGER_template& block__nr() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__rts__req& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__BurstType : public Base_Type { // enum
-friend class PCUIF__BurstType_template;
-public:
-enum enum_type { BURST__TYPE__NONE = 0, BURST__TYPE__0 = 1, BURST__TYPE__1 = 2, BURST__TYPE__2 = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
-private:
-enum_type enum_value;
-
-public:
-PCUIF__BurstType();
-PCUIF__BurstType(int other_value);
-PCUIF__BurstType(enum_type other_value);
-PCUIF__BurstType(const PCUIF__BurstType& other_value);
-
-PCUIF__BurstType& operator=(int other_value);
-PCUIF__BurstType& operator=(enum_type other_value);
-PCUIF__BurstType& operator=(const PCUIF__BurstType& other_value);
-
-boolean operator==(enum_type other_value) const;
-boolean operator==(const PCUIF__BurstType& other_value) const;
-inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const PCUIF__BurstType& other_value) const { return !(*this == other_value); }
-boolean operator<(enum_type other_value) const;
-boolean operator<(const PCUIF__BurstType& other_value) const;
-boolean operator>(enum_type other_value) const;
-boolean operator>(const PCUIF__BurstType& other_value) const;
-inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
-inline boolean operator<=(const PCUIF__BurstType& other_value) const { return !(*this > other_value); }
-inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
-inline boolean operator>=(const PCUIF__BurstType& other_value) const { return !(*this < other_value); }
-
-static const char *enum_to_str(enum_type enum_par);
-static enum_type str_to_enum(const char *str_par);
-static boolean is_valid_enum(int int_par);
-
-static int enum2int(enum_type enum_par);
-static int enum2int(const PCUIF__BurstType& enum_par);
-int as_int() const { return enum2int(enum_value); }
-void from_int(int p_val) { *this = p_val; }
-void int2enum(int int_val);
-operator enum_type() const;
-inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
-inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
-inline void clean_up(){ enum_value = UNBOUND_VALUE; }
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__BurstType_template : public Base_Template {
-union {
-PCUIF__BurstType::enum_type single_value;
-struct {
-unsigned int n_values;
-PCUIF__BurstType_template *list_value;
-} value_list;
-};
-
-void copy_template(const PCUIF__BurstType_template& other_value);
-
-public:
-PCUIF__BurstType_template();
-PCUIF__BurstType_template(template_sel other_value);
-PCUIF__BurstType_template(int other_value);
-PCUIF__BurstType_template(PCUIF__BurstType::enum_type other_value);
-PCUIF__BurstType_template(const PCUIF__BurstType& other_value);
-PCUIF__BurstType_template(const OPTIONAL<PCUIF__BurstType>& other_value);
-PCUIF__BurstType_template(const PCUIF__BurstType_template& other_value);
-~PCUIF__BurstType_template();
-
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__BurstType_template& operator=(template_sel other_value);
-PCUIF__BurstType_template& operator=(int other_value);
-PCUIF__BurstType_template& operator=(PCUIF__BurstType::enum_type other_value);
-PCUIF__BurstType_template& operator=(const PCUIF__BurstType& other_value);
-PCUIF__BurstType_template& operator=(const OPTIONAL<PCUIF__BurstType>& other_value);
-PCUIF__BurstType_template& operator=(const PCUIF__BurstType_template& other_value);
-
-boolean match(PCUIF__BurstType::enum_type other_value, boolean legacy = FALSE) const;
-boolean match(const PCUIF__BurstType& other_value, boolean legacy = FALSE) const;
-PCUIF__BurstType::enum_type valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__BurstType_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const PCUIF__BurstType& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class PCUIF__rach__ind : public Base_Type {
- PCUIF__Sapi field_sapi;
- INTEGER field_ra;
- INTEGER field_qta;
- INTEGER field_fn;
- INTEGER field_arfcn;
- INTEGER field_is__11bit;
- PCUIF__BurstType field_burst__type;
-public:
- PCUIF__rach__ind();
- PCUIF__rach__ind(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_ra,
- const INTEGER& par_qta,
- const INTEGER& par_fn,
- const INTEGER& par_arfcn,
- const INTEGER& par_is__11bit,
- const PCUIF__BurstType& par_burst__type);
- PCUIF__rach__ind(const PCUIF__rach__ind& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__rach__ind& operator=(const PCUIF__rach__ind& other_value);
- boolean operator==(const PCUIF__rach__ind& other_value) const;
- inline boolean operator!=(const PCUIF__rach__ind& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__Sapi& sapi()
- {return field_sapi;}
- inline const PCUIF__Sapi& sapi() const
- {return field_sapi;}
- inline INTEGER& ra()
- {return field_ra;}
- inline const INTEGER& ra() const
- {return field_ra;}
- inline INTEGER& qta()
- {return field_qta;}
- inline const INTEGER& qta() const
- {return field_qta;}
- inline INTEGER& fn()
- {return field_fn;}
- inline const INTEGER& fn() const
- {return field_fn;}
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline INTEGER& is__11bit()
- {return field_is__11bit;}
- inline const INTEGER& is__11bit() const
- {return field_is__11bit;}
- inline PCUIF__BurstType& burst__type()
- {return field_burst__type;}
- inline const PCUIF__BurstType& burst__type() const
- {return field_burst__type;}
- inline int size_of() const
- {return 7;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__rach__ind_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__rach__ind_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__rach__ind& other_value);
-void copy_template(const PCUIF__rach__ind_template& other_value);
-
-public:
-PCUIF__rach__ind_template();
-PCUIF__rach__ind_template(template_sel other_value);
-PCUIF__rach__ind_template(const PCUIF__rach__ind& other_value);
-PCUIF__rach__ind_template(const OPTIONAL<PCUIF__rach__ind>& other_value);
-PCUIF__rach__ind_template(const PCUIF__rach__ind_template& other_value);
-~PCUIF__rach__ind_template();
-PCUIF__rach__ind_template& operator=(template_sel other_value);
-PCUIF__rach__ind_template& operator=(const PCUIF__rach__ind& other_value);
-PCUIF__rach__ind_template& operator=(const OPTIONAL<PCUIF__rach__ind>& other_value);
-PCUIF__rach__ind_template& operator=(const PCUIF__rach__ind_template& other_value);
-boolean match(const PCUIF__rach__ind& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__rach__ind valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__rach__ind_template& list_item(unsigned int list_index) const;
-PCUIF__Sapi_template& sapi();
-const PCUIF__Sapi_template& sapi() const;
-INTEGER_template& ra();
-const INTEGER_template& ra() const;
-INTEGER_template& qta();
-const INTEGER_template& qta() const;
-INTEGER_template& fn();
-const INTEGER_template& fn() const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-INTEGER_template& is__11bit();
-const INTEGER_template& is__11bit() const;
-PCUIF__BurstType_template& burst__type();
-const PCUIF__BurstType_template& burst__type() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__rach__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__InfoTrx : public Base_Type {
- INTEGER field_arfcn;
- BITSTRING field_pdch__mask;
- OCTETSTRING field_spare;
- OCTETSTRING field_tsc;
- INTEGER field_hLayer1;
-public:
- PCUIF__InfoTrx();
- PCUIF__InfoTrx(const INTEGER& par_arfcn,
- const BITSTRING& par_pdch__mask,
- const OCTETSTRING& par_spare,
- const OCTETSTRING& par_tsc,
- const INTEGER& par_hLayer1);
- PCUIF__InfoTrx(const PCUIF__InfoTrx& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__InfoTrx& operator=(const PCUIF__InfoTrx& other_value);
- boolean operator==(const PCUIF__InfoTrx& other_value) const;
- inline boolean operator!=(const PCUIF__InfoTrx& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& arfcn()
- {return field_arfcn;}
- inline const INTEGER& arfcn() const
- {return field_arfcn;}
- inline BITSTRING& pdch__mask()
- {return field_pdch__mask;}
- inline const BITSTRING& pdch__mask() const
- {return field_pdch__mask;}
- inline OCTETSTRING& spare()
- {return field_spare;}
- inline const OCTETSTRING& spare() const
- {return field_spare;}
- inline OCTETSTRING& tsc()
- {return field_tsc;}
- inline const OCTETSTRING& tsc() const
- {return field_tsc;}
- inline INTEGER& hLayer1()
- {return field_hLayer1;}
- inline const INTEGER& hLayer1() const
- {return field_hLayer1;}
- inline int size_of() const
- {return 5;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__InfoTrx_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__InfoTrx_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__InfoTrx& other_value);
-void copy_template(const PCUIF__InfoTrx_template& other_value);
-
-public:
-PCUIF__InfoTrx_template();
-PCUIF__InfoTrx_template(template_sel other_value);
-PCUIF__InfoTrx_template(const PCUIF__InfoTrx& other_value);
-PCUIF__InfoTrx_template(const OPTIONAL<PCUIF__InfoTrx>& other_value);
-PCUIF__InfoTrx_template(const PCUIF__InfoTrx_template& other_value);
-~PCUIF__InfoTrx_template();
-PCUIF__InfoTrx_template& operator=(template_sel other_value);
-PCUIF__InfoTrx_template& operator=(const PCUIF__InfoTrx& other_value);
-PCUIF__InfoTrx_template& operator=(const OPTIONAL<PCUIF__InfoTrx>& other_value);
-PCUIF__InfoTrx_template& operator=(const PCUIF__InfoTrx_template& other_value);
-boolean match(const PCUIF__InfoTrx& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__InfoTrx valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__InfoTrx_template& list_item(unsigned int list_index) const;
-INTEGER_template& arfcn();
-const INTEGER_template& arfcn() const;
-BITSTRING_template& pdch__mask();
-const BITSTRING_template& pdch__mask() const;
-OCTETSTRING_template& spare();
-const OCTETSTRING_template& spare() const;
-OCTETSTRING_template& tsc();
-const OCTETSTRING_template& tsc() const;
-INTEGER_template& hLayer1();
-const INTEGER_template& hLayer1() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__InfoTrx& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__InfoTrxs : public Base_Type {
-struct recordof_setof_struct {
-int ref_count;
-int n_elements;
-PCUIF__InfoTrx **value_elements;
-} *val_ptr;
-
-static const PCUIF__InfoTrx UNBOUND_ELEM;
-private:
-friend boolean operator==(null_type null_value, const PCUIF__InfoTrxs& other_value);
-
-public:
- typedef PCUIF__InfoTrx of_type;
-PCUIF__InfoTrxs();
-PCUIF__InfoTrxs(null_type other_value);
-PCUIF__InfoTrxs(const PCUIF__InfoTrxs& other_value);
-~PCUIF__InfoTrxs();
-
-void clean_up();
-PCUIF__InfoTrxs& operator=(null_type other_value);
-PCUIF__InfoTrxs& operator=(const PCUIF__InfoTrxs& other_value);
-
-boolean operator==(null_type other_value) const;
-boolean operator==(const PCUIF__InfoTrxs& other_value) const;
-inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
-inline boolean operator!=(const PCUIF__InfoTrxs& other_value) const { return !(*this == other_value); }
-
-PCUIF__InfoTrx& operator[](int index_value);
-PCUIF__InfoTrx& operator[](const INTEGER& index_value);
-const PCUIF__InfoTrx& operator[](int index_value) const;
-const PCUIF__InfoTrx& operator[](const INTEGER& index_value) const;
-
-PCUIF__InfoTrxs operator<<=(int rotate_count) const;
-PCUIF__InfoTrxs operator<<=(const INTEGER& rotate_count) const;
-PCUIF__InfoTrxs operator>>=(int rotate_count) const;
-PCUIF__InfoTrxs operator>>=(const INTEGER& rotate_count) const;
-
-PCUIF__InfoTrxs operator+(const PCUIF__InfoTrxs& other_value) const;
-
-PCUIF__InfoTrxs substr(int index, int returncount) const;
-
-PCUIF__InfoTrxs replace(int index, int len, const PCUIF__InfoTrxs& repl) const;
-
-PCUIF__InfoTrxs replace(int index, int len, const PCUIF__InfoTrxs_template& repl) const;
-
-void set_size(int new_size);
-inline boolean is_bound() const {return val_ptr != NULL; }
-inline boolean is_present() const { return is_bound(); }
-boolean is_value() const;
-int size_of() const;
-int n_elem() const { return size_of(); }
-int lengthof() const;
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__InfoTrxs_template : public Record_Of_Template {
-union {
-struct {
-int n_elements;
-PCUIF__InfoTrx_template **value_elements;
-} single_value;
-struct {
-unsigned int n_values;
-PCUIF__InfoTrxs_template *list_value;
-} value_list;
-};
-void copy_value(const PCUIF__InfoTrxs& other_value);
-void copy_template(const PCUIF__InfoTrxs_template& other_value);
-static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
-
-public:
-PCUIF__InfoTrxs_template();
-PCUIF__InfoTrxs_template(template_sel other_value);
-PCUIF__InfoTrxs_template(null_type other_value);
-PCUIF__InfoTrxs_template(const PCUIF__InfoTrxs& other_value);
-PCUIF__InfoTrxs_template(const OPTIONAL<PCUIF__InfoTrxs>& other_value);
-PCUIF__InfoTrxs_template(const PCUIF__InfoTrxs_template& other_value);
-~PCUIF__InfoTrxs_template();
-
-void clean_up();
-PCUIF__InfoTrxs_template& operator=(template_sel other_value);
-PCUIF__InfoTrxs_template& operator=(null_type other_value);
-PCUIF__InfoTrxs_template& operator=(const PCUIF__InfoTrxs& other_value);
-PCUIF__InfoTrxs_template& operator=(const OPTIONAL<PCUIF__InfoTrxs>& other_value);
-PCUIF__InfoTrxs_template& operator=(const PCUIF__InfoTrxs_template& other_value);
-
-PCUIF__InfoTrx_template& operator[](int index_value);
-PCUIF__InfoTrx_template& operator[](const INTEGER& index_value);
-const PCUIF__InfoTrx_template& operator[](int index_value) const;
-const PCUIF__InfoTrx_template& operator[](const INTEGER& index_value) const;
-
-void set_size(int new_size);
-int n_elem() const;
-int size_of(boolean is_size) const;
-inline int size_of() const { return size_of(TRUE); }
-inline int lengthof() const { return size_of(FALSE); }
-boolean match(const PCUIF__InfoTrxs& other_value, boolean legacy = FALSE) const;
-inline boolean is_bound() const
- {return template_selection != UNINITIALIZED_TEMPLATE; }
-boolean is_value() const;
-PCUIF__InfoTrxs valueof() const;
-PCUIF__InfoTrxs substr(int index, int returncount) const;
-
-PCUIF__InfoTrxs replace(int index, int len, const PCUIF__InfoTrxs_template& repl) const;
-
-PCUIF__InfoTrxs replace(int index, int len, const PCUIF__InfoTrxs& repl) const;
-
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__InfoTrxs_template& list_item(unsigned int list_index);
-void log() const;
-void log_match(const PCUIF__InfoTrxs& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean get_istemplate_kind(const char* type) const;
-};
-
-class PCUIF__info__ind : public Base_Type {
- INTEGER field_version;
- PCUIF__Flags field_flags;
- PCUIF__InfoTrxs field_trx;
- INTEGER field_bsic;
- INTEGER field_mcc;
- INTEGER field_mnc;
- INTEGER field_mnc__3__digits;
- INTEGER field_lac;
- INTEGER field_rac;
- INTEGER field_nsei;
- PCUIF__info__ind_nse__timer field_nse__timer;
- PCUIF__info__ind_cell__timer field_cell__timer;
- INTEGER field_cell__id;
- INTEGER field_repeat__time;
- INTEGER field_repeat__count;
- INTEGER field_bvci;
- INTEGER field_t3142;
- INTEGER field_t3169;
- INTEGER field_t3191;
- INTEGER field_t3193__10ms;
- INTEGER field_t3195;
- INTEGER field_t3101;
- INTEGER field_t3103;
- INTEGER field_t3105;
- INTEGER field_cv__countdown;
- INTEGER field_dl__tbf__ext;
- INTEGER field_ul__tbf__ext;
- INTEGER field_initial__cs;
- INTEGER field_initial__mcs;
- PCUIF__info__ind_nsvci field_nsvci;
- PCUIF__info__ind_local__pprt field_local__pprt;
- PCUIF__info__ind_remote__port field_remote__port;
- PCUIF__info__ind_remote__ip field_remote__ip;
-public:
- PCUIF__info__ind();
- PCUIF__info__ind(const INTEGER& par_version,
- const PCUIF__Flags& par_flags,
- const PCUIF__InfoTrxs& par_trx,
- const INTEGER& par_bsic,
- const INTEGER& par_mcc,
- const INTEGER& par_mnc,
- const INTEGER& par_mnc__3__digits,
- const INTEGER& par_lac,
- const INTEGER& par_rac,
- const INTEGER& par_nsei,
- const PCUIF__info__ind_nse__timer& par_nse__timer,
- const PCUIF__info__ind_cell__timer& par_cell__timer,
- const INTEGER& par_cell__id,
- const INTEGER& par_repeat__time,
- const INTEGER& par_repeat__count,
- const INTEGER& par_bvci,
- const INTEGER& par_t3142,
- const INTEGER& par_t3169,
- const INTEGER& par_t3191,
- const INTEGER& par_t3193__10ms,
- const INTEGER& par_t3195,
- const INTEGER& par_t3101,
- const INTEGER& par_t3103,
- const INTEGER& par_t3105,
- const INTEGER& par_cv__countdown,
- const INTEGER& par_dl__tbf__ext,
- const INTEGER& par_ul__tbf__ext,
- const INTEGER& par_initial__cs,
- const INTEGER& par_initial__mcs,
- const PCUIF__info__ind_nsvci& par_nsvci,
- const PCUIF__info__ind_local__pprt& par_local__pprt,
- const PCUIF__info__ind_remote__port& par_remote__port,
- const PCUIF__info__ind_remote__ip& par_remote__ip);
- PCUIF__info__ind(const PCUIF__info__ind& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__info__ind& operator=(const PCUIF__info__ind& other_value);
- boolean operator==(const PCUIF__info__ind& other_value) const;
- inline boolean operator!=(const PCUIF__info__ind& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& version()
- {return field_version;}
- inline const INTEGER& version() const
- {return field_version;}
- inline PCUIF__Flags& flags()
- {return field_flags;}
- inline const PCUIF__Flags& flags() const
- {return field_flags;}
- inline PCUIF__InfoTrxs& trx()
- {return field_trx;}
- inline const PCUIF__InfoTrxs& trx() const
- {return field_trx;}
- inline INTEGER& bsic()
- {return field_bsic;}
- inline const INTEGER& bsic() const
- {return field_bsic;}
- inline INTEGER& mcc()
- {return field_mcc;}
- inline const INTEGER& mcc() const
- {return field_mcc;}
- inline INTEGER& mnc()
- {return field_mnc;}
- inline const INTEGER& mnc() const
- {return field_mnc;}
- inline INTEGER& mnc__3__digits()
- {return field_mnc__3__digits;}
- inline const INTEGER& mnc__3__digits() const
- {return field_mnc__3__digits;}
- inline INTEGER& lac()
- {return field_lac;}
- inline const INTEGER& lac() const
- {return field_lac;}
- inline INTEGER& rac()
- {return field_rac;}
- inline const INTEGER& rac() const
- {return field_rac;}
- inline INTEGER& nsei()
- {return field_nsei;}
- inline const INTEGER& nsei() const
- {return field_nsei;}
- inline PCUIF__info__ind_nse__timer& nse__timer()
- {return field_nse__timer;}
- inline const PCUIF__info__ind_nse__timer& nse__timer() const
- {return field_nse__timer;}
- inline PCUIF__info__ind_cell__timer& cell__timer()
- {return field_cell__timer;}
- inline const PCUIF__info__ind_cell__timer& cell__timer() const
- {return field_cell__timer;}
- inline INTEGER& cell__id()
- {return field_cell__id;}
- inline const INTEGER& cell__id() const
- {return field_cell__id;}
- inline INTEGER& repeat__time()
- {return field_repeat__time;}
- inline const INTEGER& repeat__time() const
- {return field_repeat__time;}
- inline INTEGER& repeat__count()
- {return field_repeat__count;}
- inline const INTEGER& repeat__count() const
- {return field_repeat__count;}
- inline INTEGER& bvci()
- {return field_bvci;}
- inline const INTEGER& bvci() const
- {return field_bvci;}
- inline INTEGER& t3142()
- {return field_t3142;}
- inline const INTEGER& t3142() const
- {return field_t3142;}
- inline INTEGER& t3169()
- {return field_t3169;}
- inline const INTEGER& t3169() const
- {return field_t3169;}
- inline INTEGER& t3191()
- {return field_t3191;}
- inline const INTEGER& t3191() const
- {return field_t3191;}
- inline INTEGER& t3193__10ms()
- {return field_t3193__10ms;}
- inline const INTEGER& t3193__10ms() const
- {return field_t3193__10ms;}
- inline INTEGER& t3195()
- {return field_t3195;}
- inline const INTEGER& t3195() const
- {return field_t3195;}
- inline INTEGER& t3101()
- {return field_t3101;}
- inline const INTEGER& t3101() const
- {return field_t3101;}
- inline INTEGER& t3103()
- {return field_t3103;}
- inline const INTEGER& t3103() const
- {return field_t3103;}
- inline INTEGER& t3105()
- {return field_t3105;}
- inline const INTEGER& t3105() const
- {return field_t3105;}
- inline INTEGER& cv__countdown()
- {return field_cv__countdown;}
- inline const INTEGER& cv__countdown() const
- {return field_cv__countdown;}
- inline INTEGER& dl__tbf__ext()
- {return field_dl__tbf__ext;}
- inline const INTEGER& dl__tbf__ext() const
- {return field_dl__tbf__ext;}
- inline INTEGER& ul__tbf__ext()
- {return field_ul__tbf__ext;}
- inline const INTEGER& ul__tbf__ext() const
- {return field_ul__tbf__ext;}
- inline INTEGER& initial__cs()
- {return field_initial__cs;}
- inline const INTEGER& initial__cs() const
- {return field_initial__cs;}
- inline INTEGER& initial__mcs()
- {return field_initial__mcs;}
- inline const INTEGER& initial__mcs() const
- {return field_initial__mcs;}
- inline PCUIF__info__ind_nsvci& nsvci()
- {return field_nsvci;}
- inline const PCUIF__info__ind_nsvci& nsvci() const
- {return field_nsvci;}
- inline PCUIF__info__ind_local__pprt& local__pprt()
- {return field_local__pprt;}
- inline const PCUIF__info__ind_local__pprt& local__pprt() const
- {return field_local__pprt;}
- inline PCUIF__info__ind_remote__port& remote__port()
- {return field_remote__port;}
- inline const PCUIF__info__ind_remote__port& remote__port() const
- {return field_remote__port;}
- inline PCUIF__info__ind_remote__ip& remote__ip()
- {return field_remote__ip;}
- inline const PCUIF__info__ind_remote__ip& remote__ip() const
- {return field_remote__ip;}
- inline int size_of() const
- {return 33;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__info__ind_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__info__ind_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__info__ind& other_value);
-void copy_template(const PCUIF__info__ind_template& other_value);
-
-public:
-PCUIF__info__ind_template();
-PCUIF__info__ind_template(template_sel other_value);
-PCUIF__info__ind_template(const PCUIF__info__ind& other_value);
-PCUIF__info__ind_template(const OPTIONAL<PCUIF__info__ind>& other_value);
-PCUIF__info__ind_template(const PCUIF__info__ind_template& other_value);
-~PCUIF__info__ind_template();
-PCUIF__info__ind_template& operator=(template_sel other_value);
-PCUIF__info__ind_template& operator=(const PCUIF__info__ind& other_value);
-PCUIF__info__ind_template& operator=(const OPTIONAL<PCUIF__info__ind>& other_value);
-PCUIF__info__ind_template& operator=(const PCUIF__info__ind_template& other_value);
-boolean match(const PCUIF__info__ind& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__info__ind valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__info__ind_template& list_item(unsigned int list_index) const;
-INTEGER_template& version();
-const INTEGER_template& version() const;
-PCUIF__Flags_template& flags();
-const PCUIF__Flags_template& flags() const;
-PCUIF__InfoTrxs_template& trx();
-const PCUIF__InfoTrxs_template& trx() const;
-INTEGER_template& bsic();
-const INTEGER_template& bsic() const;
-INTEGER_template& mcc();
-const INTEGER_template& mcc() const;
-INTEGER_template& mnc();
-const INTEGER_template& mnc() const;
-INTEGER_template& mnc__3__digits();
-const INTEGER_template& mnc__3__digits() const;
-INTEGER_template& lac();
-const INTEGER_template& lac() const;
-INTEGER_template& rac();
-const INTEGER_template& rac() const;
-INTEGER_template& nsei();
-const INTEGER_template& nsei() const;
-PCUIF__info__ind_nse__timer_template& nse__timer();
-const PCUIF__info__ind_nse__timer_template& nse__timer() const;
-PCUIF__info__ind_cell__timer_template& cell__timer();
-const PCUIF__info__ind_cell__timer_template& cell__timer() const;
-INTEGER_template& cell__id();
-const INTEGER_template& cell__id() const;
-INTEGER_template& repeat__time();
-const INTEGER_template& repeat__time() const;
-INTEGER_template& repeat__count();
-const INTEGER_template& repeat__count() const;
-INTEGER_template& bvci();
-const INTEGER_template& bvci() const;
-INTEGER_template& t3142();
-const INTEGER_template& t3142() const;
-INTEGER_template& t3169();
-const INTEGER_template& t3169() const;
-INTEGER_template& t3191();
-const INTEGER_template& t3191() const;
-INTEGER_template& t3193__10ms();
-const INTEGER_template& t3193__10ms() const;
-INTEGER_template& t3195();
-const INTEGER_template& t3195() const;
-INTEGER_template& t3101();
-const INTEGER_template& t3101() const;
-INTEGER_template& t3103();
-const INTEGER_template& t3103() const;
-INTEGER_template& t3105();
-const INTEGER_template& t3105() const;
-INTEGER_template& cv__countdown();
-const INTEGER_template& cv__countdown() const;
-INTEGER_template& dl__tbf__ext();
-const INTEGER_template& dl__tbf__ext() const;
-INTEGER_template& ul__tbf__ext();
-const INTEGER_template& ul__tbf__ext() const;
-INTEGER_template& initial__cs();
-const INTEGER_template& initial__cs() const;
-INTEGER_template& initial__mcs();
-const INTEGER_template& initial__mcs() const;
-PCUIF__info__ind_nsvci_template& nsvci();
-const PCUIF__info__ind_nsvci_template& nsvci() const;
-PCUIF__info__ind_local__pprt_template& local__pprt();
-const PCUIF__info__ind_local__pprt_template& local__pprt() const;
-PCUIF__info__ind_remote__port_template& remote__port();
-const PCUIF__info__ind_remote__port_template& remote__port() const;
-PCUIF__info__ind_remote__ip_template& remote__ip();
-const PCUIF__info__ind_remote__ip_template& remote__ip() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__info__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__act__req : public Base_Type {
- INTEGER field_is__activate;
- INTEGER field_trx__nr;
- INTEGER field_ts__nr;
- OCTETSTRING field_spare;
-public:
- PCUIF__act__req();
- PCUIF__act__req(const INTEGER& par_is__activate,
- const INTEGER& par_trx__nr,
- const INTEGER& par_ts__nr,
- const OCTETSTRING& par_spare);
- PCUIF__act__req(const PCUIF__act__req& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__act__req& operator=(const PCUIF__act__req& other_value);
- boolean operator==(const PCUIF__act__req& other_value) const;
- inline boolean operator!=(const PCUIF__act__req& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& is__activate()
- {return field_is__activate;}
- inline const INTEGER& is__activate() const
- {return field_is__activate;}
- inline INTEGER& trx__nr()
- {return field_trx__nr;}
- inline const INTEGER& trx__nr() const
- {return field_trx__nr;}
- inline INTEGER& ts__nr()
- {return field_ts__nr;}
- inline const INTEGER& ts__nr() const
- {return field_ts__nr;}
- inline OCTETSTRING& spare()
- {return field_spare;}
- inline const OCTETSTRING& spare() const
- {return field_spare;}
- inline int size_of() const
- {return 4;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__act__req_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__act__req_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__act__req& other_value);
-void copy_template(const PCUIF__act__req_template& other_value);
-
-public:
-PCUIF__act__req_template();
-PCUIF__act__req_template(template_sel other_value);
-PCUIF__act__req_template(const PCUIF__act__req& other_value);
-PCUIF__act__req_template(const OPTIONAL<PCUIF__act__req>& other_value);
-PCUIF__act__req_template(const PCUIF__act__req_template& other_value);
-~PCUIF__act__req_template();
-PCUIF__act__req_template& operator=(template_sel other_value);
-PCUIF__act__req_template& operator=(const PCUIF__act__req& other_value);
-PCUIF__act__req_template& operator=(const OPTIONAL<PCUIF__act__req>& other_value);
-PCUIF__act__req_template& operator=(const PCUIF__act__req_template& other_value);
-boolean match(const PCUIF__act__req& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__act__req valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__act__req_template& list_item(unsigned int list_index) const;
-INTEGER_template& is__activate();
-const INTEGER_template& is__activate() const;
-INTEGER_template& trx__nr();
-const INTEGER_template& trx__nr() const;
-INTEGER_template& ts__nr();
-const INTEGER_template& ts__nr() const;
-OCTETSTRING_template& spare();
-const OCTETSTRING_template& spare() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__act__req& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__time__ind : public Base_Type {
- INTEGER field_fn;
-public:
- PCUIF__time__ind();
- PCUIF__time__ind(const INTEGER& par_fn);
- PCUIF__time__ind(const PCUIF__time__ind& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__time__ind& operator=(const PCUIF__time__ind& other_value);
- boolean operator==(const PCUIF__time__ind& other_value) const;
- inline boolean operator!=(const PCUIF__time__ind& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline INTEGER& fn()
- {return field_fn;}
- inline const INTEGER& fn() const
- {return field_fn;}
- inline int size_of() const
- {return 1;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__time__ind_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__time__ind_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__time__ind& other_value);
-void copy_template(const PCUIF__time__ind_template& other_value);
-
-public:
-PCUIF__time__ind_template();
-PCUIF__time__ind_template(template_sel other_value);
-PCUIF__time__ind_template(const PCUIF__time__ind& other_value);
-PCUIF__time__ind_template(const OPTIONAL<PCUIF__time__ind>& other_value);
-PCUIF__time__ind_template(const PCUIF__time__ind_template& other_value);
-~PCUIF__time__ind_template();
-PCUIF__time__ind_template& operator=(template_sel other_value);
-PCUIF__time__ind_template& operator=(const PCUIF__time__ind& other_value);
-PCUIF__time__ind_template& operator=(const OPTIONAL<PCUIF__time__ind>& other_value);
-PCUIF__time__ind_template& operator=(const PCUIF__time__ind_template& other_value);
-boolean match(const PCUIF__time__ind& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__time__ind valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__time__ind_template& list_item(unsigned int list_index) const;
-INTEGER_template& fn();
-const INTEGER_template& fn() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__time__ind& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__pag__req : public Base_Type {
- PCUIF__Sapi field_sapi;
- INTEGER field_chan__needed;
- OCTETSTRING field_identity__lv;
-public:
- PCUIF__pag__req();
- PCUIF__pag__req(const PCUIF__Sapi& par_sapi,
- const INTEGER& par_chan__needed,
- const OCTETSTRING& par_identity__lv);
- PCUIF__pag__req(const PCUIF__pag__req& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__pag__req& operator=(const PCUIF__pag__req& other_value);
- boolean operator==(const PCUIF__pag__req& other_value) const;
- inline boolean operator!=(const PCUIF__pag__req& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__Sapi& sapi()
- {return field_sapi;}
- inline const PCUIF__Sapi& sapi() const
- {return field_sapi;}
- inline INTEGER& chan__needed()
- {return field_chan__needed;}
- inline const INTEGER& chan__needed() const
- {return field_chan__needed;}
- inline OCTETSTRING& identity__lv()
- {return field_identity__lv;}
- inline const OCTETSTRING& identity__lv() const
- {return field_identity__lv;}
- inline int size_of() const
- {return 3;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__pag__req_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__pag__req_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__pag__req& other_value);
-void copy_template(const PCUIF__pag__req_template& other_value);
-
-public:
-PCUIF__pag__req_template();
-PCUIF__pag__req_template(template_sel other_value);
-PCUIF__pag__req_template(const PCUIF__pag__req& other_value);
-PCUIF__pag__req_template(const OPTIONAL<PCUIF__pag__req>& other_value);
-PCUIF__pag__req_template(const PCUIF__pag__req_template& other_value);
-~PCUIF__pag__req_template();
-PCUIF__pag__req_template& operator=(template_sel other_value);
-PCUIF__pag__req_template& operator=(const PCUIF__pag__req& other_value);
-PCUIF__pag__req_template& operator=(const OPTIONAL<PCUIF__pag__req>& other_value);
-PCUIF__pag__req_template& operator=(const PCUIF__pag__req_template& other_value);
-boolean match(const PCUIF__pag__req& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__pag__req valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__pag__req_template& list_item(unsigned int list_index) const;
-PCUIF__Sapi_template& sapi();
-const PCUIF__Sapi_template& sapi() const;
-INTEGER_template& chan__needed();
-const INTEGER_template& chan__needed() const;
-OCTETSTRING_template& identity__lv();
-const OCTETSTRING_template& identity__lv() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__pag__req& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__susp__req : public Base_Type {
- OCTETSTRING field_tlli;
- OCTETSTRING field_ra__id;
- INTEGER field_cause;
-public:
- PCUIF__susp__req();
- PCUIF__susp__req(const OCTETSTRING& par_tlli,
- const OCTETSTRING& par_ra__id,
- const INTEGER& par_cause);
- PCUIF__susp__req(const PCUIF__susp__req& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__susp__req& operator=(const PCUIF__susp__req& other_value);
- boolean operator==(const PCUIF__susp__req& other_value) const;
- inline boolean operator!=(const PCUIF__susp__req& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline OCTETSTRING& tlli()
- {return field_tlli;}
- inline const OCTETSTRING& tlli() const
- {return field_tlli;}
- inline OCTETSTRING& ra__id()
- {return field_ra__id;}
- inline const OCTETSTRING& ra__id() const
- {return field_ra__id;}
- inline INTEGER& cause()
- {return field_cause;}
- inline const INTEGER& cause() const
- {return field_cause;}
- inline int size_of() const
- {return 3;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__susp__req_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__susp__req_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__susp__req& other_value);
-void copy_template(const PCUIF__susp__req_template& other_value);
-
-public:
-PCUIF__susp__req_template();
-PCUIF__susp__req_template(template_sel other_value);
-PCUIF__susp__req_template(const PCUIF__susp__req& other_value);
-PCUIF__susp__req_template(const OPTIONAL<PCUIF__susp__req>& other_value);
-PCUIF__susp__req_template(const PCUIF__susp__req_template& other_value);
-~PCUIF__susp__req_template();
-PCUIF__susp__req_template& operator=(template_sel other_value);
-PCUIF__susp__req_template& operator=(const PCUIF__susp__req& other_value);
-PCUIF__susp__req_template& operator=(const OPTIONAL<PCUIF__susp__req>& other_value);
-PCUIF__susp__req_template& operator=(const PCUIF__susp__req_template& other_value);
-boolean match(const PCUIF__susp__req& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__susp__req valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__susp__req_template& list_item(unsigned int list_index) const;
-OCTETSTRING_template& tlli();
-const OCTETSTRING_template& tlli() const;
-OCTETSTRING_template& ra__id();
-const OCTETSTRING_template& ra__id() const;
-INTEGER_template& cause();
-const INTEGER_template& cause() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__susp__req& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-class PCUIF__MsgUnion : public Base_Type {
-public:
-enum union_selection_type { UNBOUND_VALUE = 0, ALT_data__req = 1, ALT_data__cnf = 2, ALT_data__cnf__dt = 3, ALT_data__ind = 4, ALT_susp__req = 5, ALT_rts__req = 6, ALT_rach__ind = 7, ALT_txt__ind = 8, ALT_info__ind = 9, ALT_act__req = 10, ALT_time__ind = 11, ALT_pag__req = 12 };
-private:
-union_selection_type union_selection;
-union {
-PCUIF__data *field_data__req;
-PCUIF__data *field_data__cnf;
-PCUIF__data__cnf__dt *field_data__cnf__dt;
-PCUIF__data *field_data__ind;
-PCUIF__susp__req *field_susp__req;
-PCUIF__rts__req *field_rts__req;
-PCUIF__rach__ind *field_rach__ind;
-PCUIF__txt__ind *field_txt__ind;
-PCUIF__info__ind *field_info__ind;
-PCUIF__act__req *field_act__req;
-PCUIF__time__ind *field_time__ind;
-PCUIF__pag__req *field_pag__req;
-};
-void copy_value(const PCUIF__MsgUnion& other_value);
-
-public:
-PCUIF__MsgUnion();
-PCUIF__MsgUnion(const PCUIF__MsgUnion& other_value);
-~PCUIF__MsgUnion();
-PCUIF__MsgUnion& operator=(const PCUIF__MsgUnion& other_value);
-boolean operator==(const PCUIF__MsgUnion& other_value) const;
-inline boolean operator!=(const PCUIF__MsgUnion& other_value) const { return !(*this == other_value); }
-PCUIF__data& data__req();
-const PCUIF__data& data__req() const;
-PCUIF__data& data__cnf();
-const PCUIF__data& data__cnf() const;
-PCUIF__data__cnf__dt& data__cnf__dt();
-const PCUIF__data__cnf__dt& data__cnf__dt() const;
-PCUIF__data& data__ind();
-const PCUIF__data& data__ind() const;
-PCUIF__susp__req& susp__req();
-const PCUIF__susp__req& susp__req() const;
-PCUIF__rts__req& rts__req();
-const PCUIF__rts__req& rts__req() const;
-PCUIF__rach__ind& rach__ind();
-const PCUIF__rach__ind& rach__ind() const;
-PCUIF__txt__ind& txt__ind();
-const PCUIF__txt__ind& txt__ind() const;
-PCUIF__info__ind& info__ind();
-const PCUIF__info__ind& info__ind() const;
-PCUIF__act__req& act__req();
-const PCUIF__act__req& act__req() const;
-PCUIF__time__ind& time__ind();
-const PCUIF__time__ind& time__ind() const;
-PCUIF__pag__req& pag__req();
-const PCUIF__pag__req& pag__req() const;
-inline union_selection_type get_selection() const { return union_selection; }
-boolean ischosen(union_selection_type checked_selection) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-inline boolean is_present() const { return is_bound(); }
-void log() const;
-void set_param(Module_Param& param);
- void set_implicit_omit();
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__MsgUnion_template : public Base_Template {
-union {
-struct {
-PCUIF__MsgUnion::union_selection_type union_selection;
-union {
-PCUIF__data_template *field_data__req;
-PCUIF__data_template *field_data__cnf;
-PCUIF__data__cnf__dt_template *field_data__cnf__dt;
-PCUIF__data_template *field_data__ind;
-PCUIF__susp__req_template *field_susp__req;
-PCUIF__rts__req_template *field_rts__req;
-PCUIF__rach__ind_template *field_rach__ind;
-PCUIF__txt__ind_template *field_txt__ind;
-PCUIF__info__ind_template *field_info__ind;
-PCUIF__act__req_template *field_act__req;
-PCUIF__time__ind_template *field_time__ind;
-PCUIF__pag__req_template *field_pag__req;
-};
-} single_value;
-struct {
-unsigned int n_values;
-PCUIF__MsgUnion_template *list_value;
-} value_list;
-};
-void copy_value(const PCUIF__MsgUnion& other_value);
-
-void copy_template(const PCUIF__MsgUnion_template& other_value);
-
-public:
-PCUIF__MsgUnion_template();
-PCUIF__MsgUnion_template(template_sel other_value);
-PCUIF__MsgUnion_template(const PCUIF__MsgUnion& other_value);
-PCUIF__MsgUnion_template(const OPTIONAL<PCUIF__MsgUnion>& other_value);
-PCUIF__MsgUnion_template(const PCUIF__MsgUnion_template& other_value);
-~PCUIF__MsgUnion_template();
-void clean_up();
-PCUIF__MsgUnion_template& operator=(template_sel other_value);
-PCUIF__MsgUnion_template& operator=(const PCUIF__MsgUnion& other_value);
-PCUIF__MsgUnion_template& operator=(const OPTIONAL<PCUIF__MsgUnion>& other_value);
-PCUIF__MsgUnion_template& operator=(const PCUIF__MsgUnion_template& other_value);
-boolean match(const PCUIF__MsgUnion& other_value, boolean legacy = FALSE) const;
-boolean is_value() const;PCUIF__MsgUnion valueof() const;
-PCUIF__MsgUnion_template& list_item(unsigned int list_index) const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__data_template& data__req();
-const PCUIF__data_template& data__req() const;
-PCUIF__data_template& data__cnf();
-const PCUIF__data_template& data__cnf() const;
-PCUIF__data__cnf__dt_template& data__cnf__dt();
-const PCUIF__data__cnf__dt_template& data__cnf__dt() const;
-PCUIF__data_template& data__ind();
-const PCUIF__data_template& data__ind() const;
-PCUIF__susp__req_template& susp__req();
-const PCUIF__susp__req_template& susp__req() const;
-PCUIF__rts__req_template& rts__req();
-const PCUIF__rts__req_template& rts__req() const;
-PCUIF__rach__ind_template& rach__ind();
-const PCUIF__rach__ind_template& rach__ind() const;
-PCUIF__txt__ind_template& txt__ind();
-const PCUIF__txt__ind_template& txt__ind() const;
-PCUIF__info__ind_template& info__ind();
-const PCUIF__info__ind_template& info__ind() const;
-PCUIF__act__req_template& act__req();
-const PCUIF__act__req_template& act__req() const;
-PCUIF__time__ind_template& time__ind();
-const PCUIF__time__ind_template& time__ind() const;
-PCUIF__pag__req_template& pag__req();
-const PCUIF__pag__req_template& pag__req() const;
-boolean ischosen(PCUIF__MsgUnion::union_selection_type checked_selection) const;
-void log() const;
-void log_match(const PCUIF__MsgUnion& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-};
-
-class PCUIF__Message : public Base_Type {
- PCUIF__MsgType field_msg__type;
- INTEGER field_bts__nr;
- OCTETSTRING field_spare;
- PCUIF__MsgUnion field_u;
-public:
- PCUIF__Message();
- PCUIF__Message(const PCUIF__MsgType& par_msg__type,
- const INTEGER& par_bts__nr,
- const OCTETSTRING& par_spare,
- const PCUIF__MsgUnion& par_u);
- PCUIF__Message(const PCUIF__Message& other_value);
- inline boolean is_component() { return FALSE; }
- void clean_up();
-const TTCN_Typedescriptor_t* get_descriptor() const;
- PCUIF__Message& operator=(const PCUIF__Message& other_value);
- boolean operator==(const PCUIF__Message& other_value) const;
- inline boolean operator!=(const PCUIF__Message& other_value) const
- { return !(*this == other_value); }
-
- boolean is_bound() const;
-
-inline boolean is_present() const { return is_bound(); }
- boolean is_value() const;
-
- inline PCUIF__MsgType& msg__type()
- {return field_msg__type;}
- inline const PCUIF__MsgType& msg__type() const
- {return field_msg__type;}
- inline INTEGER& bts__nr()
- {return field_bts__nr;}
- inline const INTEGER& bts__nr() const
- {return field_bts__nr;}
- inline OCTETSTRING& spare()
- {return field_spare;}
- inline const OCTETSTRING& spare() const
- {return field_spare;}
- inline PCUIF__MsgUnion& u()
- {return field_u;}
- inline const PCUIF__MsgUnion& u() const
- {return field_u;}
- inline int size_of() const
- {return 4;}
- void log() const;
- void set_param(Module_Param& param);
- void set_implicit_omit();
- void encode_text(Text_Buf& text_buf) const;
- void decode_text(Text_Buf& text_buf);
-void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
-void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
-int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
-int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
-};
-
-class PCUIF__Message_template : public Base_Template {
-struct single_value_struct;
-union {
-single_value_struct *single_value;
-struct {
-unsigned int n_values;
-PCUIF__Message_template *list_value;
-} value_list;
-};
-
-void set_specific();
-void copy_value(const PCUIF__Message& other_value);
-void copy_template(const PCUIF__Message_template& other_value);
-
-public:
-PCUIF__Message_template();
-PCUIF__Message_template(template_sel other_value);
-PCUIF__Message_template(const PCUIF__Message& other_value);
-PCUIF__Message_template(const OPTIONAL<PCUIF__Message>& other_value);
-PCUIF__Message_template(const PCUIF__Message_template& other_value);
-~PCUIF__Message_template();
-PCUIF__Message_template& operator=(template_sel other_value);
-PCUIF__Message_template& operator=(const PCUIF__Message& other_value);
-PCUIF__Message_template& operator=(const OPTIONAL<PCUIF__Message>& other_value);
-PCUIF__Message_template& operator=(const PCUIF__Message_template& other_value);
-boolean match(const PCUIF__Message& other_value, boolean legacy = FALSE) const;
-boolean is_bound() const;
-boolean is_value() const;
-void clean_up();
-PCUIF__Message valueof() const;
-void set_type(template_sel template_type, unsigned int list_length);
-PCUIF__Message_template& list_item(unsigned int list_index) const;
-PCUIF__MsgType_template& msg__type();
-const PCUIF__MsgType_template& msg__type() const;
-INTEGER_template& bts__nr();
-const INTEGER_template& bts__nr() const;
-OCTETSTRING_template& spare();
-const OCTETSTRING_template& spare() const;
-PCUIF__MsgUnion_template& u();
-const PCUIF__MsgUnion_template& u() const;
-int size_of() const;
-void log() const;
-void log_match(const PCUIF__Message& match_value, boolean legacy = FALSE) const;
-void encode_text(Text_Buf& text_buf) const;
-void decode_text(Text_Buf& text_buf);
-void set_param(Module_Param& param);
-void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
-boolean is_present(boolean legacy = FALSE) const;
-boolean match_omit(boolean legacy = FALSE) const;
-};
-
-
-/* Function prototypes */
-
-extern void PCUIF__MsgType_encoder(const PCUIF__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgType_decoder(OCTETSTRING& input_stream, PCUIF__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_bts__active_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_bts__active_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_sysmo__direct__dsp_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_sysmo__direct__dsp_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_cs1_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_cs1_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_cs2_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_cs2_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_cs3_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_cs3_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_cs4_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_cs4_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs1_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs1_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs2_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs2_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs3_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs3_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs4_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs4_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs5_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs5_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs6_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs6_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs7_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs7_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs8_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs8_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_mcs9_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_mcs9_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_spare2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_spare2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Flags_encoder(const PCUIF__Flags& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Flags_decoder(OCTETSTRING& input_stream, PCUIF__Flags& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__TextType_encoder(const PCUIF__TextType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__TextType_decoder(OCTETSTRING& input_stream, PCUIF__TextType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Text_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Text_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__txt__ind_txt__type_encoder(const PCUIF__TextType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__txt__ind_txt__type_decoder(OCTETSTRING& input_stream, PCUIF__TextType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__txt__ind_text_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__txt__ind_text_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__txt__ind_encoder(const PCUIF__txt__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__txt__ind_decoder(OCTETSTRING& input_stream, PCUIF__txt__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void OCT162_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER OCT162_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_rssi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_rssi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_ber10k_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_ber10k_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_ta__offs__qbits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_ta__offs__qbits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_lqual__cb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_lqual__cb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_tlli_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_tlli_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_rssi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_rssi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_ber10k_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_ber10k_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_ta__offs__qbits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_ta__offs__qbits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_lqual__cb_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_lqual__cb_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__data__cnf__dt_encoder(const PCUIF__data__cnf__dt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__data__cnf__dt_decoder(OCTETSTRING& input_stream, PCUIF__data__cnf__dt& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_block__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_block__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rts__req_encoder(const PCUIF__rts__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rts__req_decoder(OCTETSTRING& input_stream, PCUIF__rts__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__BurstType_encoder(const PCUIF__BurstType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__BurstType_decoder(OCTETSTRING& input_stream, PCUIF__BurstType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_ra_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_ra_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_qta_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_qta_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_is__11bit_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_is__11bit_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_burst__type_encoder(const PCUIF__BurstType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_burst__type_decoder(OCTETSTRING& input_stream, PCUIF__BurstType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__rach__ind_encoder(const PCUIF__rach__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__rach__ind_decoder(OCTETSTRING& input_stream, PCUIF__rach__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_pdch__mask_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_pdch__mask_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_tsc_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_tsc_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_hLayer1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_hLayer1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrx_encoder(const PCUIF__InfoTrx& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrx_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrx& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern boolean operator==(null_type null_value, const PCUIF__InfoTrxs& other_value);
-inline boolean operator!=(null_type null_value, const PCUIF__InfoTrxs& other_value) { return !(null_value == other_value); }
-extern void PCUIF__InfoTrxs_0_encoder(const PCUIF__InfoTrx& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrxs_0_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrx& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__InfoTrxs_encoder(const PCUIF__InfoTrxs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__InfoTrxs_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrxs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_flags_encoder(const PCUIF__Flags& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_flags_decoder(OCTETSTRING& input_stream, PCUIF__Flags& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_trx_encoder(const PCUIF__InfoTrxs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_trx_decoder(OCTETSTRING& input_stream, PCUIF__InfoTrxs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_bsic_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_bsic_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_mcc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_mcc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_mnc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_mnc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_mnc__3__digits_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_mnc__3__digits_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_lac_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_lac_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_rac_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_rac_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_nsei_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_nsei_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_nse__timer_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_nse__timer_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_nse__timer_encoder(const PCUIF__info__ind_nse__timer& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_nse__timer_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_nse__timer& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_cell__timer_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_cell__timer_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_cell__timer_encoder(const PCUIF__info__ind_cell__timer& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_cell__timer_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_cell__timer& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_cell__id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_cell__id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_repeat__time_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_repeat__time_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_repeat__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_repeat__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_bvci_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_bvci_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3142_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3142_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3169_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3169_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3191_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3191_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3193__10ms_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3193__10ms_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3195_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3195_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3101_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3101_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3103_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3103_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_t3105_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_t3105_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_cv__countdown_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_cv__countdown_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_dl__tbf__ext_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_dl__tbf__ext_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_ul__tbf__ext_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_ul__tbf__ext_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_initial__cs_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_initial__cs_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_initial__mcs_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_initial__mcs_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_nsvci_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_nsvci_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_nsvci_encoder(const PCUIF__info__ind_nsvci& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_nsvci_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_nsvci& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_local__pprt_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_local__pprt_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_local__pprt_encoder(const PCUIF__info__ind_local__pprt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_local__pprt_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_local__pprt& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_remote__port_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_remote__port_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_remote__port_encoder(const PCUIF__info__ind_remote__port& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_remote__port_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_remote__port& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_remote__ip_0_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_remote__ip_0_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_remote__ip_encoder(const PCUIF__info__ind_remote__ip& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_remote__ip_decoder(OCTETSTRING& input_stream, PCUIF__info__ind_remote__ip& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__info__ind_encoder(const PCUIF__info__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__info__ind_decoder(OCTETSTRING& input_stream, PCUIF__info__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__act__req_is__activate_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__act__req_is__activate_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__act__req_trx__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__act__req_trx__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__act__req_ts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__act__req_ts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__act__req_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__act__req_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__act__req_encoder(const PCUIF__act__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__act__req_decoder(OCTETSTRING& input_stream, PCUIF__act__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__time__ind_fn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__time__ind_fn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__time__ind_encoder(const PCUIF__time__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__time__ind_decoder(OCTETSTRING& input_stream, PCUIF__time__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__pag__req_sapi_encoder(const PCUIF__Sapi& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__pag__req_sapi_decoder(OCTETSTRING& input_stream, PCUIF__Sapi& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__pag__req_chan__needed_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__pag__req_chan__needed_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__pag__req_identity__lv_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__pag__req_identity__lv_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__pag__req_encoder(const PCUIF__pag__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__pag__req_decoder(OCTETSTRING& input_stream, PCUIF__pag__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__susp__req_tlli_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__susp__req_tlli_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__susp__req_ra__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__susp__req_ra__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__susp__req_cause_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__susp__req_cause_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__susp__req_encoder(const PCUIF__susp__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__susp__req_decoder(OCTETSTRING& input_stream, PCUIF__susp__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_data__req_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_data__req_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_data__cnf_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_data__cnf_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_data__cnf__dt_encoder(const PCUIF__data__cnf__dt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_data__cnf__dt_decoder(OCTETSTRING& input_stream, PCUIF__data__cnf__dt& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_data__ind_encoder(const PCUIF__data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_data__ind_decoder(OCTETSTRING& input_stream, PCUIF__data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_susp__req_encoder(const PCUIF__susp__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_susp__req_decoder(OCTETSTRING& input_stream, PCUIF__susp__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_rts__req_encoder(const PCUIF__rts__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_rts__req_decoder(OCTETSTRING& input_stream, PCUIF__rts__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_rach__ind_encoder(const PCUIF__rach__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_rach__ind_decoder(OCTETSTRING& input_stream, PCUIF__rach__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_txt__ind_encoder(const PCUIF__txt__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_txt__ind_decoder(OCTETSTRING& input_stream, PCUIF__txt__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_info__ind_encoder(const PCUIF__info__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_info__ind_decoder(OCTETSTRING& input_stream, PCUIF__info__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_act__req_encoder(const PCUIF__act__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_act__req_decoder(OCTETSTRING& input_stream, PCUIF__act__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_time__ind_encoder(const PCUIF__time__ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_time__ind_decoder(OCTETSTRING& input_stream, PCUIF__time__ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_pag__req_encoder(const PCUIF__pag__req& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_pag__req_decoder(OCTETSTRING& input_stream, PCUIF__pag__req& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__MsgUnion_encoder(const PCUIF__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__MsgUnion_decoder(OCTETSTRING& input_stream, PCUIF__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Message_msg__type_encoder(const PCUIF__MsgType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Message_msg__type_decoder(OCTETSTRING& input_stream, PCUIF__MsgType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Message_bts__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Message_bts__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Message_spare_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Message_spare_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Message_u_encoder(const PCUIF__MsgUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Message_u_decoder(OCTETSTRING& input_stream, PCUIF__MsgUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern void PCUIF__Message_encoder(const PCUIF__Message& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
-extern INTEGER PCUIF__Message_decoder(OCTETSTRING& input_stream, PCUIF__Message& output_value, const UNIVERSAL_CHARSTRING& coding_name);
-extern OCTETSTRING enc__PCUIF__Message(const PCUIF__Message& pdu);
-extern PCUIF__Message dec__PCUIF__Message(const OCTETSTRING& stream);
-extern PCUIF__Message_template ts__PCUIF__RTS__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& block__nr);
-extern PCUIF__Message_template tr__PCUIF__RTS__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const INTEGER_template& fn, const INTEGER_template& block__nr);
-extern PCUIF__Message_template ts__PCUIF__TXT__IND(const INTEGER& bts__nr, const PCUIF__TextType& tt, const CHARSTRING& text);
-extern PCUIF__Message_template tr__PCUIF__TXT__IND(const INTEGER_template& bts__nr, const PCUIF__TextType_template& tt, const CHARSTRING_template& text);
-extern PCUIF__Message_template ts__PCUIF__ACT__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr);
-extern PCUIF__Message_template tr__PCUIF__ACT__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr);
-extern PCUIF__Message_template ts__PCUIF__DEACT__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr);
-extern PCUIF__Message_template tr__PCUIF__DEACT__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr);
-extern PCUIF__Message_template ts__PCUIF__DATA__IND(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& rssi, const INTEGER_template& ber10k, const INTEGER_template& ta__offs__qbits, const INTEGER_template& lqual__cb);
-extern PCUIF__Message_template tr__PCUIF__DATA__IND(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data);
-extern PCUIF__Message_template ts__PCUIF__DATA__REQ(const INTEGER& bts__nr, const INTEGER& trx__nr, const INTEGER& ts__nr, const INTEGER& block__nr, const INTEGER& fn, const PCUIF__Sapi& sapi, const OCTETSTRING& data);
-extern PCUIF__Message_template tr__PCUIF__DATA__REQ(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const INTEGER_template& fn, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data);
-extern PCUIF__Message_template ts__PCUIF__DATA__CNF(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const INTEGER_template& block__nr, const INTEGER_template& fn, const INTEGER_template& arfcn, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data);
-extern PCUIF__Message_template tr__PCUIF__DATA__CNF(const INTEGER_template& bts__nr, const INTEGER_template& trx__nr, const INTEGER_template& ts__nr, const PCUIF__Sapi_template& sapi, const OCTETSTRING_template& data);
-extern PCUIF__Message_template ts__PCUIF__RACH__IND(const INTEGER_template& bts__nr, const INTEGER_template& ra, const INTEGER_template& is__11bit, const PCUIF__BurstType_template& burst__type, const INTEGER_template& fn, const INTEGER_template& arfcn, const INTEGER_template& qta);
-extern PCUIF__Message_template tr__PCUIF__RACH__IND(const INTEGER_template& bts__nr, const INTEGER_template& ra, const INTEGER_template& is__11bit, const PCUIF__BurstType_template& burst__type, const INTEGER_template& fn);
-extern PCUIF__Message_template ts__PCUIF__PAG__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& id__lv, const INTEGER_template& chan__needed, const PCUIF__Sapi_template& sapi);
-extern PCUIF__Message_template tr__PCUIF__PAG__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& id__lv, const INTEGER_template& chan__needed, const PCUIF__Sapi_template& );
-extern PCUIF__InfoTrx_template ts__PCUIF__InfoTrx(const INTEGER_template& arfcn, const BITSTRING_template& pdch__mask, const OCTETSTRING& tsc);
-extern PCUIF__Message_template ts__PCUIF__INFO__IND(const INTEGER_template& bts__nr, const INTEGER_template& nsei, const INTEGER_template& nsvci, const INTEGER_template& bvci, const INTEGER_template& local__port, const INTEGER_template& remote__port, const OCTETSTRING_template& remote__ip, const PCUIF__Flags_template& flags, const INTEGER_template& mcc, const INTEGER_template& mnc, const INTEGER_template& lac, const INTEGER_template& rac, const INTEGER_template& cell__id, const INTEGER_template& bsic, const PCUIF__InfoTrxs_template& trx, const INTEGER_template& version);
-extern PCUIF__Message_template tr__PCUIF__INFO__IND(const INTEGER_template& bts__nr, const PCUIF__Flags_template& flags, const INTEGER_template& version);
-extern PCUIF__Message_template ts__PCUIF__TIME__IND(const INTEGER_template& bts__nr, const INTEGER_template& fn);
-extern PCUIF__Message_template tr__PCUIF__TIME__IND(const INTEGER_template& bts__nr, const INTEGER_template& fn);
-extern PCUIF__Message_template ts__PCUIF__SUSP__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& tlli, const OCTETSTRING_template& ra__id, const INTEGER_template& cause);
-extern PCUIF__Message_template tr__PCUIF__SUSP__REQ(const INTEGER_template& bts__nr, const OCTETSTRING_template& tlli, const OCTETSTRING_template& ra__id, const INTEGER_template& cause);
-
-/* Global variable declarations */
-
-extern const CHARSTRING& PCU__SOCK__DEFAULT;
-extern const INTEGER& PCU__IF__VERSION;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgType_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgType_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgType_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__Sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_bts__active_raw_;
-extern const XERdescriptor_t PCUIF__Flags_bts__active_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_bts__active_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_bts__active_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_bts__active_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_sysmo__direct__dsp_raw_;
-extern const XERdescriptor_t PCUIF__Flags_sysmo__direct__dsp_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_sysmo__direct__dsp_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_sysmo__direct__dsp_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_sysmo__direct__dsp_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_spare_raw_;
-extern const XERdescriptor_t PCUIF__Flags_spare_xer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_spare_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_spare_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_cs1_raw_;
-extern const XERdescriptor_t PCUIF__Flags_cs1_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_cs1_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_cs1_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_cs1_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_cs2_raw_;
-extern const XERdescriptor_t PCUIF__Flags_cs2_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_cs2_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_cs2_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_cs2_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_cs3_raw_;
-extern const XERdescriptor_t PCUIF__Flags_cs3_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_cs3_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_cs3_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_cs3_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_cs4_raw_;
-extern const XERdescriptor_t PCUIF__Flags_cs4_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_cs4_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_cs4_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_cs4_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs1_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs1_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs1_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs1_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs1_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs2_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs2_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs2_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs2_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs2_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs3_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs3_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs3_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs3_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs3_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs4_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs4_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs4_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs4_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs4_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs5_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs5_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs5_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs5_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs5_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs6_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs6_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs6_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs6_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs6_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs7_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs7_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs7_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs7_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs7_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs8_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs8_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs8_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs8_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs8_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_mcs9_raw_;
-extern const XERdescriptor_t PCUIF__Flags_mcs9_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Flags_mcs9_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_mcs9_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_mcs9_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_spare2_raw_;
-extern const XERdescriptor_t PCUIF__Flags_spare2_xer_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_spare2_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_spare2_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Flags_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__Flags_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Flags_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__TextType_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__TextType_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__TextType_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Text_raw_;
-extern const XERdescriptor_t PCUIF__Text_xer_;
-extern const TTCN_Typedescriptor_t PCUIF__Text_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Text_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__txt__ind_txt__type_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__txt__ind_txt__type_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__txt__ind_txt__type_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__txt__ind_text_raw_;
-extern const XERdescriptor_t PCUIF__txt__ind_text_xer_;
-extern const TTCN_Typedescriptor_t PCUIF__txt__ind_text_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__txt__ind_text_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__txt__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__txt__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__txt__ind_default_coding;
-extern const TTCN_RAWdescriptor_t OCT162_raw_;
-extern const XERdescriptor_t OCT162_xer_;
-extern const TTCN_OERdescriptor_t OCT162_oer_;
-extern const TTCN_Typedescriptor_t OCT162_descr_;
-extern UNIVERSAL_CHARSTRING OCT162_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__data_sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_len_raw_;
-extern const XERdescriptor_t PCUIF__data_len_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_len_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_len_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_len_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_data_raw_;
-extern const XERdescriptor_t PCUIF__data_data_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_data_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_data_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_data_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_fn_raw_;
-extern const XERdescriptor_t PCUIF__data_fn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_fn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_fn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_fn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_arfcn_raw_;
-extern const XERdescriptor_t PCUIF__data_arfcn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_arfcn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_trx__nr_raw_;
-extern const XERdescriptor_t PCUIF__data_trx__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_trx__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_trx__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_trx__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_ts__nr_raw_;
-extern const XERdescriptor_t PCUIF__data_ts__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_ts__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_ts__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_ts__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_block__nr_raw_;
-extern const XERdescriptor_t PCUIF__data_block__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_block__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_block__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_block__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_rssi_raw_;
-extern const XERdescriptor_t PCUIF__data_rssi_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_rssi_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_rssi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_rssi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_ber10k_raw_;
-extern const XERdescriptor_t PCUIF__data_ber10k_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_ber10k_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_ber10k_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_ber10k_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_ta__offs__qbits_raw_;
-extern const XERdescriptor_t PCUIF__data_ta__offs__qbits_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_ta__offs__qbits_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_ta__offs__qbits_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_ta__offs__qbits_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_lqual__cb_raw_;
-extern const XERdescriptor_t PCUIF__data_lqual__cb_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data_lqual__cb_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data_lqual__cb_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_lqual__cb_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__data_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_tlli_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_tlli_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_tlli_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_tlli_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_tlli_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_fn_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_fn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_fn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_fn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_fn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_arfcn_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_arfcn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_arfcn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_trx__nr_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_trx__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_trx__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_trx__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_trx__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ts__nr_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_ts__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ts__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ts__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ts__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_block__nr_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_block__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_block__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_block__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_block__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_rssi_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_rssi_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_rssi_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_rssi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_rssi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ber10k_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_ber10k_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ber10k_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ber10k_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ber10k_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_ta__offs__qbits_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_ta__offs__qbits_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_lqual__cb_raw_;
-extern const XERdescriptor_t PCUIF__data__cnf__dt_lqual__cb_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__data__cnf__dt_lqual__cb_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_lqual__cb_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_lqual__cb_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__data__cnf__dt_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__data__cnf__dt_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__data__cnf__dt_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_spare_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_spare_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_spare_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_spare_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_spare_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_fn_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_fn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_fn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_fn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_fn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_arfcn_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_arfcn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_arfcn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_trx__nr_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_trx__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_trx__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_trx__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_trx__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_ts__nr_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_ts__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_ts__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_ts__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_ts__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_block__nr_raw_;
-extern const XERdescriptor_t PCUIF__rts__req_block__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rts__req_block__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_block__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_block__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rts__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__rts__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rts__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__BurstType_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__BurstType_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__BurstType_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_ra_raw_;
-extern const XERdescriptor_t PCUIF__rach__ind_ra_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rach__ind_ra_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_ra_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_ra_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_qta_raw_;
-extern const XERdescriptor_t PCUIF__rach__ind_qta_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rach__ind_qta_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_qta_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_qta_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_fn_raw_;
-extern const XERdescriptor_t PCUIF__rach__ind_fn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rach__ind_fn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_fn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_fn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_arfcn_raw_;
-extern const XERdescriptor_t PCUIF__rach__ind_arfcn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rach__ind_arfcn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_is__11bit_raw_;
-extern const XERdescriptor_t PCUIF__rach__ind_is__11bit_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__rach__ind_is__11bit_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_is__11bit_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_is__11bit_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_burst__type_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_burst__type_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_burst__type_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__rach__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__rach__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__rach__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_arfcn_raw_;
-extern const XERdescriptor_t PCUIF__InfoTrx_arfcn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__InfoTrx_arfcn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_arfcn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_arfcn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_pdch__mask_raw_;
-extern const XERdescriptor_t PCUIF__InfoTrx_pdch__mask_xer_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_pdch__mask_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_pdch__mask_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_spare_raw_;
-extern const XERdescriptor_t PCUIF__InfoTrx_spare_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__InfoTrx_spare_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_spare_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_spare_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_tsc_raw_;
-extern const XERdescriptor_t PCUIF__InfoTrx_tsc_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__InfoTrx_tsc_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_tsc_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_tsc_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_hLayer1_raw_;
-extern const XERdescriptor_t PCUIF__InfoTrx_hLayer1_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__InfoTrx_hLayer1_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_hLayer1_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_hLayer1_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrx_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrx_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrx_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrxs_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrxs_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__InfoTrxs_0_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__InfoTrxs_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrxs_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__InfoTrxs_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_version_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_version_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_version_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_version_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_version_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_flags_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_flags_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_flags_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_trx_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_trx_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_trx_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_bsic_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_bsic_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_bsic_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_bsic_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_bsic_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_mcc_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_mcc_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_mcc_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_mcc_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_mcc_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_mnc_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_mnc_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_mnc_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_mnc_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_mnc_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_mnc__3__digits_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_mnc__3__digits_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_mnc__3__digits_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_mnc__3__digits_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_mnc__3__digits_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_lac_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_lac_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_lac_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_lac_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_lac_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_rac_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_rac_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_rac_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_rac_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_rac_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_nsei_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_nsei_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_nsei_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_nsei_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_nsei_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_nse__timer_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_nse__timer_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_nse__timer_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_nse__timer_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_nse__timer_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_nse__timer_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_nse__timer_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_nse__timer_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__timer_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_cell__timer_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__timer_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_cell__timer_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_cell__timer_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_cell__timer_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__timer_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__timer_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_cell__id_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_cell__id_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_cell__id_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_cell__id_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_cell__id_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_repeat__time_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_repeat__time_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_repeat__time_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_repeat__time_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_repeat__time_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_repeat__count_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_repeat__count_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_repeat__count_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_repeat__count_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_repeat__count_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_bvci_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_bvci_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_bvci_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_bvci_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_bvci_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3142_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3142_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3142_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3142_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3142_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3169_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3169_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3169_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3169_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3169_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3191_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3191_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3191_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3191_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3191_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3193__10ms_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3193__10ms_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3193__10ms_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3193__10ms_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3193__10ms_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3195_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3195_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3195_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3195_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3195_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3101_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3101_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3101_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3101_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3101_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3103_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3103_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3103_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3103_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3103_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_t3105_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_t3105_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_t3105_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_t3105_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_t3105_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_cv__countdown_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_cv__countdown_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_cv__countdown_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_cv__countdown_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_cv__countdown_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_dl__tbf__ext_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_dl__tbf__ext_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_dl__tbf__ext_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_dl__tbf__ext_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_dl__tbf__ext_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_ul__tbf__ext_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_ul__tbf__ext_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_ul__tbf__ext_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_ul__tbf__ext_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_ul__tbf__ext_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_initial__cs_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_initial__cs_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_initial__cs_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_initial__cs_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_initial__cs_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_initial__mcs_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_initial__mcs_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_initial__mcs_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_initial__mcs_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_initial__mcs_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_nsvci_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_nsvci_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_nsvci_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_nsvci_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_nsvci_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_nsvci_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_nsvci_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_nsvci_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_local__pprt_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_local__pprt_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_local__pprt_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_local__pprt_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_local__pprt_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_local__pprt_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_local__pprt_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_local__pprt_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__port_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_remote__port_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__port_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_remote__port_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_remote__port_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_remote__port_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__port_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__port_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__ip_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_remote__ip_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_remote__ip_0_raw_;
-extern const XERdescriptor_t PCUIF__info__ind_remote__ip_0_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__info__ind_remote__ip_0_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_remote__ip_0_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__ip_0_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_remote__ip_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__info__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__info__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__info__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__act__req_is__activate_raw_;
-extern const XERdescriptor_t PCUIF__act__req_is__activate_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__act__req_is__activate_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__act__req_is__activate_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__act__req_is__activate_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__act__req_trx__nr_raw_;
-extern const XERdescriptor_t PCUIF__act__req_trx__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__act__req_trx__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__act__req_trx__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__act__req_trx__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__act__req_ts__nr_raw_;
-extern const XERdescriptor_t PCUIF__act__req_ts__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__act__req_ts__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__act__req_ts__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__act__req_ts__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__act__req_spare_raw_;
-extern const XERdescriptor_t PCUIF__act__req_spare_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__act__req_spare_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__act__req_spare_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__act__req_spare_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__act__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__act__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__act__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__time__ind_fn_raw_;
-extern const XERdescriptor_t PCUIF__time__ind_fn_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__time__ind_fn_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__time__ind_fn_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__time__ind_fn_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__time__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__time__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__time__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__pag__req_sapi_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__pag__req_sapi_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__pag__req_sapi_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__pag__req_chan__needed_raw_;
-extern const XERdescriptor_t PCUIF__pag__req_chan__needed_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__pag__req_chan__needed_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__pag__req_chan__needed_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__pag__req_chan__needed_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__pag__req_identity__lv_raw_;
-extern const XERdescriptor_t PCUIF__pag__req_identity__lv_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__pag__req_identity__lv_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__pag__req_identity__lv_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__pag__req_identity__lv_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__pag__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__pag__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__pag__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__susp__req_tlli_raw_;
-extern const XERdescriptor_t PCUIF__susp__req_tlli_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__susp__req_tlli_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__susp__req_tlli_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__susp__req_tlli_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__susp__req_ra__id_raw_;
-extern const XERdescriptor_t PCUIF__susp__req_ra__id_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__susp__req_ra__id_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__susp__req_ra__id_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__susp__req_ra__id_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__susp__req_cause_raw_;
-extern const XERdescriptor_t PCUIF__susp__req_cause_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__susp__req_cause_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__susp__req_cause_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__susp__req_cause_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__susp__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__susp__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__susp__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_descr_;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__cnf_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__cnf_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__cnf_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__cnf__dt_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__cnf__dt_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__cnf__dt_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_data__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_data__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_data__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_susp__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_susp__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_susp__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_rts__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_rts__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_rts__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_rach__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_rach__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_rach__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_txt__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_txt__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_txt__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_info__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_info__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_info__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_act__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_act__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_act__req_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_time__ind_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_time__ind_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_time__ind_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__MsgUnion_pag__req_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__MsgUnion_pag__req_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_pag__req_default_coding;
-extern UNIVERSAL_CHARSTRING PCUIF__MsgUnion_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Message_msg__type_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__Message_msg__type_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Message_msg__type_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Message_bts__nr_raw_;
-extern const XERdescriptor_t PCUIF__Message_bts__nr_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Message_bts__nr_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Message_bts__nr_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Message_bts__nr_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Message_spare_raw_;
-extern const XERdescriptor_t PCUIF__Message_spare_xer_;
-extern const TTCN_OERdescriptor_t PCUIF__Message_spare_oer_;
-extern const TTCN_Typedescriptor_t PCUIF__Message_spare_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Message_spare_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Message_u_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__Message_u_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Message_u_default_coding;
-extern const TTCN_RAWdescriptor_t PCUIF__Message_raw_;
-extern const TTCN_Typedescriptor_t PCUIF__Message_descr_;
-extern UNIVERSAL_CHARSTRING PCUIF__Message_default_coding;
-extern const INTEGER_template& tr__PCUIF__RTS__REQ_bts__nr_defval;
-extern const INTEGER_template& tr__PCUIF__RTS__REQ_trx__nr_defval;
-extern const INTEGER_template& tr__PCUIF__RTS__REQ_ts__nr_defval;
-extern const PCUIF__Sapi_template& tr__PCUIF__RTS__REQ_sapi_defval;
-extern const INTEGER_template& tr__PCUIF__RTS__REQ_fn_defval;
-extern const INTEGER_template& tr__PCUIF__RTS__REQ_block__nr_defval;
-extern const CHARSTRING_template& tr__PCUIF__TXT__IND_text_defval;
-extern const INTEGER_template& ts__PCUIF__DATA__IND_rssi_defval;
-extern const INTEGER_template& ts__PCUIF__DATA__IND_ber10k_defval;
-extern const INTEGER_template& ts__PCUIF__DATA__IND_ta__offs__qbits_defval;
-extern const INTEGER_template& ts__PCUIF__DATA__IND_lqual__cb_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__IND_bts__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__IND_trx__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__IND_ts__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__IND_block__nr_defval;
-extern const PCUIF__Sapi_template& tr__PCUIF__DATA__IND_sapi_defval;
-extern const OCTETSTRING_template& tr__PCUIF__DATA__IND_data_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__REQ_block__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__REQ_fn_defval;
-extern const PCUIF__Sapi_template& tr__PCUIF__DATA__REQ_sapi_defval;
-extern const OCTETSTRING_template& tr__PCUIF__DATA__REQ_data_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__CNF_bts__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__CNF_trx__nr_defval;
-extern const INTEGER_template& tr__PCUIF__DATA__CNF_ts__nr_defval;
-extern const PCUIF__Sapi_template& tr__PCUIF__DATA__CNF_sapi_defval;
-extern const OCTETSTRING_template& tr__PCUIF__DATA__CNF_data_defval;
-extern const INTEGER_template& ts__PCUIF__RACH__IND_qta_defval;
-extern const INTEGER_template& tr__PCUIF__RACH__IND_bts__nr_defval;
-extern const INTEGER_template& tr__PCUIF__RACH__IND_ra_defval;
-extern const INTEGER_template& tr__PCUIF__RACH__IND_is__11bit_defval;
-extern const PCUIF__BurstType_template& tr__PCUIF__RACH__IND_burst__type_defval;
-extern const INTEGER_template& tr__PCUIF__RACH__IND_fn_defval;
-extern const INTEGER_template& tr__PCUIF__PAG__REQ_bts__nr_defval;
-extern const OCTETSTRING_template& tr__PCUIF__PAG__REQ_id__lv_defval;
-extern const INTEGER_template& tr__PCUIF__PAG__REQ_chan__needed_defval;
-extern const PCUIF__Sapi_template& tr__PCUIF__PAG__REQ_sapi_defval;
-extern const PCUIF__Flags& c__PCUIF__Flags__default;
-extern const INTEGER_template& ts__PCUIF__InfoTrx_arfcn_defval;
-extern const BITSTRING_template& ts__PCUIF__InfoTrx_pdch__mask_defval;
-extern const OCTETSTRING& ts__PCUIF__InfoTrx_tsc_defval;
-extern const PCUIF__InfoTrx_template& ts__PCUIF__InfoTrxNULL;
-extern const PCUIF__InfoTrxs_template& ts__PCUIF__InfoTrxs__def;
-extern const PCUIF__Flags_template& ts__PCUIF__INFO__IND_flags_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_mcc_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_mnc_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_lac_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_rac_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_cell__id_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_bsic_defval;
-extern const PCUIF__InfoTrxs_template& ts__PCUIF__INFO__IND_trx_defval;
-extern const INTEGER_template& ts__PCUIF__INFO__IND_version_defval;
-extern const INTEGER_template& tr__PCUIF__INFO__IND_bts__nr_defval;
-extern const PCUIF__Flags_template& tr__PCUIF__INFO__IND_flags_defval;
-extern const INTEGER_template& tr__PCUIF__INFO__IND_version_defval;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-#endif
diff --git a/titan/PCUIF_Types.ttcn b/titan/PCUIF_Types.ttcn
new file mode 100644
index 0000000..750e0b4
--- /dev/null
+++ b/titan/PCUIF_Types.ttcn
@@ -0,0 +1,805 @@
+module PCUIF_Types {
+
+import from General_Types all;
+import from Osmocom_Types all;
+
+/* Osmocom PCU Interface Types, as per osmo-pcu/include/osmocom/pcu/pcuif_proto.h */
+
+const charstring PCU_SOCK_DEFAULT := "/tmp/pcu_bts";
+const uint32_t PCU_IF_VERSION := 9;
+
+type enumerated PCUIF_MsgType {
+ PCU_IF_MSG_DATA_REQ ('00'O),
+ PCU_IF_MSG_DATA_CNF ('01'O),
+ PCU_IF_MSG_DATA_IND ('02'O),
+ PCU_IF_MSG_SUSP_REQ ('03'O),
+ PCU_IF_MSG_RTS_REQ ('10'O),
+ PCU_IF_MSG_DATA_CNF_DT ('11'O),
+ PCU_IF_MSG_RACH_IND ('22'O),
+ PCU_IF_MSG_INFO_IND ('32'O),
+ PCU_IF_MSG_ACT_REQ ('40'O),
+ PCU_IF_MSG_TIME_IND ('52'O),
+ PCU_IF_MSG_PAG_REQ ('60'O),
+ PCU_IF_MSG_TXT_IND ('70'O)
+} with { variant "FIELDLENGTH(8)" };
+
+type enumerated PCUIF_Sapi {
+ PCU_IF_SAPI_UNKNOWN ('00'O),
+ PCU_IF_SAPI_RACH ('01'O),
+ PCU_IF_SAPI_AGCH ('02'O),
+ PCU_IF_SAPI_PCH ('03'O),
+ PCU_IF_SAPI_BCCH ('04'O),
+ PCU_IF_SAPI_PDTCH ('05'O),
+ PCU_IF_SAPI_PRACH ('06'O),
+ PCU_IF_SAPI_PTCCH ('07'O),
+ PCU_IF_SAPI_AGCH_DT ('08'O)
+} with { variant "FIELDLENGTH(8)" };
+
+type record PCUIF_Flags {
+ boolean bts_active,
+ boolean sysmo_direct_dsp,
+ BIT14 spare,
+ boolean cs1,
+ boolean cs2,
+ boolean cs3,
+ boolean cs4,
+ boolean mcs1,
+ boolean mcs2,
+ boolean mcs3,
+ boolean mcs4,
+ boolean mcs5,
+ boolean mcs6,
+ boolean mcs7,
+ boolean mcs8,
+ boolean mcs9,
+ BIT3 spare2
+} with { variant "" };
+
+type enumerated PCUIF_TextType {
+ PCU_VERSION (0),
+ PCU_OML_ALERT (1)
+} with { variant "FIELDLENGTH(8)" };
+
+type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(128)" };
+
+type record PCUIF_txt_ind {
+ PCUIF_TextType txt_type,
+ PCUIF_Text text
+} with { variant "" };
+
+type record PCUIF_data {
+ PCUIF_Sapi sapi,
+ uint8_t len,
+ octetstring data length(162),
+ uint32_t fn,
+ uint16_t arfcn,
+ uint8_t trx_nr,
+ uint8_t ts_nr,
+ uint8_t block_nr,
+ int8_t rssi,
+ uint16_t ber10k,
+ int16_t ta_offs_qbits,
+ int16_t lqual_cb
+} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" };
+
+type record PCUIF_data_cnf_dt {
+ PCUIF_Sapi sapi,
+ OCT4 tlli,
+ uint32_t fn,
+ uint16_t arfcn,
+ uint8_t trx_nr,
+ uint8_t ts_nr,
+ uint8_t block_nr,
+ int8_t rssi,
+ uint16_t ber10k,
+ int16_t ta_offs_qbits,
+ int16_t lqual_cb
+} with { variant "" };
+
+type record PCUIF_rts_req {
+ PCUIF_Sapi sapi,
+ OCT3 spare,
+ uint32_t fn,
+ uint16_t arfcn,
+ uint8_t trx_nr,
+ uint8_t ts_nr,
+ uint8_t block_nr
+} with { variant "" };
+
+type enumerated PCUIF_BurstType {
+ BURST_TYPE_NONE (0),
+ BURST_TYPE_0 (1),
+ BURST_TYPE_1 (2),
+ BURST_TYPE_2 (3)
+} with { variant "FIELDLENGTH(8)" };
+
+type record PCUIF_rach_ind {
+ PCUIF_Sapi sapi,
+ uint16_t ra,
+ int16_t qta,
+ uint32_t fn,
+ uint16_t arfcn,
+ uint8_t is_11bit,
+ PCUIF_BurstType burst_type
+} with { variant "" };
+
+type record PCUIF_InfoTrx {
+ uint16_t arfcn,
+ BIT8 pdch_mask,
+ OCT1 spare,
+ OCT8 tsc,
+ uint32_t hLayer1
+} with { variant (pdch_mask) "BITORDER(msb)" };
+type record length(8) of PCUIF_InfoTrx PCUIF_InfoTrxs;
+
+type record PCUIF_info_ind {
+ uint32_t version,
+ PCUIF_Flags flags,
+ PCUIF_InfoTrxs trx,
+ uint8_t bsic,
+
+ uint16_t mcc,
+ uint16_t mnc,
+ uint8_t mnc_3_digits,
+ uint16_t lac,
+ uint16_t rac,
+
+ uint16_t nsei,
+ record length(7) of uint8_t nse_timer,
+ record length(11) of uint8_t cell_timer,
+
+ uint16_t cell_id,
+ uint16_t repeat_time,
+ uint8_t repeat_count,
+ uint16_t bvci,
+ uint8_t t3142,
+ uint8_t t3169,
+ uint8_t t3191,
+ uint8_t t3193_10ms,
+ uint8_t t3195,
+ uint8_t t3101,
+ uint8_t t3103,
+ uint8_t t3105,
+ uint8_t cv_countdown,
+ uint16_t dl_tbf_ext,
+ uint16_t ul_tbf_ext,
+ uint8_t initial_cs,
+ uint8_t initial_mcs,
+
+ record length(2) of uint16_t nsvci,
+ record length(2) of uint16_t local_pprt,
+ record length(2) of uint16_t remote_port,
+ record length(2) of OCT4 remote_ip
+} with { variant "" }
+
+type record PCUIF_act_req {
+ uint8_t is_activate,
+ uint8_t trx_nr,
+ uint8_t ts_nr,
+ OCT1 spare
+} with { variant "" };
+
+type record PCUIF_time_ind {
+ uint32_t fn
+} with { variant "" };
+
+type record PCUIF_pag_req {
+ PCUIF_Sapi sapi,
+ uint8_t chan_needed,
+ OCT9 identity_lv
+} with { variant "" };
+
+type record PCUIF_susp_req {
+ OCT4 tlli,
+ OCT6 ra_id,
+ uint8_t cause
+} with { variant "" };
+
+
+type union PCUIF_MsgUnion {
+ PCUIF_data data_req,
+ PCUIF_data data_cnf,
+ PCUIF_data_cnf_dt data_cnf_dt,
+ PCUIF_data data_ind,
+ PCUIF_susp_req susp_req,
+ PCUIF_rts_req rts_req,
+ PCUIF_rach_ind rach_ind,
+ PCUIF_txt_ind txt_ind,
+ PCUIF_info_ind info_ind,
+ PCUIF_act_req act_req,
+ PCUIF_time_ind time_ind,
+ PCUIF_pag_req pag_req
+} with { variant "" };
+
+type record PCUIF_Message {
+ PCUIF_MsgType msg_type,
+ uint8_t bts_nr,
+ OCT2 spare,
+ PCUIF_MsgUnion u
+} with { variant (u) "CROSSTAG(
+ data_req, msg_type = PCU_IF_MSG_DATA_REQ;
+ data_cnf, msg_type = PCU_IF_MSG_DATA_CNF;
+ data_cnf_dt, msg_type = PCU_IF_MSG_DATA_CNF_DT;
+ data_ind, msg_type = PCU_IF_MSG_DATA_IND;
+ susp_req, msg_type = PCU_IF_MSG_SUSP_REQ;
+ rts_req, msg_type = PCU_IF_MSG_RTS_REQ;
+ rach_ind, msg_type = PCU_IF_MSG_RACH_IND;
+ txt_ind, msg_type = PCU_IF_MSG_TXT_IND;
+ info_ind, msg_type = PCU_IF_MSG_INFO_IND;
+ act_req, msg_type = PCU_IF_MSG_ACT_REQ;
+ time_ind, msg_type = PCU_IF_MSG_TIME_IND;
+ pag_req, msg_type = PCU_IF_MSG_PAG_REQ)"
+ variant "PADDING(1696)" /* 212 * 8 */
+};
+
+external function enc_PCUIF_Message(in PCUIF_Message pdu) return octetstring
+ with { extension "prototype(convert) encode(RAW)" };
+external function dec_PCUIF_Message(in octetstring stream) return PCUIF_Message
+ with { extension "prototype(convert) decode(RAW)" };
+
+
+template (value) PCUIF_Message ts_PCUIF_RTS_REQ(template (value) uint8_t bts_nr,
+ template (value) uint8_t trx_nr,
+ template (value) uint8_t ts_nr,
+ template (value) PCUIF_Sapi sapi,
+ template (value) uint32_t fn,
+ template (value) uint16_t arfcn,
+ template (value) uint8_t block_nr
+ ) := {
+ msg_type := PCU_IF_MSG_RTS_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ rts_req := {
+ sapi := sapi,
+ spare := '000000'O,
+ fn := fn,
+ arfcn := arfcn,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_RTS_REQ(template uint8_t bts_nr := ?,
+ template uint8_t trx_nr := ?,
+ template uint8_t ts_nr := ?,
+ template PCUIF_Sapi sapi := ?,
+ template uint32_t fn := ?,
+ template uint8_t block_nr := ?
+ ) := {
+ msg_type := PCU_IF_MSG_RTS_REQ,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ rts_req := {
+ sapi := sapi,
+ spare := ?,
+ fn := fn,
+ arfcn := ?,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_TXT_IND(uint8_t bts_nr, PCUIF_TextType tt, charstring text) := {
+ msg_type := PCU_IF_MSG_TXT_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ txt_ind := {
+ txt_type := tt,
+ text := text
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_TXT_IND(template uint8_t bts_nr, template PCUIF_TextType tt,
+ template charstring text := ?) := {
+ msg_type := PCU_IF_MSG_TXT_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ txt_ind := {
+ txt_type := tt,
+ text := text
+ }
+ }
+}
+
+
+
+template (value) PCUIF_Message ts_PCUIF_ACT_REQ(uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr) := {
+ msg_type := PCU_IF_MSG_ACT_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ act_req := {
+ is_activate := 1,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ spare := '00'O
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_ACT_REQ(template uint8_t bts_nr, template uint8_t trx_nr,
+ template uint8_t ts_nr) := {
+ msg_type := PCU_IF_MSG_ACT_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ act_req := {
+ is_activate := 1,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ spare := '00'O
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_DEACT_REQ(uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr) := {
+ msg_type := PCU_IF_MSG_ACT_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ act_req := {
+ is_activate := 0,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ spare := '00'O
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_DEACT_REQ(template uint8_t bts_nr, template uint8_t trx_nr,
+ template uint8_t ts_nr) := {
+ msg_type := PCU_IF_MSG_ACT_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ act_req := {
+ is_activate := 0,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ spare := '00'O
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_DATA_IND(template (value) uint8_t bts_nr,
+ template (value) uint8_t trx_nr,
+ template (value) uint8_t ts_nr,
+ template (value) uint8_t block_nr,
+ template (value) PCUIF_Sapi sapi,
+ template (value) octetstring data,
+ template (value) uint32_t fn,
+ template (value) uint16_t arfcn,
+ template (value) int8_t rssi := -80,
+ template (value) uint16_t ber10k := 0,
+ template (value) int16_t ta_offs_qbits := 0,
+ template (value) uint16_t lqual_cb := 10) := {
+ msg_type := PCU_IF_MSG_DATA_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ data_ind := {
+ sapi := sapi,
+ len := lengthof(valueof(data)),
+ data := data,
+ fn := fn,
+ arfcn := arfcn,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr,
+ rssi := rssi,
+ ber10k := ber10k,
+ ta_offs_qbits := ta_offs_qbits,
+ lqual_cb := lqual_cb
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_DATA_IND(template uint8_t bts_nr := ?,
+ template uint8_t trx_nr := ?,
+ template uint8_t ts_nr := ?,
+ template uint8_t block_nr := ?,
+ template PCUIF_Sapi sapi := ?,
+ template octetstring data := ?) := {
+ msg_type := PCU_IF_MSG_DATA_IND,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ data_ind := {
+ sapi := sapi,
+ len := ?,
+ data := data,
+ fn := ?,
+ arfcn := ?,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr,
+ rssi := ?,
+ ber10k := ?,
+ ta_offs_qbits := ?,
+ lqual_cb := ?
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_DATA_REQ(uint8_t bts_nr, uint8_t trx_nr,
+ uint8_t ts_nr, uint8_t block_nr,
+ uint32_t fn, PCUIF_Sapi sapi,
+ octetstring data) := {
+ msg_type := PCU_IF_MSG_DATA_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ data_req := {
+ sapi := sapi,
+ len := lengthof(data),
+ data := data,
+ fn := fn,
+ arfcn := 0, /* unused in BTS */
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr,
+ /* measurement parameters below unused on Tx */
+ rssi := 0,
+ ber10k := 0,
+ ta_offs_qbits := 0,
+ lqual_cb := 0
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_DATA_REQ(template uint8_t bts_nr,
+ template uint8_t trx_nr,
+ template uint8_t ts_nr,
+ template uint8_t block_nr := ?,
+ template uint32_t fn := ?,
+ template PCUIF_Sapi sapi := ?,
+ template octetstring data := ?) := {
+ msg_type := PCU_IF_MSG_DATA_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ data_req := {
+ sapi := sapi,
+ len := ?,
+ data := data,
+ fn := fn,
+ arfcn := ?, /* unused in BTS */
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr,
+ /* measurement parameters below unused on Tx */
+ rssi := 0,
+ ber10k := 0,
+ ta_offs_qbits := 0,
+ lqual_cb := 0
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_DATA_CNF(template (value) uint8_t bts_nr,
+ template (value) uint8_t trx_nr,
+ template (value) uint8_t ts_nr,
+ template (value) uint8_t block_nr,
+ template (value) uint32_t fn,
+ template (value) uint16_t arfcn,
+ template (value) PCUIF_Sapi sapi,
+ template (value) octetstring data) := {
+ msg_type := PCU_IF_MSG_DATA_CNF,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ data_cnf := {
+ sapi := sapi,
+ len := 0, /* overwritten */
+ data := data,
+ fn := fn,
+ arfcn := arfcn,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := block_nr,
+ rssi := 0,
+ ber10k := 0,
+ ta_offs_qbits := 0,
+ lqual_cb := 0
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_DATA_CNF(template uint8_t bts_nr := ?,
+ template uint8_t trx_nr := ?,
+ template uint8_t ts_nr := ?,
+ template PCUIF_Sapi sapi := ?,
+ template octetstring data := ?) := {
+ msg_type := PCU_IF_MSG_DATA_CNF,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ data_cnf := {
+ sapi := sapi,
+ len := ?,
+ data := data,
+ fn := ?,
+ arfcn := ?,
+ trx_nr := trx_nr,
+ ts_nr := ts_nr,
+ block_nr := ?,
+ rssi := ?,
+ ber10k := ?,
+ ta_offs_qbits := ?,
+ lqual_cb := ?
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_RACH_IND(template (value) uint8_t bts_nr,
+ template (value) uint16_t ra,
+ template (value) uint8_t is_11bit,
+ template (value) PCUIF_BurstType burst_type,
+ template (value) uint32_t fn,
+ template (value) uint16_t arfcn,
+ template (value) int16_t qta := 0
+) := {
+ msg_type := PCU_IF_MSG_RACH_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ rach_ind := {
+ sapi := PCU_IF_SAPI_RACH,
+ ra := ra,
+ qta := qta,
+ fn := fn,
+ arfcn := arfcn,
+ is_11bit := is_11bit,
+ burst_type := burst_type
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_RACH_IND(template uint8_t bts_nr := ?,
+ template uint16_t ra := ?,
+ template uint8_t is_11bit := ?,
+ template PCUIF_BurstType burst_type := ?,
+ template uint32_t fn := ?) := {
+ msg_type := PCU_IF_MSG_RACH_IND,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ rach_ind := {
+ sapi := PCU_IF_SAPI_RACH,
+ ra := ra,
+ qta := ?,
+ fn := fn,
+ arfcn := ?,
+ is_11bit := is_11bit,
+ burst_type := burst_type
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_PAG_REQ(template (value) uint8_t bts_nr,
+ template (value) OCT9 id_lv,
+ template (value) uint8_t chan_needed,
+ template (value) PCUIF_Sapi sapi) := {
+ msg_type := PCU_IF_MSG_PAG_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ pag_req := {
+ sapi := sapi,
+ chan_needed := chan_needed,
+ identity_lv := id_lv
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_PAG_REQ(template uint8_t bts_nr := ?,
+ template OCT9 id_lv := ?,
+ template uint8_t chan_needed := ?,
+ template PCUIF_Sapi sapi := ?) := {
+ msg_type := PCU_IF_MSG_PAG_REQ,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ pag_req := {
+ sapi := ?,
+ chan_needed := chan_needed,
+ identity_lv := id_lv
+ }
+ }
+}
+
+const PCUIF_Flags c_PCUIF_Flags_default := {
+ bts_active := true,
+ sysmo_direct_dsp := false,
+ spare := '00000000000000'B,
+ cs1 := true,
+ cs2 := true,
+ cs3 := true,
+ cs4 := true,
+ mcs1 := true,
+ mcs2 := true,
+ mcs3 := true,
+ mcs4 := true,
+ mcs5 := true,
+ mcs6 := true,
+ mcs7 := true,
+ mcs8 := true,
+ mcs9 := true,
+ spare2 := '000'B
+};
+
+template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrx(template (value) uint16_t arfcn := 871,
+ template (value) BIT8 pdch_mask := '00000001'B,
+ OCT1 tsc := '07'O) := {
+ arfcn := arfcn,
+ pdch_mask := pdch_mask,
+ spare := '00'O,
+ tsc := tsc & tsc & tsc & tsc & tsc & tsc & tsc & tsc,
+ hLayer1 := 0
+}
+
+template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrxNULL := ts_PCUIF_InfoTrx(0, '00000000'B, '00'O);
+
+template (value) PCUIF_InfoTrxs ts_PCUIF_InfoTrxs_def := {
+ ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL,
+ ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL };
+
+
+template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr,
+ template (value) uint16_t nsei,
+ template (value) uint16_t nsvci,
+ template (value) uint16_t bvci,
+ template (value) uint16_t local_port,
+ template (value) uint16_t remote_port,
+ template (value) OCT4 remote_ip,
+ template (value) PCUIF_Flags flags := c_PCUIF_Flags_default,
+ template (value) uint16_t mcc := 262,
+ template (value) uint16_t mnc := 42,
+ template (value) uint16_t lac := 13135,
+ template (value) uint8_t rac := 0,
+ template (value) uint16_t cell_id := 20960,
+ template (value) uint8_t bsic := 7,
+ template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def,
+ template (value) uint32_t version := PCU_IF_VERSION) := {
+ msg_type := PCU_IF_MSG_INFO_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ info_ind := {
+ version := version,
+ flags := flags,
+ trx := trx,
+ bsic := bsic,
+ mcc := mcc,
+ mnc := mnc,
+ mnc_3_digits := 0,
+ lac := lac,
+ rac := rac,
+ nsei := nsei,
+ nse_timer := { 3, 3, 3, 3, 30, 3, 10 },
+ cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 },
+ cell_id := cell_id,
+ repeat_time := 5 * 50,
+ repeat_count := 3,
+ bvci := bvci,
+ t3142 := 20,
+ t3169 := 5,
+ t3191 := 5,
+ t3193_10ms := 160,
+ t3195 := 5,
+ t3101 := 10,
+ t3103 := 4,
+ t3105 := 8,
+ cv_countdown := 15,
+ dl_tbf_ext := 250 * 10, /* ms */
+ ul_tbf_ext := 250 * 10, /* ms */
+ initial_cs := 2,
+ initial_mcs := 6,
+ nsvci := { nsvci, 0 },
+ local_pprt := { local_port, 0 },
+ remote_port := { remote_port, 0 },
+ remote_ip := { remote_ip , '00000000'O }
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_INFO_IND(template uint8_t bts_nr := ?,
+ template PCUIF_Flags flags := ?,
+ template uint32_t version := PCU_IF_VERSION) := {
+ msg_type := PCU_IF_MSG_INFO_IND,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ info_ind := {
+ version := version,
+ flags := flags,
+ trx := ?,
+ bsic := ?,
+ mcc := ?,
+ mnc :=?,
+ mnc_3_digits := ?,
+ lac := ?,
+ rac := ?,
+ nsei := ?,
+ nse_timer := ?,
+ cell_timer := ?,
+ cell_id := ?,
+ repeat_time := ?,
+ repeat_count := ?,
+ bvci := ?,
+ t3142 := ?,
+ t3169 := ?,
+ t3191 := ?,
+ t3193_10ms := ?,
+ t3195 := ?,
+ t3101 := ?,
+ t3103 := ?,
+ t3105 := ?,
+ cv_countdown := ?,
+ dl_tbf_ext := ?,
+ ul_tbf_ext := ?,
+ initial_cs := ?,
+ initial_mcs := ?,
+ nsvci := ?,
+ local_pprt := ?,
+ remote_port := ?,
+ remote_ip := ?
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_TIME_IND(template (value) uint8_t bts_nr,
+ template (value) uint32_t fn) := {
+ msg_type := PCU_IF_MSG_TIME_IND,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ time_ind := {
+ fn := fn
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_TIME_IND(template uint8_t bts_nr,
+ template uint32_t fn) := {
+ msg_type := PCU_IF_MSG_TIME_IND,
+ bts_nr := bts_nr,
+ spare := ?,
+ u := {
+ time_ind := {
+ fn := fn
+ }
+ }
+}
+
+template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr,
+ template (value) OCT4 tlli,
+ template (value) OCT6 ra_id,
+ template (value) uint8_t cause) := {
+ msg_type := PCU_IF_MSG_SUSP_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ susp_req := {
+ tlli := tlli,
+ ra_id := ra_id,
+ cause := cause
+ }
+ }
+}
+template PCUIF_Message tr_PCUIF_SUSP_REQ(template uint8_t bts_nr,
+ template OCT4 tlli,
+ template OCT6 ra_id,
+ template uint8_t cause) := {
+ msg_type := PCU_IF_MSG_SUSP_REQ,
+ bts_nr := bts_nr,
+ spare := '0000'O,
+ u := {
+ susp_req := {
+ tlli := tlli,
+ ra_id := ra_id,
+ cause := cause
+ }
+ }
+}
+
+
+} with { encode "RAW" variant "BYTEORDER(first)" };
personal git repositories of Harald Welte. Your mileage may vary