it_bus/reflect/complex_content.h

00001 #ifndef _IT_REFLECT_COMPLEX_CONTENT_H_
00002 #define _IT_REFLECT_COMPLEX_CONTENT_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/reflect/complex_type.h>
00008 
00009 namespace IT_Reflect
00010 {
00019     class IT_AFC_API ComplexContent : public virtual Reflection
00020     {
00021       public:
00025         ComplexContent() IT_THROW_DECL(());
00026 
00030         virtual ~ComplexContent() IT_THROW_DECL(());
00031 
00036         virtual const Reflection*
00037         get_base() const IT_THROW_DECL((ReflectException)) = 0;
00038         
00043         virtual Reflection*
00044         use_base() IT_THROW_DECL((ReflectException)) = 0;
00045 
00053         virtual const Reflection*
00054         get_extension() const IT_THROW_DECL((ReflectException)) = 0;
00055         
00062         virtual Reflection*
00063         use_extension() IT_THROW_DECL((ReflectException)) = 0;
00064 
00072         virtual const Reflection*
00073         get_restriction() const IT_THROW_DECL((ReflectException)) = 0;
00074         
00081         virtual Reflection*
00082         use_restriction() IT_THROW_DECL((ReflectException)) = 0;
00083 
00084       private:
00085         // private and unimplemented to prevent copying
00086         ComplexContent(const ComplexContent&);
00087         void operator=(const ComplexContent&);
00088     };
00089 }
00090 
00091 
00092 #endif  

Generated on Thu Sep 7 11:39:00 2006 for Artix by  doxygen 1.4.7