aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/rmi
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>2005-07-16 00:30:23 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-07-16 00:30:23 +0000
commitf911ba985aa7fe0096c386c5be385ac5825ea527 (patch)
treea0b991cf5866ae1d616639b906ac001811d74508 /libjava/classpath/javax/rmi
parent6f4434b39b261de5317dc81ddfdd94d2e1d62b11 (diff)
downloadgcc-f911ba985aa7fe0096c386c5be385ac5825ea527.zip
gcc-f911ba985aa7fe0096c386c5be385ac5825ea527.tar.gz
gcc-f911ba985aa7fe0096c386c5be385ac5825ea527.tar.bz2
Initial revision
From-SVN: r102074
Diffstat (limited to 'libjava/classpath/javax/rmi')
-rw-r--r--libjava/classpath/javax/rmi/BAD_OPERATION.java4
-rw-r--r--libjava/classpath/javax/rmi/CORBA/ClassDesc.java55
-rw-r--r--libjava/classpath/javax/rmi/CORBA/ObjectImpl.java9
-rw-r--r--libjava/classpath/javax/rmi/CORBA/PortableRemoteObjectDelegate.java65
-rw-r--r--libjava/classpath/javax/rmi/CORBA/Stub.java123
-rw-r--r--libjava/classpath/javax/rmi/CORBA/StubDelegate.java65
-rw-r--r--libjava/classpath/javax/rmi/CORBA/SystemException.java4
-rw-r--r--libjava/classpath/javax/rmi/CORBA/Tie.java62
-rw-r--r--libjava/classpath/javax/rmi/CORBA/Util.java185
-rw-r--r--libjava/classpath/javax/rmi/CORBA/UtilDelegate.java85
-rw-r--r--libjava/classpath/javax/rmi/CORBA/ValueHandler.java65
-rw-r--r--libjava/classpath/javax/rmi/CORBA/package.html46
-rw-r--r--libjava/classpath/javax/rmi/ORB.java4
-rw-r--r--libjava/classpath/javax/rmi/PortableRemoteObject.java115
-rw-r--r--libjava/classpath/javax/rmi/package.html46
15 files changed, 933 insertions, 0 deletions
diff --git a/libjava/classpath/javax/rmi/BAD_OPERATION.java b/libjava/classpath/javax/rmi/BAD_OPERATION.java
new file mode 100644
index 0000000..36081a4
--- /dev/null
+++ b/libjava/classpath/javax/rmi/BAD_OPERATION.java
@@ -0,0 +1,4 @@
+package javax.rmi;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class BAD_OPERATION extends Exception { }
diff --git a/libjava/classpath/javax/rmi/CORBA/ClassDesc.java b/libjava/classpath/javax/rmi/CORBA/ClassDesc.java
new file mode 100644
index 0000000..01befa4
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/ClassDesc.java
@@ -0,0 +1,55 @@
+/* ClassDesc.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.io.Serializable;
+
+public class ClassDesc
+ implements Serializable
+{
+ /*
+ * The following is serialized form required by Java API Doc
+ */
+ private String repid;
+ private String codebase;
+
+ public ClassDesc()
+ {
+ }
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/ObjectImpl.java b/libjava/classpath/javax/rmi/CORBA/ObjectImpl.java
new file mode 100644
index 0000000..d76d673
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/ObjectImpl.java
@@ -0,0 +1,9 @@
+package javax.rmi.CORBA;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class ObjectImpl
+{
+ public ObjectImpl _orb() { return null; }
+ public String object_to_string(ObjectImpl o)
+ throws javax.rmi.BAD_OPERATION { return null; }
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/PortableRemoteObjectDelegate.java b/libjava/classpath/javax/rmi/CORBA/PortableRemoteObjectDelegate.java
new file mode 100644
index 0000000..9ae45a3
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/PortableRemoteObjectDelegate.java
@@ -0,0 +1,65 @@
+/* PortableRemoteObjectDelegate.java -- Interface supporting PortableRemoteObject
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.rmi.NoSuchObjectException;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+/**
+ * A delegate is a singleton class that support delegation for method
+ * implementation in PortableRemoteObject.
+ */
+public interface PortableRemoteObjectDelegate
+{
+ void connect(Remote target, Remote source)
+ throws RemoteException;
+
+ void exportObject(Remote obj)
+ throws RemoteException;
+
+ Object narrow(Object narrowFrom, Class narrowTo)
+ throws ClassCastException;
+
+ Remote toStub(Remote obj)
+ throws NoSuchObjectException;
+
+ void unexportObject(Remote obj)
+ throws NoSuchObjectException;
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/Stub.java b/libjava/classpath/javax/rmi/CORBA/Stub.java
new file mode 100644
index 0000000..a35a08f
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/Stub.java
@@ -0,0 +1,123 @@
+/* Stub.java --
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import gnu.javax.rmi.CORBA.DelegateFactory;
+import gnu.javax.rmi.CORBA.GetDelegateInstanceException;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.rmi.RemoteException;
+
+public abstract class Stub extends ObjectImpl
+ implements Serializable
+{
+ /**
+ * For compatability with Sun's JDK 1.4.2 rev. 5
+ */
+ private static final long serialVersionUID = 1087775603798577179L;
+
+ private transient StubDelegate delegate;
+
+ protected Stub()
+ {
+ try
+ {
+ delegate = (StubDelegate)DelegateFactory.getInstance("Stub");
+ }
+ catch(GetDelegateInstanceException e)
+ {
+ delegate = null;
+ }
+ }
+
+ public int hashCode()
+ {
+ if(delegate != null)
+ return delegate.hashCode(this);
+ else
+ return 0;
+ }
+
+ public boolean equals(Object obj)
+ {
+ if(delegate != null)
+ return delegate.equals(this, obj);
+ else
+ return false;
+ }
+
+ public String toString()
+ {
+ String s = null;
+ if(delegate != null)
+ s = delegate.toString(this);
+ if(s == null)
+ s = super.toString();
+ return s;
+ }
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ public void connect(javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ delegate.connect(this, orb);
+ }
+
+ /**
+ * The following two routines are required by serialized form of Java API doc.
+ */
+ private void readObject(ObjectInputStream stream)
+ throws IOException, ClassNotFoundException
+ {
+ if(delegate != null)
+ delegate.readObject(this, stream);
+ }
+
+ private void writeObject(ObjectOutputStream stream)
+ throws IOException
+ {
+ if(delegate != null)
+ delegate.writeObject(this, stream);
+ }
+
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/StubDelegate.java b/libjava/classpath/javax/rmi/CORBA/StubDelegate.java
new file mode 100644
index 0000000..5c00a03
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/StubDelegate.java
@@ -0,0 +1,65 @@
+/* StubDelegate.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.rmi.RemoteException;
+//import org.omg.CORBA.ORB;
+
+public interface StubDelegate
+{
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ void connect(Stub self, javax.rmi.ORB orb)
+ throws RemoteException;
+
+ boolean equals(Stub self, Object obj);
+
+ int hashCode(Stub self);
+
+ void readObject(Stub self, ObjectInputStream s)
+ throws IOException, ClassNotFoundException;
+
+ String toString(Stub self);
+
+ void writeObject(Stub self, ObjectOutputStream s)
+ throws IOException;
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/SystemException.java b/libjava/classpath/javax/rmi/CORBA/SystemException.java
new file mode 100644
index 0000000..f8afdc3
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/SystemException.java
@@ -0,0 +1,4 @@
+package javax.rmi.CORBA;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class SystemException extends Exception { }
diff --git a/libjava/classpath/javax/rmi/CORBA/Tie.java b/libjava/classpath/javax/rmi/CORBA/Tie.java
new file mode 100644
index 0000000..4b1984c
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/Tie.java
@@ -0,0 +1,62 @@
+/* Tie.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.rmi.Remote;
+//import org.omg.CORBA.ORB;
+//import org.omg.CORBA.portable.InvokeHandler;
+
+public interface Tie // XXX extends InvokeHandler
+{
+
+ void deactivate();
+
+ Remote getTarget();
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ javax.rmi.ORB orb();
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ void orb(javax.rmi.ORB orb);
+
+ void setTarget(Remote target);
+
+ // XXX Object -> org.omg.CORBA.Object
+ Object thisObject();
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/Util.java b/libjava/classpath/javax/rmi/CORBA/Util.java
new file mode 100644
index 0000000..0370cce
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/Util.java
@@ -0,0 +1,185 @@
+/* Util.java --
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import gnu.javax.rmi.CORBA.DelegateFactory;
+import gnu.javax.rmi.CORBA.GetDelegateInstanceException;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+public class Util
+{
+
+ private static UtilDelegate delegate;
+ static
+ {
+ try
+ {
+ delegate = (UtilDelegate)DelegateFactory.getInstance("Util");
+ }
+ catch(GetDelegateInstanceException e)
+ {
+ delegate = null;
+ }
+ }
+
+ private Util()
+ {
+ }
+
+ // XXX - javax.rmi.ORB -> org.omg.CORBA.ORB
+ public static Object copyObject(Object obj, javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.copyObject(obj, orb);
+ else
+ return null;
+ }
+
+ // XXX - javax.rmi.ORB -> org.omg.CORBA.ORB
+ public static Object[] copyObjects(Object obj[], javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.copyObjects(obj, orb);
+ else
+ return null;
+ }
+
+ public static ValueHandler createValueHandler()
+ {
+ if(delegate != null)
+ return delegate.createValueHandler();
+ else
+ return null;
+ }
+
+ public static String getCodebase(Class clz)
+ {
+ if(delegate != null)
+ return delegate.getCodebase(clz);
+ else
+ return null;
+ }
+
+ public static Tie getTie(Remote target)
+ {
+ if(delegate != null)
+ return delegate.getTie(target);
+ else
+ return null;
+ }
+
+ public static boolean isLocal(Stub stub)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.isLocal(stub);
+ else
+ return false;
+ }
+
+ public static Class loadClass(String className, String remoteCodebase, ClassLoader loader)
+ throws ClassNotFoundException
+ {
+ if(delegate != null)
+ return delegate.loadClass(className, remoteCodebase, loader);
+ else
+ throw new ClassNotFoundException(className + ": delegate == null");
+ }
+
+ public static RemoteException mapSystemException(SystemException ex)
+ {
+ if(delegate != null)
+ return delegate.mapSystemException(ex);
+ else
+ return null;
+ }
+
+ public static Object readAny(InputStream in)
+ {
+ if(delegate != null)
+ return delegate.readAny(in);
+ else
+ return null;
+ }
+
+ public static void registerTarget(Tie tie, Remote target)
+ {
+ if(delegate != null)
+ delegate.registerTarget(tie, target);
+ }
+
+ public static void unexportObject(Remote target)
+ {
+ if(delegate != null)
+ delegate.unexportObject(target);
+ }
+
+ public static RemoteException wrapException(Throwable orig)
+ {
+ if(delegate != null)
+ return delegate.wrapException(orig);
+ else
+ return null;
+ }
+
+ public static void writeAbstractObject(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeAbstractObject(out, obj);
+ }
+
+ public static void writeAny(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeAny(out, obj);
+ }
+
+ public static void writeRemoteObject(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeRemoteObject(out, obj);
+ }
+
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/UtilDelegate.java b/libjava/classpath/javax/rmi/CORBA/UtilDelegate.java
new file mode 100644
index 0000000..deeb94f
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/UtilDelegate.java
@@ -0,0 +1,85 @@
+/* UtilDelegate.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+//import org.omg.CORBA.ORB;
+//import org.omg.CORBA.SystemException;
+//import org.omg.CORBA.portable.InputStream;
+//import org.omg.CORBA.portable.OutputStream;
+
+public interface UtilDelegate
+{
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ Object copyObject(Object obj, javax.rmi.ORB orb) throws RemoteException;
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ Object[] copyObjects(Object obj[], javax.rmi.ORB orb) throws RemoteException;
+
+ ValueHandler createValueHandler();
+
+ String getCodebase(Class clz);
+
+ Tie getTie(Remote target);
+
+ boolean isLocal(Stub stub) throws RemoteException;
+
+ Class loadClass(String className, String remoteCodebase,
+ ClassLoader loader) throws ClassNotFoundException;
+
+ RemoteException mapSystemException(SystemException ex);
+
+ Object readAny(InputStream in);
+
+ void registerTarget(Tie tie, Remote target);
+
+ void unexportObject(Remote target);
+
+ RemoteException wrapException(Throwable orig);
+
+ void writeAbstractObject(OutputStream out, Object obj);
+
+ void writeAny(OutputStream out, Object obj);
+
+ void writeRemoteObject(OutputStream out, Object obj);
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/ValueHandler.java b/libjava/classpath/javax/rmi/CORBA/ValueHandler.java
new file mode 100644
index 0000000..f26e75b
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/ValueHandler.java
@@ -0,0 +1,65 @@
+/* ValueHandler.java --
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi.CORBA;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+//import org.omg.CORBA.portable.InputStream;
+//import org.omg.CORBA.portable.OutputStream;
+//import org.omg.SendingContext.RunTime;
+
+public interface ValueHandler
+{
+
+ String getRMIRepositoryID(Class clz);
+
+ // XXX Runtime -> RunTime
+ Runtime getRunTimeCodeBase();
+
+ boolean isCustomMarshaled(Class clz);
+
+ // XXX Runtime -> RunTime
+ Serializable readValue(InputStream in, int offset, Class clz,
+ String repositoryID, Runtime sender);
+
+ Serializable writeReplace(Serializable value);
+
+ void writeValue(OutputStream out, Serializable value);
+}
diff --git a/libjava/classpath/javax/rmi/CORBA/package.html b/libjava/classpath/javax/rmi/CORBA/package.html
new file mode 100644
index 0000000..f5a5ac7
--- /dev/null
+++ b/libjava/classpath/javax/rmi/CORBA/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.rmi.CORBA package.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.rmi.CORBA</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>
diff --git a/libjava/classpath/javax/rmi/ORB.java b/libjava/classpath/javax/rmi/ORB.java
new file mode 100644
index 0000000..be7a894
--- /dev/null
+++ b/libjava/classpath/javax/rmi/ORB.java
@@ -0,0 +1,4 @@
+package javax.rmi;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class ORB { }
diff --git a/libjava/classpath/javax/rmi/PortableRemoteObject.java b/libjava/classpath/javax/rmi/PortableRemoteObject.java
new file mode 100644
index 0000000..5e5d1fd
--- /dev/null
+++ b/libjava/classpath/javax/rmi/PortableRemoteObject.java
@@ -0,0 +1,115 @@
+/* PortableRemoteObject.java --
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.rmi;
+
+import gnu.javax.rmi.CORBA.DelegateFactory;
+import gnu.javax.rmi.CORBA.GetDelegateInstanceException;
+
+import java.rmi.NoSuchObjectException;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+import javax.rmi.CORBA.PortableRemoteObjectDelegate;
+
+public class PortableRemoteObject
+ implements Remote /* why doc doesn't say should implement Remote */
+{
+
+ private static PortableRemoteObjectDelegate delegate;
+ static
+ {
+ try
+ {
+ delegate = (PortableRemoteObjectDelegate)DelegateFactory.getInstance
+ ("PortableRemoteObject");
+ }
+ catch(GetDelegateInstanceException e)
+ {
+ e.printStackTrace();
+ delegate = null;
+ }
+ }
+
+ protected PortableRemoteObject()
+ throws RemoteException
+ {
+ if(delegate != null)
+ exportObject((Remote)this);
+ }
+
+ public static void connect(Remote target, Remote source)
+ throws RemoteException
+ {
+ if(delegate != null)
+ delegate.connect(target, source);
+ }
+
+ public static void exportObject(Remote obj)
+ throws RemoteException
+ {
+ if(delegate != null)
+ delegate.exportObject(obj);
+ }
+
+ public static Object narrow(Object narrowFrom, Class narrowTo)
+ throws ClassCastException
+ {
+ if(delegate != null)
+ return delegate.narrow(narrowFrom, narrowTo);
+ else
+ return null;
+ }
+
+ public static Remote toStub(Remote obj)
+ throws NoSuchObjectException
+ {
+ if(delegate != null)
+ return delegate.toStub(obj);
+ else
+ return null;
+ }
+
+ public static void unexportObject(Remote obj)
+ throws NoSuchObjectException
+ {
+ if(delegate != null)
+ delegate.unexportObject(obj);
+ }
+
+}
diff --git a/libjava/classpath/javax/rmi/package.html b/libjava/classpath/javax/rmi/package.html
new file mode 100644
index 0000000..febf59b
--- /dev/null
+++ b/libjava/classpath/javax/rmi/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.rmi package.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.rmi</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>