diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-01-31 22:51:14 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-01-31 22:51:14 +0000 |
| commit | 4bc08995411e21f3564f09e136809be68ddf96a8 (patch) | |
| tree | 59e2f1babc2b85b61782fe76aadd031faa704f73 /lib/base/object.h | |
| parent | 6b7b7977a92c9a092763bf699cba85347f9f2ec6 (diff) | |
| download | enigma2-4bc08995411e21f3564f09e136809be68ddf96a8.tar.gz enigma2-4bc08995411e21f3564f09e136809be68ddf96a8.zip | |
- fixed dvb scan
- fixed dvbdb (reading/writing lamedb)
- fixed (i.e. disallow) operator= in iObject (destroyed refcounts before)
- implemented listboxcontent for servicelists
- implemented getServiceInformation for non-playing services (still not happy with the result, though)
- implemented first try of serviceSelector component
Diffstat (limited to 'lib/base/object.h')
| -rw-r--r-- | lib/base/object.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/base/object.h b/lib/base/object.h index ddb4512c..64d9a88f 100644 --- a/lib/base/object.h +++ b/lib/base/object.h @@ -14,6 +14,11 @@ typedef int RESULT; class iObject { +private: + /* we don't allow the default operator here, as it would break the refcount. */ + void operator=(const iObject &); +protected: + virtual ~iObject() { } public: virtual void AddRef()=0; virtual void Release()=0; @@ -25,6 +30,11 @@ class oRefCount public: oRefCount(): ref(0) { } operator int&() { return ref; } + ~oRefCount() { +#ifdef OBJECT_DEBUG + if (ref) eDebug("OBJECT_DEBUG FATAL: %p has %d references!", this, ref); else eDebug("OBJECT_DEBUG refcount ok! (%p)", this); +#endif + } }; #define DECLARE_REF private: oRefCount ref; public: void AddRef(); void Release(); |
