diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-02-21 13:27:51 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-02-21 13:27:51 +0000 |
commit | 04622f7d2210cbb8036502afadf5bcdcb0394d28 (patch) | |
tree | 1ba5f0321aaf86f6050193dd8283d85a7f4acd39 /expr.h | |
parent | 1cc790fae01e4392d4cf96820f6402528f611c44 (diff) | |
download | rsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.tar.gz rsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.tar.xz rsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.zip |
first steps in implementing object interfaces (stage work for later dynamic
class loading)
Diffstat (limited to 'expr.h')
-rw-r--r-- | expr.h | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -39,11 +39,19 @@ typedef struct expr_s { } expr_t; +/* interfaces */ +typedef struct expr_if_s { + ifBEGIN; /* This MUST always be the first interface member */ + INTERFACEObjDebugPrint(expr); + rsRetVal (*Construct)(expr_t **ppThis); + rsRetVal (*ConstructFinalize)(expr_t __attribute__((unused)) *pThis); + rsRetVal (*Destruct)(expr_t **ppThis); + rsRetVal (*Parse)(expr_t *pThis, ctok_t *ctok); +} expr_if_t; +#define exprCURR_IF_VERSION 1 /* increment whenever you change the interface structure! */ + /* prototypes */ -rsRetVal exprConstruct(expr_t **ppThis); -rsRetVal exprConstructFinalize(expr_t __attribute__((unused)) *pThis); -rsRetVal exprDestruct(expr_t **ppThis); -rsRetVal exprParse(expr_t *pThis, ctok_t *ctok); PROTOTYPEObjClassInit(expr); +PROTOTYPEObjQueryInterface(expr); #endif /* #ifndef INCLUDED_EXPR_H */ |