## tao_imr Usage

The usage of tao_imr is as follows:

`tao_imr [ORB options] command [command-arguments]`

ORB_options is the ORB options to be given. This is where options like "-ORBInitRef ImplRepoService=file://implrepo.ior" would be placed. command is one of the supported commands like add, remove, etc. command-arguments are dependent on the command used. For example, add will need a server name for registration, but list does not necessarily need any arguments.

### Examples

There is a file in the current directory name implrepo.ior that contains the IOR of the Implementation Repository. The server executable is called airplane.exe and the POA name used by the object is plane. The server needs the -i option to use the IMR and the IOR of the IMR. So the command would be:

`tao_imr -ORBInitRef ImplRepoService=file://implrepo.ior add plane -c "airplane.exe -i file://implrepo.ior"`

`And if you want to later remove that server from the IMR:`

`tao_imr -ORBInitRef ImplRepoService=file://implrepo.ior remove plane`

Or if you wanted to update the entry to have a working directory of C:\airplane\.

`tao_imr -ORBInitRef ImplRepoService=file://implrepo.ior update plane -w "C:\airplane\"`

### Commands

tao_imr currently supports these commands:

Command | Description
--- | ---
activate | Activates a server through the IMR
add | Adds a server to the server database in the IMR
add | Activates all servers that are marked AUTO_START
ior | Creates a simple IOR for a registered server
list | Lists the details of one server or lists all the servers registered in the IMR
remove | Removes a server from the server database in the IMR
shutdown | Shuts down a server through the IMR
update | Updates information for a server in the server database in the IMR

### activate

`tao_imr [ORB options] activate name [-h]`

Activate a server through the Implementation Repository. The name is the server (POA) name that is used to identify the server.

Option | Description
--- | ---
-h | Displays help for this command

### add

`tao_imr [ORB options] add name [-h] [-c command] [-w working_dir] [-a NORMAL|MANUAL|PER_CLIENT]`

Creates a new server entry in the Implementation Repository. The name must be be the name of the POA that the object resides in.

Option | Description
--- | ---
-h | Displays help for this command
-c command | Adds the command line string used to restart this server
-w working_dir | Adds the working directory that is used for the server
[-a NORMAL|MANUAL|PER_CLIENT|AUTO_START] | Specifies the type of activation. NORMAL = normal activation (default) MANUAL = only can be started manually on the command line or with tao_imr PER_CLIENT = each client that contacts the ImplRepo will get its own activated server AUTO_START = activated when the IMR is started or when tao_imr autostart is used

### auto_start

`tao_imr [ORB options] auto_start [-h]`

Activates all servers with the activation mode of AUTO_START. It will not start new copies if the server is already activated.

Option | Description
--- | ---
-h | Displays help for this command

### ior

`tao_imr [ORB options] ior name [-h] [-f filename]`

Creates a simple IOR that can be used with the Implementation Repository. Please refer to the User's Guide for more information on when to use this command.

Option | Description
--- | ---
-h | Displays help for this command
-f filename | Outputs the IOR also to this file

### list

`tao_imr [ORB options] list [name] [-h] [-v]`

Lists all or one of the server entries in the Implementation Repository. If a name is used, it will display verbose information about the server identified by its server (POA) name.

Option | Description
--- | ---
-h | Displays help for this command
-v | When listing the list of servers (no name specified), display verbose information for all servers.
-a | Filters the list of servers to include only those that are active. If the server has recently responding to a ping request within the ping interval used by the implementation repository (adjustable by passing the -v option to tao_imr_locator) then the server is considered active. If not, an attempt is made to ping the server, and if it successful, then the server is considered active. This option is only applicable if the activator is being used. Note that if there a large number of servers registered with the implementation repository it may take a long time to complete if it needs to sequentially ping the servers to determine if it is active.

### remove

`tao_imr [ORB options] add name [-h]`

Removes a server entry from the Implementation Repository. The name is the server (POA) name that is used to identify the server.

Option | Description
--- | ---
-h | Displays help for this command

### shutdown

`tao_imr [ORB options] shutdown name [-h]`

Shuts down a server through the Implementation Repository. The name is the server (POA) name that is used to identify the server.

Option | Description
--- | ---
-h | Displays help for this command

### update

`tao_imr [ORB options] add name [-h] [-c command] [-w working_dir]`

`Update a server entry in the Implementation Repository.` The name is the server (POA) name that is used to identify the server.

Option | Description
--- | ---
-h | Displays help for this command
-c command | Changes the command line string used to restart this server
-w working_dir | Changes the working directory that is used for the server

Back to Implementation Repository