IT_daemon
. The OrbixWeb daemon is responsible for launching servers (if an appropriate server is not already running) and dispatching operation requests. The daemon is involved, if at all, only with the first operation request from a clientit is not involved with subsequent requests. The OrbixWeb daemon executable is called orbixd
(orbixd.exe
on Windows 95 and Windows NT).The OrbixWeb daemon is also responsible for managing the Implementation Repository. It accepts all requests from the OrbixWeb utilities
putit
, catit
, lsit
and so on.The OrbixWeb daemon is also used to search for an appropriate server via the locator and manages the configuration files used by the default locator)
Naturally, programs can alternatively edit these files or, on UNIX or Windows NT, execute one of the utility commands
serverhosts
, servergroups
or grouphosts
as appropriate (see section 3.4).// Java import IE.Iona.Orbix2._IT_daemonRef; import IE.Iona.Orbix2.IT_daemon; ... _IT_daemonRef daemon; try { daemon = IT_daemon._bind("", targetHost); } ...
// IDL interface IT_daemon{ boolean lookUp(in string service, out stringSeq hostList, in octet hops, in string tag); boolean addHostsToServer(in string server, in stringSeq hostList); boolean addHostsToGroup(in string group, in stringSeq hostList); boolean addGroupsToServer(in string server, in stringSeq groupList); boolean delHostsFromServer(in string server, in stringSeq hostList); boolean delHostsFromGroup(in string group, in stringSeq hostList); boolean delGroupsFromServer(in string server, in stringSeq groupList); boolean listHostsInServer(in string server, out stringSeq hostList); boolean listHostsInGroup(in string group, out stringSeq hostList); boolean listGroupsInServer(in string server, out stringSeq groupList); enum LaunchStatus { inActive, manualLaunch, automaticLaunch }; struct serverDetails { string server; string marker; string principal; string code; string comms; string port; unsigned long OSspecific; LaunchStatus status; }; void listActiveServers(out serverDetailsSeq servers); void killServer(in string name, in string marker); void newSharedServer(in string serverName, in stringSeq marker, in stringSeq launchCommand, in unsigned long mode_flags); void newUnSharedServer(in string serverName, in stringSeq marker, in stringSeq launchCommand, in unsigned long mode_flags); void newPerMethodServer(in string serverName, in stringSeq method, in stringSeq launchCommand); void listServers(in string subdir, out stringSeq servers); void deleteServer(in string serverName); boolean serverExists(in string serverName); void getServer(in string serverName, out string commsProtocol, out string codeProtocol, out string activationPolicy, out unsigned long mode_flags, out string owner, out string invokeList, out string launchList, out stringSeq markers, out stringSeq methods, out stringSeq commands); void addUnsharedMarker(in string serverName, in string markerName, in string newCommand); void removeUnsharedMarker(in string serverName, in string markerName); void addSharedMarker(in string serverName, in string markerName, in string newCommand); void removeSharedMarker(in string serverName, in string markerName); void addMethod(in string serverName, in string methodName, in string newCommand); void removeMethod(in string serverName, in string methodName); void newDirectory(in string dirName); void deleteDirectory(in string dirName, in boolean deleteChildren); void changeOwnerServer(in string new_owner, in string serverName); void addInvokeRights(in string userGroup, in string serverName); void removeInvokeRights(in string userGroup, in string serverName); void addLaunchRights(in string userGroup, in string serverName); void removeLaunchRights(in string userGroup, in string serverName); void addInvokeRightsDir(in string userGroup, in string dirName); void removeInvokeRightsDir(in string userGroup, in string dirName); void addLaunchRightsDir(in string userGroup, in string dirName); void removeLaunchRightsDir(in string userGroup, in string dirName); };
void addLaunchRightsDir (in string userGroup, in string dirName);
userGroup
to the list of owners for the directory dirName
.
boolean addGroupsToServer( in string server, in stringSeq groupList);
groupList
to the list of groups for the entry for server
in the server location locator configuration file.
IT_daemon::delGroupsFromServer() CORBA::locatorClass
boolean addHostsToGroup( in string group, in stringSeq hostList);
hostlist
to the group, group
, in the host groups definition locator configuration file.
IT_daemon::delHostsFromGroup() CORBA::LocatorClass
boolean addHostsToServer( in string server, in stringSeq hostList);
hostList
to the list of hosts for the entry for server
in the server location locator configuration file.
IT_daemon::delHostsFromServer() CORBA::locatorClass
void addInvokeRights( in string userGroup, in string serverName);
userGroup
to the invoke access control list (ACL) for the server serverName
. A user who has invoke rights on a server can invoke operations on any object controlled by that server. By default, only the owner of an Implementation Repository entry has invoke rights on the server registered.
IT_daemon::RemoveInvokeRights() IT_daemon::addLaunchRights() IT_daemon::addInvokeRightsDir()
void addInvokeRightsDir( in string userGroup, in string dirName);
userGroup
to the invoke access control list (ACL) for the directory dirName
.
IT_daemon::RemoveInvokeRightsDir()
IT_daemon::AddInvokeRights()
void addLaunchRights( in string userGroup, in string serverName);
userGroup
to the launch access control list for the server serverName
. By default, only the owner of an Implementation Repository entry has launch rights on the server registered.
IT_daemon::removeLaunchRights()
void addLaunchRightsDir( in string userGroup, in string dirName);
userGroup
to the launch access control list for the directory dirName
.
IT_daemon::addLaunchRights()
IT_daemon::removeLaunchRightsDir()
void addMethod( in string serverName, in string methodName, in string newCommand);
serverName
. This activation order specifies that an invocation of a method whose name matches the method (or method pattern) indicated in methodName
should cause the server to be launched using the command newCommand
.
IT_daemon::removeMethod()
void addSharedMarker( in string serverName, in string markerName, in string newCommand);
serverName
. This activation order specifies that an invocation for an object whose marker matches the marker (or marker pattern) indicated in markerName
should cause the server to be launched (if not already running) using the command, newCommand
.
IT_daemon::removeSharedMarker()
void addUnsharedMarker( in string serverName, in string markerName, in string newCommand);
serverName
. This activation order specifies that an invocation for an object whose marker matches the marker (or marker pattern) indicated in markerName
should cause the server to be launched using the command, newCommand
.
IT_daemon::removeUnsharedMarker()
void changeOwnerServer( in string new_owner, in string serverName);
serverName
. The principal (end-user) invoking this operation must be the current owner of the IR entry.
void deleteDirectory( in string dirName, in boolean deleteChildren);
deleteChildren
is true then server entries and sub-directories are also deleted.
IT_daemon::newDirectory()
void deleteServer( in string serverName);
serverName
, from the Implementation Repository.
IT_daemon::newPerMethodServer() IT_daemon::newSharedServer() IT_daemon::newUnsharedServer()
boolean delGroupsFromServer( in string server, in stringSeq groupList);
groupList
from the list of host groups that support the server server
. This list is maintained in the server location locator configuration file.
IT_daemon::addGroupsToServer()
boolean delHostsFromGroup( in string group, in stringSeq hostList);
hostlist
from the group, group
, in the host groups definition locator configuration file.
IT_daemon::AddHostsToGroup()
boolean delHostsFromServer( in string server, in stringSeq hostList);
hostList
from the list of hosts that support the server server
in the server location locator configuration file.
IT_daemon::addHostsToServer()
void getServer( in string serverName, out string commsProtocol, out string codeProtocol, out string activationPolicy, out unsigned long mode_flags, out string owner, out string invokeList, out string launchList, out stringSeq markers, out stringSeq methods, out stringSeq commands);
serverName
.
void killServer( in string name, in string marker);
enum LaunchStatus { inActive, manualLaunch, automaticLaunch };
LaunchStatus
of a server.
typedef sequence<serverDetails> serverDetailsSeq; void listActiveServers( out serverDetailsSeq servers);
IT_daemon::serverDetails
boolean listGroupsInServer( in string server, out stringSeq groupList);
server
is a member.
boolean listHostsInGroup( in string group, out stringSeq hostList);
group
, as listed in the host groups definition locator configuration file.
boolean listHostsInServer( in string server, out stringSeq hostList);
server
runs as listed in the server location configuration file.
void listServers( in string subdir, out stringSeq servers);
subdir
.
boolean lookUp( in string service, out stringSeq hostList, in octet hops, in string tag)
lookUp()
function on the locator. This is normally the default locatorunless an alternative locator has been installed.
CORBA::locatorClass CORBA::locatorClass::lookUp()
void newDirectory(in string dirName);
dirName
and may be a new directory or a subdirectory of an existing directory The `/
' character is used to indicate a subdirectoryfor example, the name "server/banks
" is a valid directory name.
IT_daemon::deleteDirectory()
void newPerMethodServer( in string serverName, in stringSeq methods, in stringSeq launchCommands);
serverName
. The new entry has an activation order for each element of the sequences in methods
and launchCommands
.
void newSharedServer( in string serverName, in stringSeq markers, in stringSeq launchCommands, in unsigned long mode_flags);
serverName
. The new entry has an activation order for each element of the sequences in markers
and launchCommands
.
void newUnSharedServer( in string serverName, in stringSeq markers, in stringSeq launchCommands, in unsigned long mode_flags);
serverName
. The new entry has an activation order for each element of the sequences in markers
and launchCommands
.
removeDirRights(in string userGroup, in string dirName);
userGroup
to the list of owners for the directory dirName
.
void removeInvokeRights( in string userGroup, in string serverName);
userGroup
from the invoke access control list for server serverName
.
IT_daemon::AddInvokeRights()
void removeInvokeRightsDir( in string userGroup, in string dirName);
userGroup
from the invoke access control list for directory dirName
.
IT_daemon::AddInvokeRightsDir()
void removeLaunchRights( in string userGroup, in string serverName);
userGroup
from the launch access control list for server serverName
.
IT_daemon::addLaunchRights()
void removeLaunchRightsDir( in string userGroup, in string dirName);
userGroup
from the launch access control list for the directory dirName
.
IT_daemon::addLaunchRightsDir()
void removeMethod( in string serverName, in string methodName);
methodName
from the Implementation Repository entry for the per-method server, serverName
.
IT_daemon::addMethod()
void removeSharedMarker( in string serverName, in string markerName);
markerName
from the Implementation Repository entry for the shared server, serverName
.
IT_daemon::addSharedMarker()
void removeUnsharedMarker( in string serverName, in string markerName);
markerName
from the Implementation Repository entry for the unshared server, serverName
.
IT_daemon::addUnsharedMarker()
struct serverDetails { string server; string marker; string principal; string code; string comms; string port; unsigned long OSspecific; LaunchStatus status; };
IT_daemon::LaunchStatus
boolean serverExists(in string serverName);
serverName
in the Implementation Repository.