From b24219e6ab0ce96f0d60f7a5f122c52b2c7e40aa Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Sat, 19 Jul 2003 02:41:33 +0000 Subject: "" svn path=/trunk/; revision=778 --- externals/grill/flext/source/flbase.h | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'externals/grill/flext/source/flbase.h') 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((( #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); \ -- cgit v1.2.1