X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7427772dbd7bd10ad6d59801f4628552f5eac6ab..e768f7667ec5da0e331725de8a582365358cf7e3:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index c6cf20eb..c57fae9a 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -29,7 +29,16 @@ struct eBouquet RESULT moveService(const eServiceReference &, unsigned int); }; - // bitte KEINE operator int() definieren, sonst bringt das ganze nix! + /* these structures have by intention no operator int() defined. + the reason of these structures is to avoid mixing for example + a onid and a tsid (as there's no general order for them). + + defining an operator int() would implicitely convert values + between them over the constructor with the int argument. + + 'explicit' doesn't here - eTransportStreamID(eOriginalNetworkID(n)) + would still work. */ + struct eTransportStreamID { private: @@ -198,6 +207,8 @@ public: std::string m_service_name, m_service_name_sort; std::string m_provider_name; + void genSortName(); + int m_flags; std::set m_ca; std::map m_cache; @@ -335,13 +346,14 @@ public: virtual RESULT setData(int num, int val)=0; /* 0 means: not compatible. other values are a priority. */ - virtual int isCompatibleWith(const eDVBChannelID &chid)=0; + virtual int isCompatibleWith(ePtr &feparm)=0; }; class iDVBSatelliteEquipmentControl: public iObject { public: virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat)=0; + virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0; }; struct eDVBCIRouting