00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TAO_PARSER_REGISTRY_H
00016 #define TAO_PARSER_REGISTRY_H
00017
00018 #include "ace/pre.h"
00019
00020 #include "tao/TAO_Export.h"
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026 #include "tao/Versioned_Namespace.h"
00027
00028 #include "ace/os_include/os_stddef.h"
00029
00030
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032
00033
00034 class TAO_ORB_Core;
00035 class TAO_IOR_Parser;
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 class TAO_Export TAO_Parser_Registry
00047 {
00048 public:
00049
00050
00051 TAO_Parser_Registry (void);
00052
00053
00054 ~TAO_Parser_Registry (void);
00055
00056
00057
00058 int open (TAO_ORB_Core *orb_core);
00059
00060
00061
00062 TAO_IOR_Parser *match_parser (const char *ior_string);
00063
00064
00065 typedef TAO_IOR_Parser** Parser_Iterator;
00066 Parser_Iterator begin (void) const;
00067 Parser_Iterator end (void) const;
00068
00069 private:
00070
00071
00072 TAO_Parser_Registry (const TAO_Parser_Registry&);
00073 void operator= (const TAO_Parser_Registry&);
00074
00075 private:
00076
00077
00078 TAO_IOR_Parser **parsers_;
00079
00080
00081 size_t size_;
00082
00083 };
00084
00085 TAO_END_VERSIONED_NAMESPACE_DECL
00086
00087 #if defined(__ACE_INLINE__)
00088 #include "tao/Parser_Registry.inl"
00089 #endif
00090
00091 #include "ace/post.h"
00092
00093 #endif