/*******************************************************************************
 * Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
 * This program and the accompanying materials are made available under the 
 * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
 * which accompanies this distribution. 
 * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
 * and the Eclipse Distribution License is available at 
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * Contributors:
 *     Oracle - initial API and implementation from Oracle TopLink
 ******************************************************************************/  
package org.eclipse.persistence.testing.tests.remote.suncorba;

/**
* org/eclipse/persistence/testing/Remote/SunCORBA/_CORBAServerManagerStub.java
* Generated by the IDL-to-Java compiler (portable), version "3.0"
* from CORBAServerManager.idl
* Wednesday, August 23, 2000 1:20:43 PM EDT
*/

public class _CORBAServerManagerStub extends org.omg.CORBA.portable.ObjectImpl implements org.eclipse.persistence.testing.tests.remote.suncorba.CORBAServerManager
{
  // Type-specific CORBA::Object operations
  private static String[] __ids = {
	"IDL:org/eclipse/persistence/testing/Remote/SunCORBA/CORBAServerManager:1.0"};

  // Constructors
  // NOTE:  If the default constructor is used, the
  //        object is useless until _set_delegate (...)
  //        is called.
  public _CORBAServerManagerStub ()
  {
	super ();
  }  
  public _CORBAServerManagerStub (org.omg.CORBA.portable.Delegate delegate)
  {
	super ();
	_set_delegate (delegate);
  }  
  public String[] _ids ()
  {
	return __ids.clone ();
  }  
  public org.eclipse.persistence.sessions.remote.corba.sun.CORBARemoteSessionController createRemoteSessionController ()
  {
	org.omg.CORBA.portable.InputStream _in = null;
	try {
	   org.omg.CORBA.portable.OutputStream _out = _request ("createRemoteSessionController", true);
	   _in = _invoke (_out);
	   org.eclipse.persistence.sessions.remote.corba.sun.CORBARemoteSessionController __result = org.eclipse.persistence.sessions.remote.corba.sun.CORBARemoteSessionControllerHelper.read (_in);
	   return __result;
	} catch (org.omg.CORBA.portable.ApplicationException _ex) {
	   _in = _ex.getInputStream ();
	   String _id = _ex.getId ();
	   throw new org.omg.CORBA.MARSHAL (_id);
	} catch (org.omg.CORBA.portable.RemarshalException _rm) {
	   return createRemoteSessionController ();
	} finally {
		_releaseReply (_in);
	}
  } // createRemoteSessionController  
  private void readObject (java.io.ObjectInputStream s)
  {
	 try 
	 {
	   String str = s.readUTF ();
	   org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init ().string_to_object (str);
	   org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
	   _set_delegate (delegate);
	 } catch (java.io.IOException e) {}
  }  
  private void writeObject (java.io.ObjectOutputStream s)
  {
	 try 
	 {
	   String str = org.omg.CORBA.ORB.init ().object_to_string (this);
	   s.writeUTF (str);
	 } catch (java.io.IOException e) {}
  }  
} // class _CORBAServerManagerStub
