00001
00011
00012
00013 #ifndef IMEDGINEALGORITHM_FACTORY_EXCEPTION_H
00014 #define IMEDGINEALGORITHM_FACTORY_EXCEPTION_H
00015
00016 #include "exception.h"
00017
00018 namespace imedgine {
00019
00020
00034
00035
00036 class AlgorithmFactoryException : public Exception
00037 {
00038 public:
00039
00040
00043 enum { LOADING_LIBRARY_FAILED,
00044 INVALID_LIBRARY,
00045 DUPLICATE_LIBRARY_NAME };
00046
00047
00050
00051 AlgorithmFactoryException(int type, std::string detail);
00052
00053
00056
00057 virtual ~AlgorithmFactoryException() throw();
00058
00059
00064
00065 virtual char const* what() const throw();
00066
00067
00072
00073 const int getType() const;
00074
00075
00080
00081 std::string const& getDetail() const;
00082
00083 private:
00084
00085 int type_;
00086 std::string detail_;
00087
00088 };
00089
00090 }
00091 #endif