%
% ChaiServer configuration file
%
% This file contains the csconfig file for the laserjet ChaiServer
%
Port 80 timeout 0
%
% Document Root
%  Our document root points to a link on RAM disk.  This link will either point
%  to the default webServer directory on the ROM disk or to a directory on
%  some permanant storage device if it is installed
%
DocumentRoot "file:////hpmnt/webServer/home/"
% ExtraPath Information 
ExtraPath hp/device
% Platform Type
PlatformType Vectra
% Number of typers to start
StartTypers 4
% Keep-Alive parameters
KeepAlive Timeout 1 MaxConnections 5
% Keystore implementation class
KEYSTORE_IMPL hp.laserjet.keystoremanager.DeviceKeyStoreImpl
% The following packages exist
Worker "hp/chaiserver/webserver/WebServer"
{
    StartWorkers 2 
    MimeType hp/webserver webserver
    MimeType text/html html
    MimeType text/plain txt java
    MimeType image/gif gif
    MimeType image/jpeg jpg jpeg
    MimeType application/zip zip
    MimeType text/css css
    MimeType application/x-javascript js
    MimeType application/java-archive jar
    Param "HOMEPAGE_OBJECT" "this.LCDispatcher" 
}

Worker "hp/chaiservice/basicgatekeeper/GateKeeperStub"
{ 
    StartWorkers 1 
    MimeType hp/gatekeeper gk 
    Object
    { 
        Name "Master" 
        LinkID master.gk 
        Description "Basic GateKeeper" 
        Preload 
    } 
}

% StartWorkers was reset to 1 by Al Youngwerth to resolve
% defect 45006. The real solution to this problem is to
% make ChaiServices thread-safe. The easiest solution to 
% that problem is to have each Stub create an instance of
% the worker's object(s) in the constructor, and then have
% the stub's ceateObject function return the handle to the
% object (instead of instantiating a new one). An example 
% of this can be found in: 
% /fw/subsystems/jvm/chaiserver/tests/ChaiTestService/ChaiTestServiceStub.java. % The only other issue is initWorkerArgs will only be called for the
% first worker in the list of workers. To remedy this problem
% (without additional changes to chaiserver), move the initialization
% code in initWorkerArgs to the worker object's constructor (as long 
% as the initWorkerArgs code is not dependent on any of the parameters
% that are passed to initWorkerArgs. If object is dependent on the
% args passed into initWorkerArgs, then we've got to make some changes
% to how initObject works in Handler.java (may have some backwards
% compatibility issues to deal with)).

Worker "hp/solutions/navigation/LCDispatcherStub"
{
    StartWorkers 1
    MimeType LCDispatcher LCDispatcher
    Object
    {
        Name "LCDispatcher"
        LinkID this.LCDispatcher
        Description "Draw the Lochsa navigation and home page"
        CreateLink
        Preload
    }
}

Worker "hp/solutions/rcp/GIFServerStub"
{
    StartWorkers 1 
    MimeType GIFServer GIFServer
    Object
    {
        Name "GIFServer"
        LinkID this.GIFServer
        Description "Serves up GIF Files"
        CreateLink
        Preload
    }
}

Worker "hp/solutions/emailpages/EmailPagesStub"
{
    StartWorkers 1
    MimeType configpage configpage
    Object
    {
        Name "EmailPages"
        LinkID this.configpage
        Description "Emails a config or status page from an email message"
        Preload
    }
}

Worker "hp/solutions/pages/LCLinkedPageStub"
{
    StartWorkers 1
    MimeType LCLinkedPageImpl LCLinkedPageImpl
    Object
    {
        Name "LCLinkedPageImpl"
        LinkID this.LCLinkedPageImpl
        Description "."
        CreateLink
        Preload
    }
}

Worker hp/chaiserver/loader/LoaderStub
{
    StartWorkers 1
    MimeType hp/loader loader
    Object
    {
        Name "Loader"
        LinkID this.loader
        Description "Use this object to load new packages onto this server"
        Preload
    }
}

Worker "hp/solutions/navigation/Tab_InfoStub"
{
    StartWorkers 1
    MimeType hpx hpx
    Object
    {
        Name "Tab_Info"
        LinkID tab_info.hpx
        Description "Serves up information for dynamic category tabs"
        CreateLink
        Preload
    }
}

Worker "hp/deviceinfo/Device_InfoStub"
{
    StartWorkers 1
    MimeType hp/deviceInfo deviceInfo
    Object
    {
        Name "Device_InfoImpl"
        LinkID hp.deviceInfo
        Description "serves up device configuration"
        CreateLink
        Preload
    }
}