summaryrefslogtreecommitdiffabout
path: root/include/opkele/exception.h
authorMichael Krelin <hacker@klever.net>2007-12-04 19:02:15 (UTC)
committer Michael Krelin <hacker@klever.net>2007-12-04 19:02:15 (UTC)
commit7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa (patch) (unidiff)
tree42a2983bd4fdbba0b49d9a5329e5f819ad73d5ec /include/opkele/exception.h
parent206de587733c5dbde280fb6e9f1eab2f02de7f54 (diff)
downloadlibopkele-7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa.zip
libopkele-7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa.tar.gz
libopkele-7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa.tar.bz2
Minor improvements
- almost irrelevant documentation updates - introduced id_res_expired_on_delivery exception to be thrown if the association has expired right before it could've been used for signature verification. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'include/opkele/exception.h') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/exception.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/opkele/exception.h b/include/opkele/exception.h
index 753a818..2ff44b7 100644
--- a/include/opkele/exception.h
+++ b/include/opkele/exception.h
@@ -45,182 +45,191 @@
45# define OPKELE_CP_ 45# define OPKELE_CP_
46/** 46/**
47 * the dummy define for the konforka-based rethrow of exception 47 * the dummy define for the konforka-based rethrow of exception
48 */ 48 */
49# define OPKELE_RETHROW 49# define OPKELE_RETHROW
50#endif /* OPKELE_HAVE_KONFORKA */ 50#endif /* OPKELE_HAVE_KONFORKA */
51/** 51/**
52 * the exception parameters list to pass to constructor 52 * the exception parameters list to pass to constructor
53 */ 53 */
54# define OPKELE_E_CONS OPKELE_E_CONS_ w 54# define OPKELE_E_CONS OPKELE_E_CONS_ w
55 55
56namespace opkele { 56namespace opkele {
57 using std::string; 57 using std::string;
58 58
59 /** 59 /**
60 * the base opkele exception class 60 * the base opkele exception class
61 */ 61 */
62 class exception : public 62 class exception : public
63# ifdef OPKELE_HAVE_KONFORKA 63# ifdef OPKELE_HAVE_KONFORKA
64 konforka::exception 64 konforka::exception
65# else 65# else
66 std::exception 66 std::exception
67# endif 67# endif
68 { 68 {
69 public: 69 public:
70# ifdef OPKELE_HAVE_KONFORKA 70# ifdef OPKELE_HAVE_KONFORKA
71 explicit 71 explicit
72 exception(const string& fi,const string& fu,int l,const string& w) 72 exception(const string& fi,const string& fu,int l,const string& w)
73 : konforka::exception(fi,fu,l,w) { } 73 : konforka::exception(fi,fu,l,w) { }
74# else /* OPKELE_HAVE_KONFORKA */ 74# else /* OPKELE_HAVE_KONFORKA */
75 string _what; 75 string _what;
76 explicit 76 explicit
77 exception(const string& w) 77 exception(const string& w)
78 : _what(w) { } 78 : _what(w) { }
79 virtual ~exception() throw(); 79 virtual ~exception() throw();
80 virtual const char * what() const throw(); 80 virtual const char * what() const throw();
81# endif /* OPKELE_HAVE_KONFORKA */ 81# endif /* OPKELE_HAVE_KONFORKA */
82 }; 82 };
83 83
84 /** 84 /**
85 * thrown in case of failed conversion 85 * thrown in case of failed conversion
86 */ 86 */
87 class failed_conversion : public exception { 87 class failed_conversion : public exception {
88 public: 88 public:
89 failed_conversion(OPKELE_E_PARS) 89 failed_conversion(OPKELE_E_PARS)
90 : exception(OPKELE_E_CONS) { } 90 : exception(OPKELE_E_CONS) { }
91 }; 91 };
92 /** 92 /**
93 * thrown in case of failed lookup (either parameter or persistent store) 93 * thrown in case of failed lookup (either parameter or persistent store)
94 */ 94 */
95 class failed_lookup : public exception { 95 class failed_lookup : public exception {
96 public: 96 public:
97 failed_lookup(OPKELE_E_PARS) 97 failed_lookup(OPKELE_E_PARS)
98 : exception(OPKELE_E_CONS) { } 98 : exception(OPKELE_E_CONS) { }
99 }; 99 };
100 /** 100 /**
101 * thrown in case of bad input (either local or network) 101 * thrown in case of bad input (either local or network)
102 */ 102 */
103 class bad_input : public exception { 103 class bad_input : public exception {
104 public: 104 public:
105 bad_input(OPKELE_E_PARS) 105 bad_input(OPKELE_E_PARS)
106 : exception(OPKELE_E_CONS) { } 106 : exception(OPKELE_E_CONS) { }
107 }; 107 };
108 108
109 /** 109 /**
110 * thrown on failed assertion 110 * thrown on failed assertion
111 */ 111 */
112 class failed_assertion : public exception { 112 class failed_assertion : public exception {
113 public: 113 public:
114 failed_assertion(OPKELE_E_PARS) 114 failed_assertion(OPKELE_E_PARS)
115 : exception(OPKELE_E_CONS) { } 115 : exception(OPKELE_E_CONS) { }
116 }; 116 };
117 117
118 /** 118 /**
119 * thrown if the handle being retrieved is invalid 119 * thrown if the handle being retrieved is invalid
120 */ 120 */
121 class invalid_handle : public exception { 121 class invalid_handle : public exception {
122 public: 122 public:
123 invalid_handle(OPKELE_E_PARS) 123 invalid_handle(OPKELE_E_PARS)
124 : exception(OPKELE_E_CONS) { } 124 : exception(OPKELE_E_CONS) { }
125 }; 125 };
126 /** 126 /**
127 * thrown if the handle passed to check_authentication request is not 127 * thrown if the handle passed to check_authentication request is not
128 * stateless 128 * stateless
129 */ 129 */
130 class stateful_handle : public exception { 130 class stateful_handle : public exception {
131 public: 131 public:
132 stateful_handle(OPKELE_E_PARS) 132 stateful_handle(OPKELE_E_PARS)
133 : exception(OPKELE_E_CONS) { } 133 : exception(OPKELE_E_CONS) { }
134 }; 134 };
135 135
136 /** 136 /**
137 * thrown if check_authentication request fails 137 * thrown if check_authentication request fails
138 */ 138 */
139 class failed_check_authentication : public exception { 139 class failed_check_authentication : public exception {
140 public: 140 public:
141 failed_check_authentication(OPKELE_E_PARS) 141 failed_check_authentication(OPKELE_E_PARS)
142 : exception(OPKELE_E_CONS) { } 142 : exception(OPKELE_E_CONS) { }
143 }; 143 };
144 144
145 /** 145 /**
146 * thrown if the id_res request result is negative 146 * thrown if the id_res request result is negative
147 */ 147 */
148 class id_res_failed : public exception { 148 class id_res_failed : public exception {
149 public: 149 public:
150 id_res_failed(OPKELE_E_PARS) 150 id_res_failed(OPKELE_E_PARS)
151 : exception(OPKELE_E_CONS) { } 151 : exception(OPKELE_E_CONS) { }
152 }; 152 };
153 /** 153 /**
154 * thrown if the user_setup_url is provided with negative response 154 * thrown if the user_setup_url is provided with negative response
155 */ 155 */
156 class id_res_setup : public id_res_failed { 156 class id_res_setup : public id_res_failed {
157 public: 157 public:
158 string setup_url; 158 string setup_url;
159 id_res_setup(OPKELE_E_PARS,const string& su) 159 id_res_setup(OPKELE_E_PARS,const string& su)
160 : id_res_failed(OPKELE_E_CONS), setup_url(su) { } 160 : id_res_failed(OPKELE_E_CONS), setup_url(su) { }
161 ~id_res_setup() throw() { } 161 ~id_res_setup() throw() { }
162 }; 162 };
163 /** 163 /**
164 * thrown in case of signature mismatch 164 * thrown in case of signature mismatch
165 */ 165 */
166 class id_res_mismatch : public id_res_failed { 166 class id_res_mismatch : public id_res_failed {
167 public: 167 public:
168 id_res_mismatch(OPKELE_E_PARS) 168 id_res_mismatch(OPKELE_E_PARS)
169 : id_res_failed(OPKELE_E_CONS) { } 169 : id_res_failed(OPKELE_E_CONS) { }
170 }; 170 };
171 171
172 /** 172 /**
173 * thrown if the association has expired before it could've been verified.
174 */
175 class id_res_expired_on_delivery : public id_res_failed {
176 public:
177 id_res_expired_on_delivery(OPKELE_E_PARS)
178 : id_res_failed(OPKELE_E_CONS) { }
179 };
180
181 /**
173 * openssl malfunction occured 182 * openssl malfunction occured
174 */ 183 */
175 class exception_openssl : public exception { 184 class exception_openssl : public exception {
176 public: 185 public:
177 unsigned long _error; 186 unsigned long _error;
178 string _ssl_string; 187 string _ssl_string;
179 exception_openssl(OPKELE_E_PARS); 188 exception_openssl(OPKELE_E_PARS);
180 ~exception_openssl() throw() { } 189 ~exception_openssl() throw() { }
181 }; 190 };
182 191
183 /** 192 /**
184 * network operation related error occured 193 * network operation related error occured
185 */ 194 */
186 class exception_network : public exception { 195 class exception_network : public exception {
187 public: 196 public:
188 exception_network(OPKELE_E_PARS) 197 exception_network(OPKELE_E_PARS)
189 : exception(OPKELE_E_CONS) { } 198 : exception(OPKELE_E_CONS) { }
190 }; 199 };
191 200
192 /** 201 /**
193 * network operation related error occured, specifically, related to 202 * network operation related error occured, specifically, related to
194 * libcurl 203 * libcurl
195 */ 204 */
196 class exception_curl : public exception_network { 205 class exception_curl : public exception_network {
197 public: 206 public:
198 CURLcode _error; 207 CURLcode _error;
199 string _curl_string; 208 string _curl_string;
200 exception_curl(OPKELE_E_PARS); 209 exception_curl(OPKELE_E_PARS);
201 exception_curl(OPKELE_E_PARS,CURLcode e); 210 exception_curl(OPKELE_E_PARS,CURLcode e);
202 ~exception_curl() throw() { } 211 ~exception_curl() throw() { }
203 }; 212 };
204 213
205 /** 214 /**
206 * not implemented (think pure virtual) member function executed, signfies 215 * not implemented (think pure virtual) member function executed, signfies
207 * programmer error 216 * programmer error
208 */ 217 */
209 class not_implemented : public exception { 218 class not_implemented : public exception {
210 public: 219 public:
211 not_implemented(OPKELE_E_PARS) 220 not_implemented(OPKELE_E_PARS)
212 : exception(OPKELE_E_CONS) { } 221 : exception(OPKELE_E_CONS) { }
213 }; 222 };
214 223
215 /** 224 /**
216 * internal error, indicates internal libopkele problem 225 * internal error, indicates internal libopkele problem
217 */ 226 */
218 class internal_error : public exception { 227 class internal_error : public exception {
219 public: 228 public:
220 internal_error(OPKELE_E_PARS) 229 internal_error(OPKELE_E_PARS)
221 : exception(OPKELE_E_CONS) { } 230 : exception(OPKELE_E_CONS) { }
222 }; 231 };
223 232
224} 233}
225 234
226#endif /* __OPKELE_EXCEPTION_H */ 235#endif /* __OPKELE_EXCEPTION_H */