The function
corba:set-pluggable-module-details
can be used for this purpose. For example,
(corba:set-pluggable-module-details "InterfaceRepository"
:ior-string "IOR:000000000000002149444c...")
(corba:set-pluggable-module-details "NameService"
:ior-string "IOR:000000000000002149444c...")
would direct the ORB to use the given IOR-described CORBA object as an interface repository or name service, respectively. Values set in this manner are persistent. The code
(corba:get-pluggable-module-details orb "InterfaceRepository"
:ior-string)
returns a list of two values. The first is the object reference of the given service if it is contactable (nil if it is not). The second is the value that has been set using
corba:set-pluggable-module-details
. Note the the standardized function
op:resolve_initial_references
should be used in application code to obtain the reference, not
corba:get-pluggable-module-details
.
Type information corresponding to IDL parsed by the IDL compiler is not added to the interface repository until the information is needed in response to a call to
op:get_interface
from a client.