00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TAO_TYPECODEFACTORY_ADAPTER_IMPL_H
00015 #define TAO_TYPECODEFACTORY_ADAPTER_IMPL_H
00016 #include "ace/pre.h"
00017
00018 #include "tao/TypeCodeFactory/typecodefactory_export.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024 #include "tao/TypeCodeFactory_Adapter.h"
00025 #include "ace/Service_Config.h"
00026 #include "tao/default_environment.h"
00027
00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 class TAO_TypeCodeFactory_Export TAO_TypeCodeFactory_Adapter_Impl
00040 : public TAO_TypeCodeFactory_Adapter
00041 {
00042 public:
00043 virtual ~TAO_TypeCodeFactory_Adapter_Impl (void);
00044
00045 virtual CORBA::TypeCode_ptr create_struct_tc (
00046 const char *id,
00047 const char *name,
00048 const CORBA::StructMemberSeq &members);
00049
00050 virtual CORBA::TypeCode_ptr create_union_tc (
00051 const char *id,
00052 const char *name,
00053 CORBA::TypeCode_ptr discriminator_type,
00054 const CORBA::UnionMemberSeq &members);
00055
00056 virtual CORBA::TypeCode_ptr create_enum_tc (
00057 const char *id,
00058 const char *name,
00059 const CORBA::EnumMemberSeq &members);
00060
00061 virtual CORBA::TypeCode_ptr create_alias_tc (
00062 const char *id,
00063 const char *name,
00064 CORBA::TypeCode_ptr original_type);
00065
00066 virtual CORBA::TypeCode_ptr create_exception_tc (
00067 const char *id,
00068 const char *name,
00069 const CORBA::StructMemberSeq &members);
00070
00071 virtual CORBA::TypeCode_ptr create_interface_tc (
00072 const char *id,
00073 const char *name);
00074
00075 virtual CORBA::TypeCode_ptr create_string_tc (
00076 CORBA::ULong bound);
00077
00078 virtual CORBA::TypeCode_ptr create_wstring_tc (
00079 CORBA::ULong bound);
00080
00081 virtual CORBA::TypeCode_ptr create_fixed_tc (
00082 CORBA::UShort digits,
00083 CORBA::UShort scale);
00084
00085 virtual CORBA::TypeCode_ptr create_sequence_tc (
00086 CORBA::ULong bound,
00087 CORBA::TypeCode_ptr element_type);
00088
00089 virtual CORBA::TypeCode_ptr create_array_tc (
00090 CORBA::ULong length,
00091 CORBA::TypeCode_ptr element_type);
00092
00093 virtual CORBA::TypeCode_ptr create_value_tc (
00094 const char *id,
00095 const char *name,
00096 CORBA::ValueModifier type_modifier,
00097 CORBA::TypeCode_ptr concrete_base,
00098 const CORBA::ValueMemberSeq &members);
00099
00100 virtual CORBA::TypeCode_ptr create_value_box_tc (
00101 const char *id,
00102 const char *name,
00103 CORBA::TypeCode_ptr boxed_type);
00104
00105 virtual CORBA::TypeCode_ptr create_native_tc (
00106 const char *id,
00107 const char *name);
00108
00109 virtual CORBA::TypeCode_ptr create_recursive_tc (
00110 const char *id);
00111
00112 virtual CORBA::TypeCode_ptr create_abstract_interface_tc (
00113 const char *id,
00114 const char *name);
00115
00116 virtual CORBA::TypeCode_ptr create_local_interface_tc (
00117 const char *id,
00118 const char *name);
00119
00120 virtual CORBA::TypeCode_ptr create_component_tc (
00121 const char *id,
00122 const char *name);
00123
00124 virtual CORBA::TypeCode_ptr create_home_tc (
00125 const char *id,
00126 const char *name);
00127
00128 virtual CORBA::TypeCode_ptr create_event_tc (
00129 const char *id,
00130 const char *name,
00131 CORBA::ValueModifier type_modifier,
00132 CORBA::TypeCode_ptr concrete_base,
00133 const CORBA::ValueMemberSeq &members);
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 virtual CORBA::TypeCode_ptr create_enum_tc (
00144 char const * id,
00145 char const * name,
00146 ACE_Array_Base<CORBA::String_var> const & enumerators,
00147 CORBA::ULong ncases);
00148
00149
00150 virtual CORBA::TypeCode_ptr create_struct_except_tc (
00151 CORBA::TCKind,
00152 char const * id,
00153 char const * name,
00154 ACE_Array_Base<
00155 TAO::TypeCode::Struct_Field<CORBA::String_var,
00156 CORBA::TypeCode_var> > const & fields,
00157 CORBA::ULong nfields);
00158
00159
00160 virtual CORBA::TypeCode_ptr create_union_tc (
00161 char const * id,
00162 char const * name,
00163 CORBA::TypeCode_ptr discriminant_type,
00164 ACE_Array_Base<TAO::TypeCode::Case<CORBA::String_var,
00165 CORBA::TypeCode_var> > const & cases,
00166 CORBA::ULong ncases,
00167 CORBA::Long default_index,
00168 char const * default_case_name,
00169 CORBA::TypeCode_ptr default_case_type);
00170
00171
00172 virtual CORBA::TypeCode_ptr create_value_event_tc (
00173 CORBA::TCKind,
00174 char const * id,
00175 char const * name,
00176 CORBA::ValueModifier modifier,
00177 CORBA::TypeCode_ptr concrete_base,
00178 ACE_Array_Base<
00179 TAO::TypeCode::Value_Field<CORBA::String_var,
00180 CORBA::TypeCode_var> > const & fields,
00181 CORBA::ULong nfields);
00182
00183
00184
00185
00186 static int Initializer (void);
00187 };
00188
00189 static int
00190 TAO_Requires_TypeCodeFactory_Initializer =
00191 TAO_TypeCodeFactory_Adapter_Impl::Initializer ();
00192
00193 TAO_END_VERSIONED_NAMESPACE_DECL
00194
00195 ACE_STATIC_SVC_DECLARE (TAO_TypeCodeFactory_Adapter_Impl)
00196 ACE_FACTORY_DECLARE (TAO_TypeCodeFactory, TAO_TypeCodeFactory_Adapter_Impl)
00197
00198
00199 #include "ace/post.h"
00200 #endif