aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/fldefs_methbind.h
blob: 46dd8186d0c651d2ebdd2a95bd346f0e41cfd2ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* 

flext - C++ layer for Max/MSP and pd (pure data) externals

Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.  

*/

/*! \file fldefs_methbind.h
    \brief This file contains all #defines for actual usage
    
*/

#ifndef __FLEXT_DEFS_METHBIND_H
#define __FLEXT_DEFS_METHBIND_H


/*!	\defgroup FLEXT_D_BINDMETHOD Bind flext methods to symbols
	@{ 
*/

/*! \brief Bind a handler for a method with an anything argument to a symbol 
*/
#define FLEXT_BINDMETHOD(SYM,M_FUN,DATA) \
\
BindMethod(SYM,FLEXT_CALL_PRE(M_FUN),DATA)	

/*! \brief Unbind any handler for a method from a symbol 
    \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here.
*/
#define FLEXT_UNBINDMETHOD(SYM) \
\
UnbindMethod(SYM)

/*! \brief Unbind any handler for a method from a symbol and return user data pointer by DATA
    \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here.
*/
#define FLEXT_UNBINDMETHOD_X(SYM,DATA) \
\
UnbindMethod(SYM,&DATA)


//! @} FLEXT_D_BINDMETHOD


#endif