00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef ACE_NAME_SPACE_H
00015 #define ACE_NAME_SPACE_H
00016 #include "ace/pre.h"
00017
00018 #include "ace/ACE_export.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024 #include "ace/SString.h"
00025 #include "ace/Unbounded_Set.h"
00026 #include "ace/Name_Proxy.h"
00027
00028 typedef ACE_Unbounded_Set<ACE_NS_WString> ACE_WSTRING_SET;
00029
00030
00031
00032
00033
00034
00035 class ACE_Export ACE_Name_Binding
00036 {
00037 public:
00038
00039
00040 ACE_Name_Binding (const ACE_NS_WString &n,
00041 const ACE_NS_WString &v,
00042 const char *t);
00043
00044
00045 ACE_Name_Binding (void);
00046
00047
00048 ACE_Name_Binding (const ACE_Name_Binding &);
00049
00050
00051 void operator= (const ACE_Name_Binding &);
00052
00053
00054 ~ACE_Name_Binding (void);
00055
00056
00057 int operator == (const ACE_Name_Binding &s) const;
00058
00059
00060 ACE_NS_WString name_;
00061
00062
00063 ACE_NS_WString value_;
00064
00065
00066 char *type_;
00067 };
00068
00069 typedef ACE_Unbounded_Set<ACE_Name_Binding> ACE_BINDING_SET;
00070 typedef ACE_Unbounded_Set_Iterator<ACE_Name_Binding> ACE_BINDING_ITERATOR;
00071
00072 typedef ACE_Unbounded_Set<ACE_NS_WString> ACE_PWSTRING_SET;
00073 typedef ACE_Unbounded_Set_Iterator<ACE_NS_WString> ACE_PWSTRING_ITERATOR;
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 class ACE_Export ACE_Name_Space
00085 {
00086 public:
00087
00088
00089
00090 virtual ~ACE_Name_Space (void);
00091
00092
00093 virtual int bind (const ACE_NS_WString &name_in,
00094 const ACE_NS_WString &value_in,
00095 const char *type_in = "") = 0;
00096
00097
00098
00099
00100
00101
00102
00103 virtual int rebind (const ACE_NS_WString &name_in,
00104 const ACE_NS_WString &value_in,
00105 const char *type_in = "") = 0;
00106
00107
00108
00109 virtual int unbind (const ACE_NS_WString &name_in) = 0;
00110
00111
00112
00113 virtual int resolve (const ACE_NS_WString &name_in,
00114 ACE_NS_WString &value_out,
00115 char *&type_out) = 0;
00116
00117
00118
00119 virtual int list_names (ACE_WSTRING_SET &set_out,
00120 const ACE_NS_WString &pattern_in) = 0;
00121
00122
00123
00124 virtual int list_values (ACE_WSTRING_SET &set_out,
00125 const ACE_NS_WString &pattern_in) = 0;
00126
00127
00128
00129 virtual int list_types (ACE_WSTRING_SET &set_out,
00130 const ACE_NS_WString &pattern_in) = 0;
00131
00132
00133
00134
00135
00136
00137 virtual int list_name_entries (ACE_BINDING_SET &set,
00138 const ACE_NS_WString &pattern) = 0;
00139
00140
00141
00142
00143
00144
00145 virtual int list_value_entries (ACE_BINDING_SET &set,
00146 const ACE_NS_WString &pattern) = 0;
00147
00148
00149
00150
00151
00152
00153 virtual int list_type_entries (ACE_BINDING_SET &set,
00154 const ACE_NS_WString &pattern) = 0;
00155
00156
00157 virtual void dump (void) const = 0;
00158 };
00159
00160 #include "ace/post.h"
00161 #endif