00001 #ifndef _IT_REFLECT_REFLECTION_IMPL_H_
00002 #define _IT_REFLECT_REFLECTION_IMPL_H_
00003
00004
00005
00006
00007 #include <it_bus/reflect/reflection.h>
00008
00009 namespace IT_Reflect
00010 {
00014 class IT_AFC_API ReflectionImpl : public virtual Reflection
00015 {
00016 public:
00020 ReflectionImpl() IT_THROW_DECL(());
00021
00022 virtual const IT_Bus::QName&
00023 get_type_name() const IT_THROW_DECL(());
00024
00025 virtual IT_Bus::AnyType::Kind
00026 get_type_kind() const IT_THROW_DECL(());
00027
00028 virtual const IT_Bus::AnyType&
00029 get_reflected() const IT_THROW_DECL(());
00030
00031 virtual IT_Bus::AnyType&
00032 get_reflected() IT_THROW_DECL(());
00033
00034 protected:
00039 virtual IT_Bus::AnyType&
00040 get_data() const IT_THROW_DECL(()) = 0;
00041 };
00042 }
00043
00044
00045 #endif