xref: /haiku/src/tools/gensyscalls/gensyscalls_common.h (revision 95bac3fda53a4cb21880712d7b43f8c21db32a2e)
1 // gensyscalls_common.h
2 
3 #ifndef _GEN_SYSCALLS_COMMON_H
4 #define _GEN_SYSCALLS_COMMON_H
5 
6 #include <exception>
7 #include <string>
8 
9 using namespace std;
10 
11 // Exception
12 struct Exception : exception {
13 	Exception()
14 		: fMessage()
15 	{
16 	}
17 
18 	Exception(const string &message)
19 		: fMessage(message)
20 	{
21 	}
22 
23 	virtual ~Exception() throw() {}
24 
25 	virtual const char *what() const throw()
26 	{
27 		return fMessage.c_str();
28 	}
29 
30 private:
31 	string	fMessage;
32 };
33 
34 // EOFException
35 struct EOFException : public Exception {
36 	EOFException() {}
37 	EOFException(const string &message) : Exception(message) {}
38 	virtual ~EOFException() throw() {}
39 };
40 
41 // IOException
42 struct IOException : public Exception {
43 	IOException() {}
44 	IOException(const string &message) : Exception(message) {}
45 	virtual ~IOException() throw() {}
46 };
47 
48 // ParseException
49 struct ParseException : public Exception {
50 	ParseException() {}
51 	ParseException(const string &message) : Exception(message) {}
52 	virtual ~ParseException() throw() {}
53 };
54 
55 #endif	// _GEN_SYSCALLS_COMMON_H
56