X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fwrapped.h;h=daaaa25404d07c95e32fd71f7e6d7a927e100353;hb=ba89d42068aa7ee7535946ff61d9bbebdb153f28;hp=2412d7eab0907ab46d02c098457d8eeedf73fb93;hpb=2dfe078cf4082caf641c96449907f36a9029b486;p=guile-irrlicht.git diff --git a/src/wrapped.h b/src/wrapped.h index 2412d7e..daaaa25 100644 --- a/src/wrapped.h +++ b/src/wrapped.h @@ -19,6 +19,9 @@ . */ +#ifndef __GUILE_IRRLICHT_WRAPPED_H_INCLUDED__ +#define __GUILE_IRRLICHT_WRAPPED_H_INCLUDED__ + #include #define DECLARE_WRAPPED_TYPE(TYPE, INIT, PRED, WRAP, UNWRAP) \ @@ -36,7 +39,7 @@ #define DEFINE_WRAPPED_TYPE(TYPE, PRINT_NAME, INIT, PRED, WRAP, UNWRAP) \ - static SCM wrapped_type; \ + static SCM wrapped_##INIT; \ \ void \ INIT (void) \ @@ -48,25 +51,27 @@ slots = scm_list_1 (scm_from_utf8_symbol ("data")); \ finalizer = NULL; \ \ - wrapped_type = \ + wrapped_##INIT = \ scm_make_foreign_object_type (name, slots, finalizer); \ } \ \ SCM \ WRAP (TYPE foreign_obj) \ { \ - return scm_make_foreign_object_1 (wrapped_type, foreign_obj); \ + return scm_make_foreign_object_1 (wrapped_##INIT, foreign_obj); \ } \ \ TYPE \ UNWRAP (SCM wrapped_obj) \ { \ - scm_assert_foreign_object_type (wrapped_type, wrapped_obj); \ + scm_assert_foreign_object_type (wrapped_##INIT, wrapped_obj); \ return (TYPE)scm_foreign_object_ref (wrapped_obj, 0); \ } \ \ bool \ PRED (SCM wrapped_obj) \ { \ - return SCM_IS_A_P (wrapped_obj, wrapped_type); \ + return SCM_IS_A_P (wrapped_obj, wrapped_##INIT); \ } + +#endif