aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flbase.h
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-07-19 02:41:33 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-07-19 02:41:33 +0000
commitb24219e6ab0ce96f0d60f7a5f122c52b2c7e40aa (patch)
treee2cf090c2e6f5d50699457610eaf1b4f8b2225b3 /externals/grill/flext/source/flbase.h
parent81c796acc3107ec1c148fb623259dc6fd3ac4c0e (diff)
""
svn path=/trunk/; revision=778
Diffstat (limited to 'externals/grill/flext/source/flbase.h')
-rw-r--r--externals/grill/flext/source/flbase.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h
index 4d0541b8..795c0673 100644
--- a/externals/grill/flext/source/flbase.h
+++ b/externals/grill/flext/source/flbase.h
@@ -20,7 +20,9 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flstdc.h"
#include "flsupport.h"
-class FLEXT_SHARE flext_obj;
+
+class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj);
+typedef class FLEXT_CLASSDEF(flext_obj) flext_obj;
// ----------------------------------------------------------------------------
/*! \brief The obligatory PD or Max/MSP object header
@@ -56,7 +58,7 @@ struct FLEXT_SHARE flext_hdr
/*! \brief This points to the actual polymorphic C++ class
*/
- flext_obj *data;
+ FLEXT_CLASSDEF(flext_obj) *data;
//! @} FLEXT_OBJHEADER
};
@@ -85,7 +87,7 @@ struct FLEXT_SHARE flext_hdr
*/
// ----------------------------------------------------------------------------
-class FLEXT_SHARE flext_obj:
+class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
public flext
{
public:
@@ -100,10 +102,10 @@ class FLEXT_SHARE flext_obj:
*/
//! Constructor
- flext_obj();
+ FLEXT_CLASSDEF(flext_obj)();
//! Destructor
- virtual ~flext_obj() = 0;
+ virtual ~FLEXT_CLASSDEF(flext_obj)() = 0;
/*! \brief Signal a construction problem
\note This should only be used in the constructor. Object creation will be aborted.
@@ -221,7 +223,7 @@ class FLEXT_SHARE flext_obj:
public:
//! Creation callback
- static void __setup__(t_classid) { flext::FLEXT_SETUPFUNC(); }
+ static void __setup__(t_classid) { flext::Setup(); }
/*! \brief This is a temporary holder
\warning don't touch it!
@@ -243,7 +245,7 @@ class FLEXT_SHARE flext_obj:
// Definitions for library objects
static void lib_init(const char *name,void setupfun(),bool attr);
- static void obj_add(bool lib,bool dsp,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...);
+ static void obj_add(bool lib,bool dsp,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...);
#if FLEXT_SYS == FLEXT_SYS_JMAX
static void obj_new(fts_object_t *o, int winlet, fts_symbol_t s, int ac, const fts_atom_t *at);
static void obj_free(fts_object_t *o, int winlet, fts_symbol_t s, int ac, const fts_atom_t *at);
@@ -293,9 +295,9 @@ class FLEXT_SHARE flext_obj:
#define FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) \
public: \
typedef NEW_CLASS thisType; \
-static flext_obj *__init__(int argc,t_atom *argv); \
+static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
static void __free__(flext_hdr *hdr) \
-{ flext_obj *mydata = hdr->data; delete mydata; \
+{ FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
hdr->flext_hdr::~flext_hdr(); } \
static void __setup__(t_classid classid) { \
PARENT_CLASS::__setup__(classid); } \
@@ -306,9 +308,9 @@ static inline NEW_CLASS *thisObject(void *c) { return FLEXT_CAST<NEW_CLASS *>(((
#define FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS,SETUPFUN) \
public: \
typedef NEW_CLASS thisType; \
-static flext_obj *__init__(int argc,t_atom *argv); \
+static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
static void __free__(flext_hdr *hdr) \
-{ flext_obj *mydata = hdr->data; delete mydata; \
+{ FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
hdr->flext_hdr::~flext_hdr(); } \
static void __setup__(t_classid classid) \
{ PARENT_CLASS::__setup__(classid); \