summaryrefslogtreecommitdiff
path: root/TAO/tao/IOR_Parser.h
diff options
context:
space:
mode:
authordoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-09-14 23:41:06 +0000
committerdoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-09-14 23:41:06 +0000
commitf9e5064a8b767abff13ea46125302a07ef236ce5 (patch)
tree57a727d9902a89fa2a5be214b1e1a19560331202 /TAO/tao/IOR_Parser.h
parent71547769e40d8875f2f3cdc632250c0d76f43086 (diff)
downloadATCD-f9e5064a8b767abff13ea46125302a07ef236ce5.tar.gz
ChangeLogTag:Thu Sep 14 16:39:12 2000 Priyanka Gontla <pgontla@ece.uci.edu>
Diffstat (limited to 'TAO/tao/IOR_Parser.h')
-rw-r--r--TAO/tao/IOR_Parser.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/TAO/tao/IOR_Parser.h b/TAO/tao/IOR_Parser.h
new file mode 100644
index 00000000000..2657a091431
--- /dev/null
+++ b/TAO/tao/IOR_Parser.h
@@ -0,0 +1,61 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// IOR_Parser.h
+//
+// = AUTHOR
+// Carlos O'Ryan (coryan@cs.wustl.edu)
+//
+// ============================================================================
+
+#ifndef TAO_IOR_PARSER_H
+#define TAO_IOR_PARSER_H
+#include "ace/pre.h"
+
+#include "tao/corbafwd.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Service_Object.h"
+
+class TAO_Export TAO_IOR_Parser : public ACE_Service_Object
+{
+ // = TITLE
+ // Defines the interface for the pluggable IOR parser components
+ //
+ // = DESCRIPTION
+ // The ORB is able to dynamically load the list of IOR 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 IOR parsers
+ //
+public:
+ virtual ~TAO_IOR_Parser (void);
+ // The destructor
+
+ virtual int match_prefix (const char *ior_string) const = 0;
+ // Return 1 if <ior_string> starts with a prefix known to this IOR
+ // parser
+
+ virtual CORBA::Object_ptr parse_string (const char *ior,
+ CORBA::ORB_ptr orb,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Parse the <ior> argument and return an object reference.
+ // The call may raise the standard system exceptions (NO_MEMORY,
+ // INV_OBJREF, etc.)
+};
+
+#if defined (__ACE_INLINE__)
+# include "tao/IOR_Parser.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /* TAO_IOR_PARSER_H */