From 70c51d83e92e94dbba1c71b601781d64f7dac7ff Mon Sep 17 00:00:00 2001 From: coryan Date: Fri, 26 Jan 2001 17:27:17 +0000 Subject: ChangeLogTag:Fri Jan 26 09:07:14 2001 Carlos O'Ryan --- TAO/tao/DLL_Parser.h | 49 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 5 deletions(-) (limited to 'TAO/tao') diff --git a/TAO/tao/DLL_Parser.h b/TAO/tao/DLL_Parser.h index 4b251899d5f..15b3dfa6376 100644 --- a/TAO/tao/DLL_Parser.h +++ b/TAO/tao/DLL_Parser.h @@ -24,12 +24,51 @@ /** * @class TAO_DLL_Parser * - * @brief Defines the interface for the pluggable DLL parser components + * @brief Implment the parser for the DLL-style IORs. + * + * The DLL-style IORs allows applications to transparently load object + * implementations. The ORB can parse an IOR in the format: + * + * DLL:Service_Name + * + * the string_to_object() function will use ACE's Service Configurator + * to dynamically load the service named 'Service_Name'. The ORB + * assumes that this service implements the TAO_Object_Loader + * interface, and uses that interface to create a new object + * implementation locally. The object reference for this local object + * is returned to the application. + * + * This can be used in applications that sometimes require local + * object while other times they may use a remote implementation. + * For example, the application could be configured to use a remote + * Event Service or to dynamically load an Event Service + * implementation and use the local copy instead. The local Event + * Service would federate to its remote peers to work as-if a single + * Event Service was in place. + * + * Such an application could be written as follows: + * + * int main (int argc, char* argv) + * { + * CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); + * + * CORBA::Object_var object = + * orb->resolve_initial_references("EventService"); + * // Use here... + * } + * + * if the application is invoked using: + * + * $ program -ORBInitRef EventService=IOR:.... + * + * then a remote event service is used, but the application could also + * be invoked using: + * + * $ program -ORBInitRef EventService=DLL:Event_Service_Loader + * + * In this case the Event_Service implementation will be dynamically + * loaded without any modifications to the application code. * - * The ORB is able to dynamically load the list of DLL formats it - * understands. That allow us to integrate formats such as - * corbaname:, http: or ftp: only when required. - * This class provides a uniform interface for all the DLL parsers */ class TAO_Export TAO_DLL_Parser : public TAO_IOR_Parser { -- cgit v1.2.1