00001 #ifndef _IT_REFLECT_DERIVED_SIMPLE_TYPE_H_
00002 #define _IT_REFLECT_DERIVED_SIMPLE_TYPE_H_
00003
00004
00005
00006 #include <it_bus/reflect/simple_type.h>
00007
00008 namespace IT_Reflect
00009 {
00013 class IT_AFC_API DerivedSimpleType : public virtual IT_Reflect::SimpleType
00014 {
00015 public:
00016
00020 DerivedSimpleType() throw(());
00021
00025 virtual ~DerivedSimpleType() throw(());
00026
00034 virtual const SimpleType*
00035 get_base() const throw((ReflectException)) = 0;
00036
00044 virtual SimpleType*
00045 use_base() throw((ReflectException)) = 0;
00046
00047 private:
00048
00049 DerivedSimpleType(const DerivedSimpleType&);
00050 void operator=(const DerivedSimpleType&);
00051 };
00052 }
00053
00054
00055 #endif