1 /*
   2  * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26  /**
  27   * The Helper for {@code ServiceInformation}. For more information on
  28   * Helper files, see <a href="doc-files/generatedfiles.html#helper">
  29   * "Generated Files: Helper Files"</a>.<P>
  30   */
  31 
  32 package org.omg.CORBA;
  33 
  34 
  35 public abstract class ServiceInformationHelper {
  36 
  37     public static void write(org.omg.CORBA.portable.OutputStream out, org.omg.CORBA.ServiceInformation that)
  38     {
  39         out.write_long(that.service_options.length);
  40         out.write_ulong_array(that.service_options, 0, that.service_options.length);
  41         out.write_long(that.service_details.length);
  42         for (int i = 0 ; i < that.service_details.length ; i += 1) {
  43             org.omg.CORBA.ServiceDetailHelper.write(out, that.service_details[i]);
  44         }
  45     }
  46 
  47     public static org.omg.CORBA.ServiceInformation read(org.omg.CORBA.portable.InputStream in) {
  48         org.omg.CORBA.ServiceInformation that = new org.omg.CORBA.ServiceInformation();
  49         {
  50             int __length = in.read_long();
  51             that.service_options = new int[__length];
  52             in.read_ulong_array(that.service_options, 0, that.service_options.length);
  53         }
  54         {
  55             int __length = in.read_long();
  56             that.service_details = new org.omg.CORBA.ServiceDetail[__length];
  57             for (int __index = 0 ; __index < that.service_details.length ; __index += 1) {
  58                 that.service_details[__index] = org.omg.CORBA.ServiceDetailHelper.read(in);
  59             }
  60         }
  61         return that;
  62     }
  63     public static org.omg.CORBA.ServiceInformation extract(org.omg.CORBA.Any a) {
  64         org.omg.CORBA.portable.InputStream in = a.create_input_stream();
  65         return read(in);
  66     }
  67     public static void insert(org.omg.CORBA.Any a, org.omg.CORBA.ServiceInformation that) {
  68         org.omg.CORBA.portable.OutputStream out = a.create_output_stream();
  69         write(out, that);
  70         a.read_value(out.create_input_stream(), type());
  71     }
  72     private static org.omg.CORBA.TypeCode _tc;
  73     synchronized public static org.omg.CORBA.TypeCode type() {
  74         int _memberCount = 2;
  75         org.omg.CORBA.StructMember[] _members = null;
  76         if (_tc == null) {
  77             _members= new org.omg.CORBA.StructMember[2];
  78             _members[0] = new org.omg.CORBA.StructMember(
  79                                                          "service_options",
  80                                                          org.omg.CORBA.ORB.init().create_sequence_tc(0, org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong)),
  81                                                          null);
  82 
  83             _members[1] = new org.omg.CORBA.StructMember(
  84                                                          "service_details",
  85                                                          org.omg.CORBA.ORB.init().create_sequence_tc(0, org.omg.CORBA.ServiceDetailHelper.type()),
  86                                                          null);
  87             _tc = org.omg.CORBA.ORB.init().create_struct_tc(id(), "ServiceInformation", _members);
  88         }
  89         return _tc;
  90     }
  91     public static String id() {
  92         return "IDL:omg.org/CORBA/ServiceInformation:1.0";
  93     }
  94 }