00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CONEXUSSTATE_ERROR_H
00020 #define CONEXUSSTATE_ERROR_H
00021
00022 #include <conexus/error.h>
00023
00024 namespace Conexus
00025 {
00026
00032 class state_error: public conexus_error
00033 {
00034 public:
00035 state_error(int e=0): conexus_error("Unknown error, state transition failed.",e,"state")
00036 { }
00037 state_error(const std::string s, int e=0): conexus_error(s,e,"state")
00038 { }
00039 }
00040 ;
00041
00042 namespace error
00043 {
00044
00045 namespace state
00046 {
00047
00053 class illegal: public state_error
00054 {
00055 public:
00056 illegal(): state_error("Attempting to transition to an illegal state.", -1)
00057 { }
00058 }
00059 ;
00060
00066 class inconsistent: public state_error
00067 {
00068 public:
00069 inconsistent(): state_error("Attempting to transition to an inconsistent state.", -1)
00070 { }
00071 }
00072 ;
00073
00080 class failed: public state_error
00081 {
00082 public:
00083 failed(): state_error("State transition was legal and consistent, but it still failed.", -1)
00084 { }
00085 }
00086 ;
00087
00088 }
00089
00090 }
00091
00092 }
00093
00094 #endif // CONEXUSSEND_ERROR_H