X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fbase%2Fobject.h;h=edd68a86e88bb28bf9ba5018024f407bd4501b27;hp=64d9a88f6866cb5d2138901ef20d5a27c768ad1a;hb=dba614edd2aad3c17e244914eaef3809d8300cb1;hpb=1cdf6cb021fcaa6548b90ba7b6765cf1e8b8b37b diff --git a/lib/base/object.h b/lib/base/object.h index 64d9a88..edd68a8 100644 --- a/lib/base/object.h +++ b/lib/base/object.h @@ -37,12 +37,22 @@ public: } }; -#define DECLARE_REF private: oRefCount ref; public: void AddRef(); void Release(); +#ifndef SWIG +#define DECLARE_REF(x) private: oRefCount ref; public: void AddRef(); void Release(); #ifdef OBJECT_DEBUG extern int object_total_remaining; #define DEFINE_REF(c) void c::AddRef() { ++object_total_remaining; ++ref; eDebug("OBJECT_DEBUG " #c "+%p now %d", this, (int)ref); } void c::Release() { --object_total_remaining; eDebug("OBJECT_DEBUG " #c "-%p now %d", this, ref-1); if (!--ref) delete this; } #else #define DEFINE_REF(c) void c::AddRef() { ++ref; } void c::Release() { if (!--ref) delete this; } #endif +#else +#define DECLARE_REF(x) private: void AddRef(); void Release(); +#endif + +#ifdef SWIG +class Object +{ +}; +#endif #endif