X-Git-Url: http://git.indexdata.com/?p=simpleserver-moved-to-github.git;a=blobdiff_plain;f=SimpleServer.pm;h=b2088b4756bd4ed12b61fd59a4fcd6373421413e;hp=e0cfda4862be37ae8757664001c4a3c5385f794a;hb=0d2c0f1cdeaec0675cbd0d2463858ecf834effec;hpb=69ae10b2fa4ab6f9cc6f37a9f52bf948cbbb351c diff --git a/SimpleServer.pm b/SimpleServer.pm index e0cfda4..b2088b4 100644 --- a/SimpleServer.pm +++ b/SimpleServer.pm @@ -1,5 +1,5 @@ ## This file is part of simpleserver -## Copyright (C) 2000-2011 Index Data. +## Copyright (C) 2000-2013 Index Data. ## All rights reserved. ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions are met: @@ -96,7 +96,9 @@ sub launch_server { if (defined($self->{DELETE})) { set_delete_handler($self->{DELETE}); } - + if (defined($self->{START})) { + set_start_handler($self->{START}); + } start_server(@args); } @@ -242,6 +244,7 @@ environments) whenever a new connection is received. The programmer can specify subroutines to take care of the following type of events: + - Start service (called once). - Initialize request - Search request - Present request @@ -264,6 +267,7 @@ The Perl programmer specifies the event handlers for the server by means of the SimpleServer object constructor my $z = new Net::Z3950::SimpleServer( + START => \&my_start_handler, INIT => \&my_init_handler, CLOSE => \&my_close_handler, SEARCH => \&my_search_handler, @@ -307,6 +311,23 @@ application invocation: In particular, you need to use the -T switch to start your SimpleServer in threaded mode. +=head2 Start handler + +The start handler is called when service is started. The argument hash +passed to the start handler has the form + + $args = { + CONFIG => "default-config" ## GFS config (as given by -c) + }; + + +The purpose of the start handler is to read the configuration file +for the Generic Frontend Server . This is specified by option -c. +If -c is omitted, the configuration file is set to "default-config". + +The start handler is optional. It is supported in Simpleserver 1.16 and +later. + =head2 Init handler The init handler is called whenever a Z39.50 client is attempting @@ -889,7 +910,7 @@ Mike Taylor (indexdata.com). =head1 COPYRIGHT AND LICENCE -Copyright (C) 2000-2011 by Index Data. +Copyright (C) 2000-2013 by Index Data. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or,