diff options
author | Tim Blechmann <timblech@users.sourceforge.net> | 2004-12-27 22:55:41 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@iem.at> | 2015-10-14 15:11:58 +0200 |
commit | 6963657b3f3ee4321394953a2cc67cd7386cce2d (patch) | |
tree | 3ded4ec93a8843b9f990848a49afb9b514ec6a3e /chaos/src/chaos_defs.hpp | |
parent | b2f2fd990f9059db784a7849726c6fc5006c70f9 (diff) |
additions and better code reuse
svn path=/trunk/externals/tb/; revision=2433
Diffstat (limited to 'chaos/src/chaos_defs.hpp')
-rw-r--r-- | chaos/src/chaos_defs.hpp | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/chaos/src/chaos_defs.hpp b/chaos/src/chaos_defs.hpp index ae86223..b4c2b46 100644 --- a/chaos/src/chaos_defs.hpp +++ b/chaos/src/chaos_defs.hpp @@ -131,7 +131,47 @@ set_##NAME(VALUE); - +/* macros for class generation */ +#define CHAOS_DSP_CLASS(CLASSNAME,CLASSNAME_UC) \ +class CLASSNAME##_dsp: \ + public chaos_dsp<CLASSNAME> \ +{ \ + CHAOS_DSP_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \ + CLASSNAME_UC##_CALLBACKS; \ +}; \ +FLEXT_LIB_DSP_V(#CLASSNAME"~", CLASSNAME##_dsp); + +#define CHAOS_DSP_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \ +class CLASSNAME##_dsp: \ + public chaos_dsp<CLASSNAME> \ +{ \ + CHAOS_DSP_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \ + CLASSNAME_UC##_CALLBACKS; \ +}; \ +FLEXT_LIB_DSP_V(#NAME, CLASSNAME##_dsp); + + +#define CHAOS_MSG_CLASS(CLASSNAME,CLASSNAME_UC) \ +class CLASSNAME##_msg: \ + public chaos_msg<CLASSNAME> \ +{ \ + CHAOS_MSG_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \ + CLASSNAME_UC##_CALLBACKS; \ +}; \ +FLEXT_LIB_V(#CLASSNAME, CLASSNAME##_msg); + +#define CHAOS_MSG_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \ +class CLASSNAME##_msg: \ + public chaos_msg<CLASSNAME> \ +{ \ + CHAOS_MSG_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \ + CLASSNAME_UC##_CALLBACKS; \ +}; \ +FLEXT_LIB_V(#NAME, CLASSNAME##_msg); + +#define CHAOS_ADD(NAME) \ +FLEXT_DSP_SETUP(NAME##_dsp); \ +FLEXT_SETUP(NAME##_msg); #define __chaos_defs_hpp #endif /* __chaos_defs_hpp */ |