00001 #ifndef neo_TypeMismatchException_hh_seen 00002 #define neo_TypeMismatchException_hh_seen 00003 00004 /* A file of auxiliaries that mainly distract the new reader. */ 00005 00006 namespace neo { 00007 namespace cca { 00008 00009 00014 class TypeMismatchException : public Exception 00015 { 00016 private: 00017 enum Type rt; 00018 enum Type at; 00019 00020 public: 00021 00022 TypeMismatchException(enum Type requestedType, enum Type actualType, const ::std::string & message) 00023 { 00024 rt = requestedType; 00025 at = actualType; 00026 setMessage(message); 00027 setType(Nonstandard); 00028 } 00029 00030 virtual ~TypeMismatchException() throw (){} 00031 00033 Type getRequestedType() { return rt; } 00035 Type getActualType() { return at; } 00036 00037 }; 00038 00039 } // end namespace cca 00040 } // end namespace neo 00041 00042 #endif // neo_TypeMismatchException_hh_seen