This was checked in to gcc.gnu.org on August 28.

*** /dev/null	Thu Apr 11 15:25:15 2002
--- libjava/gnu/gcj/protocol/solib/Connection.java	Thu Jan 16 00:36:02 2003
***************
*** 0 ****
--- 1,60 ----
+ // Connection.java - Implementation of URLConnection for solib
+ // protocol.
+ 
+ /* Copyright (C) 2003  Free Software Foundation
+ 
+    This file is part of libgcj.
+ 
+ This software is copyrighted work licensed under the terms of the
+ Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+ details.  */
+ 
+ package gnu.gcj.protocol.solib;
+ import java.io.*;
+ import java.net.*;
+ import gnu.gcj.Core;
+ import gnu.gcj.protocol.core.CoreInputStream;
+ import gnu.gcj.runtime.SharedLibHelper;
+ 
+ /**
+  * @author Tom Tromey <tromey@redhat.com>
+  * @date January 10, 2003
+  */
+ 
+ class Connection extends URLConnection
+ {
+   String solib;
+   String name;
+   Core core;
+ 
+   public Connection (URL url) throws MalformedURLException
+   {
+     super (url);
+     int index = url.getFile().indexOf("!/");
+     if (index == -1)
+       throw new MalformedURLException("couldn't find !/ in solib URL");
+ 
+     name = url.getFile().substring(index + 2);
+     solib = url.getFile().substring(0, index);
+   }
+ 
+   public void connect() throws IOException
+   {
+     if (core != null)
+       return;
+     // We can't create a new SharedLibHelper here, since we don't know
+     // what parent class loader to use.
+     SharedLibHelper helper = SharedLibHelper.findHelper(solib);
+     if (helper == null)
+       throw new IOException("solib not loaded: " + solib);
+     core = helper.findCore(name);
+     if (core == null)
+       throw new IOException("couldn't find core object: " + name);
+   }
+ 
+   public InputStream getInputStream() throws IOException
+   {
+     connect();
+     return new CoreInputStream(core);
+   }
+ }
*** /dev/null	Thu Apr 11 15:25:15 2002
--- libjava/gnu/gcj/protocol/solib/Handler.java	Thu Jan 16 00:35:44 2003
***************
*** 0 ****
--- 1,24 ----
+ // Handler.java - URLStreamHandler for solib protocol.
+ 
+ /* Copyright (C) 2003  Free Software Foundation
+ 
+    This file is part of libgcj.
+ 
+ This software is copyrighted work licensed under the terms of the
+ Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+ details.  */
+ 
+ package gnu.gcj.protocol.solib;
+ 
+ import java.net.URL;
+ import java.net.URLConnection;
+ import java.net.URLStreamHandler;
+ import java.io.IOException;
+ 
+ public class Handler extends URLStreamHandler
+ {
+   protected URLConnection openConnection(URL url) throws IOException
+   {
+     return new Connection(url);
+   }
+ }
