diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-26 17:27:17 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-26 17:27:17 +0000 |
commit | fa801a70e7ccbc3e6f65822077408d844e109688 (patch) | |
tree | c112cf678e0934efee5517550c41fcf9b0bca60c /TAO/tao/DLL_Parser.h | |
parent | d5261f84713e6cc1dbb71d290ec4b112a601b6c2 (diff) | |
download | ATCD-fa801a70e7ccbc3e6f65822077408d844e109688.tar.gz |
ChangeLogTag:Fri Jan 26 09:07:14 2001 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/tao/DLL_Parser.h')
-rw-r--r-- | TAO/tao/DLL_Parser.h | 49 |
1 files changed, 44 insertions, 5 deletions
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 <object> 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 { |