- std::string m_service_name;
+ /* m_service_name_sort is uppercase, with special chars removed, to increase sort performance. */
+ std::string m_service_name, m_service_name_sort;
RESULT getName(const eServiceReference &ref, std::string &name);
int getLength(const eServiceReference &ref);
RESULT getName(const eServiceReference &ref, std::string &name);
int getLength(const eServiceReference &ref);
static RESULT compile(ePtr<eDVBChannelQuery> &res, std::string query);
ePtr<eDVBChannelQuery> m_p1, m_p2;
static RESULT compile(ePtr<eDVBChannelQuery> &res, std::string query);
ePtr<eDVBChannelQuery> m_p1, m_p2;
};
virtual RESULT connectStateChange(const Slot1<void,iDVBChannel*> &stateChange, ePtr<eConnection> &connection)=0;
virtual RESULT getState(int &state)=0;
};
virtual RESULT connectStateChange(const Slot1<void,iDVBChannel*> &stateChange, ePtr<eConnection> &connection)=0;
virtual RESULT getState(int &state)=0;
/* direct frontend access for raw channels and/or status inquiries. */
virtual RESULT getFrontend(ePtr<iDVBFrontend> &frontend)=0;
/* direct frontend access for raw channels and/or status inquiries. */
virtual RESULT getFrontend(ePtr<iDVBFrontend> &frontend)=0;
virtual RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader)=0;
virtual RESULT createTSRecorder(ePtr<iDVBTSRecorder> &recorder)=0;
virtual RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader)=0;
virtual RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader)=0;
virtual RESULT createTSRecorder(ePtr<iDVBTSRecorder> &recorder)=0;
virtual RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader)=0;