aboutsummaryrefslogtreecommitdiff
path: root/lib/service
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-02-27 02:20:31 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-02-27 02:20:31 +0000
commitdba614edd2aad3c17e244914eaef3809d8300cb1 (patch)
tree382782ddff50bf88e421d933b13e35b9e5682cff /lib/service
parent1cdf6cb021fcaa6548b90ba7b6765cf1e8b8b37b (diff)
downloadenigma2-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/service')
-rw-r--r--lib/service/event.cpp6
-rw-r--r--lib/service/event.h14
-rw-r--r--lib/service/listboxservice.cpp4
-rw-r--r--lib/service/listboxservice.h2
-rw-r--r--lib/service/service.h2
-rw-r--r--lib/service/servicedvb.h6
-rw-r--r--lib/service/servicefs.cpp2
-rw-r--r--lib/service/servicefs.h4
-rw-r--r--lib/service/servicemp3.h6
9 files changed, 32 insertions, 14 deletions
diff --git a/lib/service/event.cpp b/lib/service/event.cpp
index 7ea16560..58079da0 100644
--- a/lib/service/event.cpp
+++ b/lib/service/event.cpp
@@ -8,8 +8,7 @@ DEFINE_REF(eServiceEvent);
RESULT eServiceEvent::parseFrom(Event *evt)
{
m_begin = 0; // ich bin FAUL
- m_duration = evt->getDuration();
-
+ m_duration = (evt->getDuration() & 0xFF) + ((evt->getDuration() >> 8) & 0xFF) * 60 + ((evt->getDuration() >> 16) & 0xFF) * 24 * 60;
for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end(); ++desc)
{
@@ -24,4 +23,7 @@ RESULT eServiceEvent::parseFrom(Event *evt)
}
}
}
+ return 0;
}
+
+DEFINE_REF(eDebugClass);
diff --git a/lib/service/event.h b/lib/service/event.h
index 094b080a..99ce5b24 100644
--- a/lib/service/event.h
+++ b/lib/service/event.h
@@ -8,7 +8,7 @@ class Event;
class eServiceEvent: public iObject
{
-DECLARE_REF;
+DECLARE_REF(eServiceEvent);
public:
time_t m_begin;
int m_duration;
@@ -20,4 +20,16 @@ public:
TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr);
+class eDebugClass: public iObject
+{
+ DECLARE_REF(eDebugClass);
+public:
+ int x;
+ static void getDebug(ePtr<eDebugClass> &ptr, int x) { ptr = new eDebugClass(x); }
+ eDebugClass(int i) { printf("build debug class %d\n", i); x = i; }
+ ~eDebugClass() { printf("remove debug class %d\n", x); }
+};
+
+// TEMPLATE_TYPEDEF(ePtr<eDebugClass>, eDebugClassPtr);
+
#endif
diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp
index 881047df..647dbdb9 100644
--- a/lib/service/listboxservice.cpp
+++ b/lib/service/listboxservice.cpp
@@ -3,6 +3,7 @@
void eListboxServiceContent::setRoot(const eServiceReference &root)
{
+ m_list.clear();
m_root = root;
assert(m_service_center);
@@ -16,6 +17,9 @@ void eListboxServiceContent::setRoot(const eServiceReference &root)
m_size = m_list.size();
cursorHome();
+
+ if (m_listbox)
+ m_listbox->entryReset();
}
void eListboxServiceContent::getCurrent(eServiceReference &ref)
diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h
index 9d0cb721..231bab16 100644
--- a/lib/service/listboxservice.h
+++ b/lib/service/listboxservice.h
@@ -8,7 +8,7 @@ class eServiceCenter;
class eListboxServiceContent: public virtual iListboxContent
{
- DECLARE_REF;
+ DECLARE_REF(eListboxServiceContent);
public:
eListboxServiceContent();
void setRoot(const eServiceReference &ref);
diff --git a/lib/service/service.h b/lib/service/service.h
index 9f4b4560..2dd01acc 100644
--- a/lib/service/service.h
+++ b/lib/service/service.h
@@ -11,7 +11,7 @@ typedef ePtr<eServiceCenter> eServiceCenterPtr;
class eServiceCenter: public iServiceHandler
{
-DECLARE_REF;
+DECLARE_REF(eServiceCenter);
private:
std::map<int,iServiceHandlerPtr> handler;
static eServiceCenter *instance;
diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h
index 2e8d899a..d414d69b 100644
--- a/lib/service/servicedvb.h
+++ b/lib/service/servicedvb.h
@@ -9,7 +9,7 @@
class eServiceFactoryDVB: public iServiceHandler
{
-DECLARE_REF;
+DECLARE_REF(eServiceFactoryDVB);
public:
eServiceFactoryDVB();
virtual ~eServiceFactoryDVB();
@@ -24,7 +24,7 @@ public:
class eDVBServiceList: public iListableService
{
-DECLARE_REF;
+DECLARE_REF(eDVBServiceList);
private:
eServiceReference m_parent;
friend class eServiceFactoryDVB;
@@ -36,7 +36,7 @@ public:
class eDVBServicePlay: public iPlayableService, public Object, public iServiceInformation
{
-DECLARE_REF;
+DECLARE_REF(eDVBServicePlay);
private:
friend class eServiceFactoryDVB;
eServiceReference m_reference;
diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp
index 5a945679..9db85028 100644
--- a/lib/service/servicefs.cpp
+++ b/lib/service/servicefs.cpp
@@ -14,7 +14,7 @@
class eStaticServiceFSInformation: public iStaticServiceInformation
{
- DECLARE_REF;
+ DECLARE_REF(eStaticServiceFSInformation);
public:
RESULT getName(const eServiceReference &ref, std::string &name);
};
diff --git a/lib/service/servicefs.h b/lib/service/servicefs.h
index 337ff620..61fcb4a9 100644
--- a/lib/service/servicefs.h
+++ b/lib/service/servicefs.h
@@ -5,7 +5,7 @@
class eServiceFactoryFS: public iServiceHandler
{
-DECLARE_REF;
+DECLARE_REF(eServiceFactoryFS);
public:
eServiceFactoryFS();
virtual ~eServiceFactoryFS();
@@ -22,7 +22,7 @@ private:
class eServiceFS: public iListableService
{
-DECLARE_REF;
+DECLARE_REF(eServiceFS);
private:
std::string path;
friend class eServiceFactoryFS;
diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
index 40287ae5..4bec7365 100644
--- a/lib/service/servicemp3.h
+++ b/lib/service/servicemp3.h
@@ -7,7 +7,7 @@ class eStaticServiceMP3Info;
class eServiceFactoryMP3: public iServiceHandler
{
-DECLARE_REF;
+DECLARE_REF(eServiceFactoryMP3);
public:
eServiceFactoryMP3();
virtual ~eServiceFactoryMP3();
@@ -24,7 +24,7 @@ private:
class eStaticServiceMP3Info: public iServiceInformation
{
- DECLARE_REF;
+ DECLARE_REF(eStaticServiceMP3Info);
friend class eServiceFactoryMP3;
eStaticServiceMP3Info();
public:
@@ -33,7 +33,7 @@ public:
class eServiceMP3: public iPlayableService, public iPauseableService, public iServiceInformation, public Object
{
-DECLARE_REF;
+DECLARE_REF(eServiceMP3);
private:
friend class eServiceFactoryMP3;
std::string filename;