bzr branch
http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk
|
3
by Gustav Hartvigsson
Fixed a few things... |
1 |
/**
|
2 |
* An Error is a data structure that inherets from BaseObject.
|
|
3 |
*
|
|
4 |
* An Error represents an error that can occur.
|
|
5 |
*/
|
|
6 |
||
7 |
||
8 |
#ifndef __H_ERROR__
|
|
9 |
#define __H_ERROR__
|
|
10 |
||
11 |
#include "baseobject.h" |
|
12 |
#include <limits.h> |
|
13 |
#include <stdlib.h> |
|
14 |
#include <stdio.h> |
|
15 |
#include <string.h> |
|
16 |
||
17 |
typedef struct _SErrorPrivate SErrorPrivate; |
|
18 |
||
19 |
typedef struct _SError { |
|
20 |
SBaseObjectInstance parent; |
|
21 |
SErrorPrivate * priv; //Pimple pointer to the private data. |
|
22 |
|
|
23 |
} SError; |
|
24 |
||
25 |
/**
|
|
26 |
* The error class is not changed, no extra methods are needed.
|
|
27 |
*/
|
|
28 |
typedef struct _SErrorClass { |
|
29 |
SBaseObjectClass parent_class; |
|
30 |
|
|
31 |
} SErrorClass; |
|
32 |
||
33 |
typedef enum { |
|
34 |
S_ERROR_NONE = 0, |
|
35 |
S_ERROR_INPUT_OUTPUT, |
|
36 |
S_ERROR_OVERFLOW, |
|
37 |
S_ERROR_OTHER = INT_MAX - 1, |
|
38 |
S_ERROR_NULL = INT_MAX |
|
39 |
} SErrorType; |
|
40 |
||
41 |
||
42 |
/**
|
|
43 |
* the constructor for the
|
|
44 |
*/
|
|
45 |
SError * s_error_new (SErrorType error, char * message); |
|
46 |
||
47 |
void s_error_free (SError * self); |
|
48 |
||
49 |
SErrorType s_error_get_error_type (SError * self); |
|
50 |
||
51 |
void s_error_print_error (SError * self); |
|
52 |
||
53 |
#endif
|