00001 #ifndef _IT_BUS_NILLABLE_BUILTIN_TYPES_FACTORY_H_
00002 #define _IT_BUS_NILLABLE_BUILTIN_TYPES_FACTORY_H_
00003
00004
00005
00006
00007 #include <it_bus/qname.h>
00008 #include <it_bus/builtin_types_factory.h>
00009 #include <it_bus/any_type.h>
00010 #include <it_bus/user_fault_exception.h>
00011
00012 namespace IT_Bus
00013 {
00014 class IT_AFC_API NillableBuiltInTypesFactory : public IT_Bus::BuiltInTypesFactory
00015 {
00016
00017 public:
00023 static void
00024 create_builtin_type_factory();
00025
00029 static void
00030 destroy_builtin_type_factory();
00031
00032 ~NillableBuiltInTypesFactory();
00033
00034 typedef IT_Bus::AnyType * (*create_type_ptr)();
00035
00039 static IT_Bus::AnyType *
00040 smf_create_boolean_holder();
00041
00045 static IT_Bus::AnyType *
00046 smf_create_byte_holder();
00047
00051 static IT_Bus::AnyType *
00052 smf_create_short_holder();
00053
00057 static IT_Bus::AnyType *
00058 smf_create_int_holder();
00059
00063 static IT_Bus::AnyType *
00064 smf_create_long_holder();
00065
00069 static IT_Bus::AnyType *
00070 smf_create_string_holder();
00071
00075 static IT_Bus::AnyType *
00076 smf_create_float_holder();
00077
00081 static IT_Bus::AnyType *
00082 smf_create_double_holder();
00083
00087 static IT_Bus::AnyType *
00088 smf_create_ubyte_holder();
00089
00093 static IT_Bus::AnyType *
00094 smf_create_ushort_holder();
00095
00099 static IT_Bus::AnyType *
00100 smf_create_uint_holder();
00101
00105 static IT_Bus::AnyType *
00106 smf_create_ulong_holder();
00107
00111 static IT_Bus::AnyType *
00112 smf_create_decimal_holder();
00113
00117 static IT_Bus::AnyType *
00118 smf_create_any_type_holder();
00119
00124 static IT_Bus::AnyType *
00125 smf_create_reference();
00126
00130 static IT_Bus::AnyType *
00131 smf_create_gyear();
00132
00136 static IT_Bus::AnyType *
00137 smf_create_ncname();
00138
00142 static IT_Bus::AnyType *
00143 smf_create_name();
00144
00148 static IT_Bus::AnyType *
00149 smf_create_pint();
00150
00154 static IT_Bus::AnyType *
00155 smf_create_id();
00156
00160 static IT_Bus::AnyType *
00161 smf_create_token();
00162
00166 static IT_Bus::AnyType *
00167 smf_create_nstring();
00168
00172 static IT_Bus::AnyType *
00173 smf_create_auri();
00174
00178 static IT_Bus::AnyType *
00179 smf_create_language();
00180
00184 static IT_Bus::AnyType *
00185 smf_create_date();
00186
00190 static IT_Bus::AnyType *
00191 smf_create_nmtokens();
00192
00196 static IT_Bus::AnyType *
00197 smf_create_nmtoken();
00198
00202 static IT_Bus::AnyType *
00203 smf_create_gmonth();
00204
00208 static IT_Bus::AnyType *
00209 smf_create_time();
00210
00214 static IT_Bus::AnyType *
00215 smf_create_qname();
00216
00220 static IT_Bus::AnyType *
00221 smf_create_nnint();
00222
00226 static IT_Bus::AnyType *
00227 smf_create_npint();
00228
00232 static IT_Bus::AnyType *
00233 smf_create_gmonthday();
00234
00238 static IT_Bus::AnyType *
00239 smf_create_date_time();
00240
00244 static IT_Bus::AnyType *
00245 smf_create_gyearmonth();
00246
00250 static IT_Bus::AnyType *
00251 smf_create_gday();
00252
00256 static IT_Bus::AnyType *
00257 smf_create_duration();
00258
00262 static IT_Bus::AnyType *
00263 smf_create_nint();
00264
00268 static IT_Bus::AnyType *
00269 smf_create_integer();
00270
00274 static IT_Bus::AnyType *
00275 smf_create_hbin();
00276
00280 static IT_Bus::AnyType *
00281 smf_create_base64();
00282
00283 private:
00291 NillableBuiltInTypesFactory();
00292 static NillableBuiltInTypesFactory * sm_builtin_type_factory;
00293 };
00294 }
00295
00296 #endif