summaryrefslogtreecommitdiff
path: root/TAO/tao/DLL_Parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/DLL_Parser.h')
-rw-r--r--TAO/tao/DLL_Parser.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/TAO/tao/DLL_Parser.h b/TAO/tao/DLL_Parser.h
new file mode 100644
index 00000000000..f8079e829e6
--- /dev/null
+++ b/TAO/tao/DLL_Parser.h
@@ -0,0 +1,63 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// DLL_Parser.h
+//
+// = AUTHOR
+// Carlos O'Ryan (coryan@cs.wustl.edu)
+//
+// ============================================================================
+
+#ifndef TAO_DLL_PARSER_H
+#define TAO_DLL_PARSER_H
+#include "ace/pre.h"
+
+#include "tao/IOR_Parser.h"
+#include "ior_dll_export.h"
+#include "ace/Service_Config.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class TAO_Export TAO_DLL_Parser : public TAO_IOR_Parser
+{
+ // = TITLE
+ // Defines the interface for the pluggable DLL parser components
+ //
+ // = DESCRIPTION
+ // 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
+ //
+public:
+ TAO_DLL_Parser (void);
+ // Constructor
+
+ virtual ~TAO_DLL_Parser (void);
+ // The destructor
+
+ // = The IOR_Parser methods, please read the documentation in
+ // IOR_Parser.h
+ virtual int match_prefix (const char *ior_string) const;
+ virtual CORBA::Object_ptr parse_string (const char *ior,
+ CORBA::ORB_ptr orb,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined (__ACE_INLINE__)
+# include "DLL_Parser.i"
+#endif /* __ACE_INLINE__ */
+
+ACE_STATIC_SVC_DECLARE (TAO_DLL_Parser)
+ACE_FACTORY_DECLARE (TAO, TAO_DLL_Parser)
+
+#include "ace/post.h"
+#endif /* TAO_DLL_PARSER_H */