git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
copy lists, not list identities... should fix saving of non-default values
[enigma2.git]
/
lib
/
dvb
/
db.h
diff --git
a/lib/dvb/db.h
b/lib/dvb/db.h
index 8bb0e5aeca2eae701a098a02aa6024f55dd580dd..bf39df18c2b755af8e140e77145b783c61a447aa 100644
(file)
--- a/
lib/dvb/db.h
+++ b/
lib/dvb/db.h
@@
-1,20
+1,23
@@
#ifndef __db_h
#define __db_h
#ifndef __db_h
#define __db_h
+#ifndef SWIG
#include <lib/base/eptrlist.h>
#include <lib/dvb/idvb.h>
#include <set>
#include <lib/base/eptrlist.h>
#include <lib/dvb/idvb.h>
#include <set>
-
class ServiceDescriptionSection;
class ServiceDescriptionSection;
+#endif
class eDVBDB: public iDVBChannelList
{
class eDVBDB: public iDVBChannelList
{
+ static eDVBDB *instance;
DECLARE_REF(eDVBDB);
friend class eDVBDBQuery;
friend class eDVBDBBouquetQuery;
friend class eDVBDBSatellitesQuery;
friend class eDVBDBProvidersQuery;
DECLARE_REF(eDVBDB);
friend class eDVBDBQuery;
friend class eDVBDBBouquetQuery;
friend class eDVBDBSatellitesQuery;
friend class eDVBDBProvidersQuery;
-private:
+
+
struct channel
{
ePtr<iDVBFrontendParameters> m_frontendParameters;
struct channel
{
ePtr<iDVBFrontendParameters> m_frontendParameters;
@@
-25,16
+28,13
@@
private:
std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_services;
std::map<std::string, eBouquet> m_bouquets;
std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_services;
std::map<std::string, eBouquet> m_bouquets;
-public:
- void load();
- void save();
-
- void loadBouquet(const char *path);
- void loadBouquets();
-
+#ifdef SWIG
eDVBDB();
eDVBDB();
- virtual ~eDVBDB();
-
+ ~eDVBDB();
+#endif
+public:
+#ifndef SWIG
+// iDVBChannelList
RESULT addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm);
RESULT removeChannel(const eDVBChannelID &id);
RESULT addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm);
RESULT removeChannel(const eDVBChannelID &id);
@@
-47,8
+47,18
@@
public:
RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source);
RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet);
RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source);
RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet);
+//////
+ void saveServicelist();
+ void loadBouquet(const char *path);
+ eDVBDB();
+ virtual ~eDVBDB();
+#endif
+ static eDVBDB *getInstance() { return instance; }
+ void reloadServicelist();
+ void reloadBouquets();
};
};
+#ifndef SWIG
// we have to add a possibility to invalidate here.
class eDVBDBQueryBase: public iDVBChannelListQuery
{
// we have to add a possibility to invalidate here.
class eDVBDBQueryBase: public iDVBChannelListQuery
{
@@
-100,5
+110,6
@@
class eDVBDBProvidersQuery: public eDVBDBListQuery
public:
eDVBDBProvidersQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
};
public:
eDVBDBProvidersQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
};
+#endif // SWIG
#endif
#endif