00001 #ifndef _IT_BUS_REFLECT_EXCEPTION_H_
00002 #define _IT_BUS_REFLECT_EXCEPTION_H_
00003
00004
00005
00006
00007 #include <it_bus/types.h>
00008 #include <it_bus/api_defines.h>
00009 #include <it_bus/exception.h>
00010
00011 namespace IT_Bus
00012 {
00013 class QName;
00014 }
00015
00016 namespace IT_Reflect
00017 {
00021 class IT_AFC_API ReflectException :
00022 public IT_Bus::Exception
00023 {
00024 public:
00029 ReflectException(
00030 const IT_Bus::String& message
00031 ) IT_THROW_DECL(());
00032
00037 ReflectException(
00038 const IT_Bus::QName& type
00039 ) IT_THROW_DECL(());
00040
00045 ReflectException(
00046 const IT_Bus::QName& expected,
00047 const IT_Bus::QName& actual
00048 ) IT_THROW_DECL(());
00049
00053 virtual
00054 ~ReflectException() IT_THROW_DECL(());
00055
00059 virtual IT_Bus::Exception*
00060 clone() const;
00061
00065 virtual void
00066 rethrow() const;
00067 };
00068
00069 class Reflection;
00070
00071 IT_AFC_API Reflection*
00072 throw_unsupported() IT_THROW_DECL((ReflectException));
00073 }
00074
00075 #endif