Note the DATABASES argument of the SCAN handler.
[simpleserver-moved-to-github.git] / SimpleServer.pm
index 0abbb92..6ab4042 100644 (file)
@@ -25,7 +25,7 @@
 ##
 ##
 
-## $Id: SimpleServer.pm,v 1.32 2007-08-08 10:27:43 mike Exp $
+## $Id: SimpleServer.pm,v 1.34 2007-08-15 13:14:29 mike Exp $
 
 package Net::Z3950::SimpleServer;
 
@@ -69,6 +69,13 @@ sub launch_server {
        my $self = shift;
        my @args = @_;
 
+       ### This modal internal interface, in which we set a bunch of
+       #   globals and then call start_server(), is asking for
+       #   trouble.  Instead, we should just pass the $self object
+       #   as a parameter into start_server().
+       if (defined($self->{GHANDLE})) {
+               set_ghandle($self->{GHANDLE});
+       }
        if (defined($self->{INIT})) {
                set_init_handler($self->{INIT});
        }
@@ -589,8 +596,10 @@ an index of a book, you always find something! The parameters exchanged are
   $args = {
                                                ## Client request
 
-               GHANDLE         => $obj         ## Global handler specified at creation
-               HANDLE          => $ref         ## Reference to data structure
+               GHANDLE         => $obj,        ## Global handler specified at creation
+               HANDLE          => $ref,        ## Reference to data structure
+               DATABASES       => ["xxx"],     ## Reference to a list of data-
+                                               ## bases to search
                TERM            => 'start',     ## The start term
                NUMBER          => xx,          ## Number of requested terms
                POS             => yy,          ## Position of starting point