summaryrefslogtreecommitdiff
path: root/TAO/tao/DLL_Parser.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-26 17:27:17 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-26 17:27:17 +0000
commit70c51d83e92e94dbba1c71b601781d64f7dac7ff (patch)
treec112cf678e0934efee5517550c41fcf9b0bca60c /TAO/tao/DLL_Parser.h
parent71507316f1d3951574d655d3c827302e1cf21f35 (diff)
downloadATCD-70c51d83e92e94dbba1c71b601781d64f7dac7ff.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.h49
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
{