00001 #ifndef _IT_REFLECT_COMPLEX_CONTENT_H_
00002 #define _IT_REFLECT_COMPLEX_CONTENT_H_
00003
00004
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
00086 ComplexContent(const ComplexContent&);
00087 void operator=(const ComplexContent&);
00088 };
00089 }
00090
00091
00092 #endif