it_bus_pdk/context_attrs/wsaddressing_2004_xsdTypesFactory.h

00001 /* Generated by WSDL CPP Compiler. Please do not edit this file. wsaddressing_2004_xsdTypesFactory.h Version : 4.2 */
00002 #ifndef IT_Bus_wsaddressing_2004_xsdTypes_FACTORY_H_
00003 #define IT_Bus_wsaddressing_2004_xsdTypes_FACTORY_H_
00004 
00005 #if !defined(IT_CONTEXT_ATTRIBUTE_API)
00006 #if defined(IT_CONTEXT_ATTRIBUTE_API_EXPORT)
00007 #define IT_CONTEXT_ATTRIBUTE_API    IT_DECLSPEC_EXPORT
00008 #else
00009 #define IT_CONTEXT_ATTRIBUTE_API    IT_DECLSPEC_IMPORT
00010 #endif
00011 #endif
00012 
00013 
00014 #include <it_dsa/hash_map.h>
00015 #include <it_bus/qname.h>
00016 #include <it_bus/type_factory.h>
00017 #include <it_bus/any_type.h>
00018 #include <it_bus/user_fault_exception.h>
00019 
00020 namespace WS_Addressing_2004
00021 {
00022     class IT_CONTEXT_ATTRIBUTE_API wsaddressing_2004_xsdTypesFactory : public IT_Bus::TypeFactory
00023     {
00024       public:
00025         wsaddressing_2004_xsdTypesFactory();
00026 
00027         virtual ~wsaddressing_2004_xsdTypesFactory();
00028 
00029         typedef IT_Bus::AnyType * (*create_type_ptr)();
00030 
00031         typedef IT_Bus::UserFaultException * (*create_exception_ptr)();
00032 
00033         typedef IT_Bus::AnyType * (*create_element_ptr)();
00034 
00035         IT_Bus::AnyType *
00036         create_type(
00037             const IT_Bus::QName& type_name
00038         ) const ;
00039 
00040         void destroy_type(
00041             IT_Bus::AnyType * any_type
00042         ) const;
00043 
00044         IT_Bus::UserFaultException *
00045         create_exception(
00046             const IT_Bus::QName& type_name
00047         ) const ;
00048 
00049         void destroy_exception(
00050             IT_Bus::UserFaultException * ex_type
00051         ) const;
00052 
00053         IT_Bus::AnyType *
00054         create_type_for_element(
00055             const IT_Bus::QName& element_name
00056         ) const ;
00057 
00058         void destroy_element(
00059             IT_Bus::AnyType * any_type
00060         ) const;
00061 
00062         static IT_Bus::AnyType *
00063         smf_create_ReferencePropertiesType();
00064 
00065         static IT_Bus::AnyType *
00066         smf_create_RelationshipTypeValues();
00067 
00068         static IT_Bus::AnyType *
00069         smf_create_ServiceNameType();
00070 
00071         static IT_Bus::AnyType *
00072         smf_create_ReferenceParametersType();
00073 
00074         static IT_Bus::AnyType *
00075         smf_create_AttributedURI();
00076 
00077         static IT_Bus::AnyType *
00078         smf_create_ReplyAfterType();
00079 
00080         static IT_Bus::AnyType *
00081         smf_create_AttributedQName();
00082 
00083         static IT_Bus::AnyType *
00084         smf_create_EndpointReferenceType();
00085 
00086         static IT_Bus::AnyType *
00087         smf_create_Relationship();
00088 
00089         static IT_Bus::AnyType *
00090         smf_create_FaultSubcodeValues();
00091 
00092       private:
00093         void populate_type_map();
00094 
00095         void populate_ex_map();
00096 
00097         void populate_element_map();
00098 
00099         void populate_namespace_uri_map();
00100 
00101         void insert_type_fn_ptr(const IT_Bus::QName & type_name, create_type_ptr op_ptr);
00102 
00103         void insert_exception_fn_ptr(const IT_Bus::QName & ex_name, create_exception_ptr op_ptr);
00104 
00105         void insert_element_type_map(const IT_Bus::QName& element_name, const IT_Bus::QName& type_name);
00106         void insert_element_fn_ptr(const IT_Bus::QName& element_name, create_element_ptr op_ptr);
00107 
00108         static IT_HashMap<IT_Bus::QName, create_type_ptr, IT_Bus::QNameHash, IT_Bus::QNameEq>  sm_type_map;
00109         static IT_HashMap<IT_Bus::QName, create_exception_ptr, IT_Bus::QNameHash, IT_Bus::QNameEq>  sm_ex_map;
00110         static IT_HashMap<IT_Bus::QName, create_element_ptr, IT_Bus::QNameHash, IT_Bus::QNameEq>  sm_element_map;
00111         static IT_Vector<IT_Bus::String> sm_uri_vector;
00112     };
00113 }
00114 #endif

Generated on Tue Mar 20 15:27:50 2007 for Artix by  doxygen 1.5.1-p1