Keywords: doc

Next: BOA Daemon Up: BOA Previous: BOA

## BOA Initialization

Similar to the ORB initialization described in section 4.1.1 the BOA has to be initialized like this:

      int main (int argc, char *argv[])
      {
         CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "mico-local-orb");
         CORBA::BOA_var boa = orb->BOA_init (argc, argv, "mico-local-boa");
         ...
      }

That way it has access to the applications command line arguments. After evaluating them the BOA will remove the command line options it knows about from `argv`. As for the ORB you can put BOA specific command line options into a file called `.micorc` in your home directory. Arguments given on the command line override settings from `.micorc`. Here is a list of command line options the BOA understands:

`-OAId <BOA identifier>`
  Specify the BOA identifier, `mico-local-boa` is the only currently supported BOA identifier.
`-OAImplName <name of the object implementation>`
  Tell a server its implementation name. This option must be used when launching a persistent server that should register with the BOA daemon.
`-OARestoreIOR <IOR to restore>`
  This options is part of the interface between the BOA daemon and an object implementation. Do not use this option!
`-OARemoteIOR <remote BOA IOR>`
  This options is part of the interface between the BOA daemon and an object implementation. Do not use this option!
`-OARemoteAddr <remote BOA address>`
  This option tells an object implementation the address of the BOA daemon. You should use this option only when starting persistent servers that should register with the BOA daemon. See section 4.3.4 for details.