Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

it_wsdl/wsdl_extension_factory.h

00001 #ifndef _IT_WSDL_WSDL_EXTENSION_FACTORY_H_
00002 #define _IT_WSDL_WSDL_EXTENSION_FACTORY_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_wsdl/api_defines.h>
00008 #include <it_wsdl/wsdl_extension_element.h>
00009 #include <it_bus/type_factory.h>
00010 
00011 namespace IT_WSDL
00012 {
00013     class IT_WSDL_API WSDLExtensionFactory : public IT_Bus::TypeFactory
00014     {
00015       public:
00016         virtual WSDLExtensionElement*
00017         create_extension_element(
00018             WSDLExtensibleNode&  parent,
00019             const IT_Bus::QName& extension_element
00020         ) const = 0;
00021 
00022         virtual IT_Bus::AnyType*
00023         create_type(
00024             const IT_Bus::QName& extension_element
00025         ) const = 0;
00026 
00027         virtual void
00028         destroy_type(
00029             IT_Bus::AnyType* element
00030         ) const = 0;
00031 
00032         virtual IT_Bus::AnyType*
00033         create_type_for_element(
00034             const IT_Bus::QName& element_name
00035         ) const;
00036 
00037         virtual IT_Bus::UserFaultException* 
00038         create_exception(
00039             const IT_Bus::QName& type_name
00040         ) const;
00041 
00042         virtual void 
00043         destroy_exception(
00044             IT_Bus::UserFaultException* ex_type
00045         ) const;
00046 
00047       protected:
00048         WSDLExtensionFactory() {}
00049 
00050       private:
00051         // private and unimplemented to prevent copying
00052         WSDLExtensionFactory(const WSDLExtensionFactory&);
00053         void operator=(const WSDLExtensionFactory&);
00054     };
00055 }
00056 
00057 #endif  

Generated on Wed Mar 22 12:23:19 2006 for Artix by  doxygen 1.3.9.1