Debugger - Stage 2 (artf511247)
[deliverable/titan.core.git] / core / ASN_External.cc
index ff6e0d5d89b87d32dcc702aa7ee52bb8931be470..19e189520d06f05da8803a39aa97cb0748a19955 100644 (file)
@@ -1,10 +1,24 @@
-///////////////////////////////////////////////////////////////////////////////
-// Copyright (c) 2000-2015 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
-///////////////////////////////////////////////////////////////////////////////
+/******************************************************************************
+ * Copyright (c) 2000-2016 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
+ *   Beres, Szabolcs
+ *   Delic, Adam
+ *   Forstner, Matyas
+ *   Kovacs, Ferenc
+ *   Raduly, Csaba
+ *   Szabados, Kristof
+ *   Szabo, Bence Janos
+ *   Szabo, Janos Zoltan – initial implementation
+ *   Szalai, Gabor
+ *
+ ******************************************************************************/
 #include <string.h>
 
 #include "ASN_External.hh"
@@ -105,7 +119,7 @@ namespace { /* anonymous namespace */
     int XER_encode(const XERdescriptor_t& p_td,
                    TTCN_Buffer& p_buf, unsigned int flavor, int indent, embed_values_enc_struct_t*) const;
     int XER_decode(const XERdescriptor_t& p_td, XmlReaderWrap& reader,
-                   unsigned int flavor, embed_values_dec_struct_t*);
+                   unsigned int flavor, unsigned int flavor2, embed_values_dec_struct_t*);
   private:
     boolean BER_decode_set_selection(const ASN_BER_TLV_t& p_tlv);
   public:
@@ -163,7 +177,7 @@ namespace { /* anonymous namespace */
     int XER_encode(const XERdescriptor_t& p_td,
                    TTCN_Buffer& p_buf, unsigned int flavor, int indent, embed_values_enc_struct_t*) const;
     int XER_decode(const XERdescriptor_t& p_td, XmlReaderWrap& reader,
-                   unsigned int flavor, embed_values_dec_struct_t*);
+                   unsigned int flavor, unsigned int flavor2, embed_values_dec_struct_t*);
   };
 
   /** Transform the information from the visible format to the encoding format
@@ -440,7 +454,7 @@ namespace { /* anonymous namespace */
   }
 
   int EXTERNALtransfer_encoding::XER_decode(const XERdescriptor_t& p_td,
-    XmlReaderWrap& reader, unsigned int flavor, embed_values_dec_struct_t*)
+    XmlReaderWrap& reader, unsigned int flavor, unsigned int flavor2, embed_values_dec_struct_t*)
   {
     int exer  = is_exer(flavor);
     int  success = reader.Ok(), type, depth = -1;
@@ -463,15 +477,15 @@ namespace { /* anonymous namespace */
 
     switch (*name) {
     case 's': // single-ASN1-type
-      single__ASN1__type().XER_decode(EXTERNAL_encoding_singleASN_xer_, reader, flavor, 0);
+      single__ASN1__type().XER_decode(EXTERNAL_encoding_singleASN_xer_, reader, flavor, flavor2, 0);
       break;
 
     case 'o': // octet-aligned
-      octet__aligned().XER_decode(EXTERNAL_encoding_octet_aligned_xer_, reader, flavor, 0);
+      octet__aligned().XER_decode(EXTERNAL_encoding_octet_aligned_xer_, reader, flavor, flavor2, 0);
       break;
 
     case 'a': // arbitrary
-      arbitrary().XER_decode(EXTERNAL_encoding_arbitrary_xer_, reader, flavor, 0);
+      arbitrary().XER_decode(EXTERNAL_encoding_arbitrary_xer_, reader, flavor, flavor2, 0);
       break;
 
     default:
@@ -582,7 +596,7 @@ namespace { /* anonymous namespace */
   }
 
   int EXTERNALtransfer::XER_decode(const XERdescriptor_t& p_td, XmlReaderWrap& reader,
-                                   unsigned int flavor, embed_values_dec_struct_t*)
+                                   unsigned int flavor, unsigned int flavor2, embed_values_dec_struct_t*)
   {
     int exer  = is_exer(flavor);
     int success = reader.Ok(), depth = -1;
@@ -596,10 +610,10 @@ namespace { /* anonymous namespace */
       }
     }
 
-    field_direct__reference      .XER_decode(EXTERNAL_direct_reference_xer_     , reader, flavor, 0);
-    field_indirect__reference    .XER_decode(EXTERNAL_indirect_reference_xer_   , reader, flavor, 0);
-    field_data__value__descriptor.XER_decode(EXTERNAL_data_value_descriptor_xer_, reader, flavor, 0);
-    field_encoding               .XER_decode(EXTERNAL_encoding_xer_             , reader, flavor, 0);
+    field_direct__reference      .XER_decode(EXTERNAL_direct_reference_xer_     , reader, flavor, flavor2, 0);
+    field_indirect__reference    .XER_decode(EXTERNAL_indirect_reference_xer_   , reader, flavor, flavor2, 0);
+    field_data__value__descriptor.XER_decode(EXTERNAL_data_value_descriptor_xer_, reader, flavor, flavor2, 0);
+    field_encoding               .XER_decode(EXTERNAL_encoding_xer_             , reader, flavor, flavor2, 0);
 
     for (success = reader.Read(); success == 1; success = reader.Read()) {
       int type = reader.NodeType();
@@ -709,10 +723,10 @@ int EXTERNAL::XER_encode(const XERdescriptor_t& p_td,
 }
 
 int EXTERNAL::XER_decode(const XERdescriptor_t& p_td, XmlReaderWrap& reader,
-  unsigned int flavor, embed_values_dec_struct_t*)
+  unsigned int flavor, unsigned int flavor2, embed_values_dec_struct_t*)
 {
   EXTERNALtransfer xfer;
-  xfer.XER_decode(p_td, reader, flavor, 0);
+  xfer.XER_decode(p_td, reader, flavor, flavor2, 0);
   transfer(&xfer);
   return 1; // decode successful
 }
@@ -3469,7 +3483,7 @@ void EXTERNAL::decode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, TTC
       if (type==XML_READER_TYPE_ELEMENT)
        break;
     }
-    XER_decode(*p_td.xer, reader, XER_coding, 0);
+    XER_decode(*p_td.xer, reader, XER_coding, XER_NONE, 0);
     size_t bytes = reader.ByteConsumed();
     p_buf.set_pos(bytes);
     break;}
This page took 0.025209 seconds and 5 git commands to generate.