aboutsummaryrefslogtreecommitdiff
path: root/lib/base
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-01-31 22:51:14 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-01-31 22:51:14 +0000
commit4bc08995411e21f3564f09e136809be68ddf96a8 (patch)
tree59e2f1babc2b85b61782fe76aadd031faa704f73 /lib/base
parent6b7b7977a92c9a092763bf699cba85347f9f2ec6 (diff)
downloadenigma2-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')
-rw-r--r--lib/base/Makefile.am2
-rw-r--r--lib/base/object.h10
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/base/Makefile.am b/lib/base/Makefile.am
index 955d9e4a..6094fb48 100644
--- a/lib/base/Makefile.am
+++ b/lib/base/Makefile.am
@@ -6,4 +6,4 @@ noinst_LIBRARIES = libenigma_base.a
libenigma_base_a_SOURCES = \
buffer.cpp ebase.cpp econfig.cpp eerror.cpp elock.cpp \
init.cpp message.cpp thread.cpp \
- smartptr.cpp estring.cpp
+ smartptr.cpp estring.cpp connection.cpp
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();