diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-02-27 02:20:31 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-02-27 02:20:31 +0000 |
| commit | dba614edd2aad3c17e244914eaef3809d8300cb1 (patch) | |
| tree | 382782ddff50bf88e421d933b13e35b9e5682cff /lib/base | |
| parent | 1cdf6cb021fcaa6548b90ba7b6765cf1e8b8b37b (diff) | |
| download | enigma2-dba614edd2aad3c17e244914eaef3809d8300cb1.tar.gz enigma2-dba614edd2aad3c17e244914eaef3809d8300cb1.zip | |
- hopefully fixed some python/refcount stuff (__deref__ is still evil!)
- first work on skin support, not really far
- improved infobar
- deletes components when destroying screens
- fixed elistbox and component
- add ability to change bouqet - real query parser still unfinished
Diffstat (limited to 'lib/base')
| -rw-r--r-- | lib/base/ebase.h | 72 | ||||
| -rw-r--r-- | lib/base/object.h | 12 |
2 files changed, 49 insertions, 35 deletions
diff --git a/lib/base/ebase.h b/lib/base/ebase.h index 187f9548..d9a17b79 100644 --- a/lib/base/ebase.h +++ b/lib/base/ebase.h @@ -171,40 +171,7 @@ public: void setRequested(int req) { requested=req; } }; - // ... und Timer -/** - * \brief Gives a callback after a specified timeout. - * - * This class emits the signal \c eTimer::timeout after the specified timeout. - */ -class eTimer -{ - eMainloop &context; - timeval nextActivation; - long interval; - bool bSingleShot; - bool bActive; -public: - /** - * \brief Constructs a timer. - * - * The timer is not yet active, it has to be started with \c start. - * \param context The thread from which the signal should be emitted. - */ - eTimer(eMainloop *context): context(*context), bActive(false) { } - ~eTimer() { if (bActive) stop(); } - - PSignal0<void> timeout; - void activate(); - - bool isActive() { return bActive; } - timeval &getNextActivation() { return nextActivation; } - - void start(long msec, bool singleShot=false); - void stop(); - void changeInterval(long msek); - bool operator<(const eTimer& t) const { return nextActivation < t.nextActivation; } -}; +class eTimer; // werden in einer mainloop verarbeitet class eMainloop @@ -231,6 +198,7 @@ public: void exit_loop(); }; + /** * \brief The application class. * @@ -250,4 +218,40 @@ public: eApp = 0; } }; + + // ... und Timer +/** + * \brief Gives a callback after a specified timeout. + * + * This class emits the signal \c eTimer::timeout after the specified timeout. + */ +class eTimer +{ + eMainloop &context; + timeval nextActivation; + long interval; + bool bSingleShot; + bool bActive; +public: + /** + * \brief Constructs a timer. + * + * The timer is not yet active, it has to be started with \c start. + * \param context The thread from which the signal should be emitted. + */ + eTimer(eMainloop *context = eApp): context(*context), bActive(false) { } + ~eTimer() { if (bActive) stop(); } + + PSignal0<void> timeout; + void activate(); + + bool isActive() { return bActive; } + timeval &getNextActivation() { return nextActivation; } + + void start(long msec, bool singleShot=false); + void stop(); + void changeInterval(long msek); + bool operator<(const eTimer& t) const { return nextActivation < t.nextActivation; } +}; + #endif diff --git a/lib/base/object.h b/lib/base/object.h index 64d9a88f..edd68a86 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 |
