it_bus_pdk/any_type_factory.h

00001 #ifndef _IT_BUS_PDK_ANY_TYPE_FACTORY_H_
00002 #define _IT_BUS_PDK_ANY_TYPE_FACTORY_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus_pdk/unknown_type_exception.h>
00008 #include <it_bus_pdk/registry.h>
00009 
00010 namespace IT_WSDL
00011 {
00012     class WSDLPart;
00013 }
00014 
00015 namespace IT_XMLSCHEMA_Typenodes
00016 {
00017     class SchemaType;
00018 }
00019 
00020 namespace IT_Bus
00021 {
00022     class AnyType;
00023     class UserFaultException;
00024     
00030     class IT_AFC_API AnyTypeFactory : public RegistryBase
00031     {
00032       public:
00033         virtual ~AnyTypeFactory() throw(());
00034 
00042         virtual AnyType*
00043         create_from_type(
00044             const QName& type_name
00045         ) const throw((UnknownTypeException)) = 0;
00046         
00054         virtual AnyType*
00055         create_from_element(
00056             const QName& element_name
00057         ) const throw((UnknownTypeException)) = 0;
00058 
00070         virtual UserFaultException*
00071         create_user_fault(
00072             const QName& message
00073         ) const throw((UnknownTypeException)) = 0;
00074 
00078         virtual AnyType*
00079         create_from_part(
00080             const IT_WSDL::WSDLPart& part
00081         ) const throw((UnknownTypeException)) = 0;
00082 
00086         virtual AnyType*
00087         create_from_model(
00088             const IT_XMLSCHEMA_Typenodes::SchemaType* schema_type 
00089         ) const throw((UnknownTypeException)) = 0;
00090     };
00091 }
00092 
00093 
00094 #endif  

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