background image
Tech Note #40:  Initializing CORBA Applications
©
1998 Bionic Buffalo Corporation; All Rights Reserved.
          1 November 1998
http://www.tatanka.com
Page 
3 of 5
 
 
argc
 and 
 
argv
 are used to pass additional arguments to the ORB. These are presumed to be
taken from the command-line arguments to the application invoking 
 
CORBA_ORB_
 
init
 
()
.
 
The Environment pointer 
 
env
 is taken from the previous step, 
 
eg_environment_
 
create
 
()
.
Bionic Buffalo’s ORB will have a default behaviour when used with an empty 
 
orb_identifier
string, and with no arguments 
 
(
 
argc = 0
 and 
 
argv = NULL)
 passed to the ORB. The
documentation explains other options, but they will not be needed by most applications.
The value returned by 
 
CORBA_ORB_
 
init
 
()
 is the object reference for the ORB itself. This object
reference will be used in the next step.
Finding Initial Services
Each implementation will have an initial set of services available to the application. These are
given character-string names. Certain names are standardized by the Specification. The
standard service names are listed in the following table:
Name
Description
RootPOA
The root Portable Object Adapter (POA). (Object adapters
are used to incorporate new objects into the system, and the
POA is a standard type of object adapter described by the
Specification.)
POACurrent
The current Portable Object Adapter (POA).
InterfaceRepository
The database of object  and type interface definitions known
to the system.
NameService
A directory service used for naming objects.
TradingService
A service used for advertising and discovering objects.
SecurityCurrent
A service to manage security in the current execution context.
TransactionCurrent
A service to manage transactions in the current execution
context.
Each of these services is described in the Specification. Not all implementations will have all
services available.