Hide the result only if there is another way to check for failure! */
-SWIG_TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr);
+class eServiceEvent;
SWIG_IGNORE(iStaticServiceInformation);
class iStaticServiceInformation: public iObject
#endif
public:
virtual int getFrontendInfo(int w)=0;
- virtual PyObject *getFrontendData(bool original=false)=0;
+ virtual PyObject *getFrontendData()=0;
+ virtual PyObject *getFrontendStatus()=0;
+ virtual PyObject *getTransponderData(bool original)=0;
+ virtual PyObject *getAll(bool original)=0; // a sum of getFrontendData/Status/TransponderData
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iFrontendInformation>, iFrontendInformationPtr);
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iAudioDelay>, iAudioDelayPtr);
-SWIG_IGNORE(iRadioText);
-class iRadioText: public iObject
+class iRdsDecoder_ENUMS
{
#ifdef SWIG
- iRadioText();
- ~iRadioText();
+ iRdsDecoder_ENUMS();
+ ~iRdsDecoder_ENUMS();
#endif
public:
- virtual std::string getRadioText(int x=0)=0;
+ enum { RadioText, RtpText };
};
-SWIG_TEMPLATE_TYPEDEF(ePtr<iRadioText>, iRadioTextPtr);
+
+SWIG_IGNORE(iRdsDecoder);
+class iRdsDecoder: public iObject, public iRdsDecoder_ENUMS
+{
+#ifdef SWIG
+ iRdsDecoder();
+ ~iRdsDecoder();
+#endif
+public:
+ virtual std::string getText(int x=RadioText)=0;
+ virtual void showRassSlidePicture()=0;
+ virtual void showRassInteractivePic(int page, int subpage)=0;
+ virtual SWIG_PYOBJECT(ePyObject) getRassInteractiveMask()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iRdsDecoder>, iRdsDecoderPtr);
SWIG_IGNORE(iSubserviceList);
class iSubserviceList: public iObject
/* when cueSheet is implemented */
evCuesheetChanged,
- /* when radioText is implemented */
+ /* when rdsDecoder is implemented */
evUpdatedRadioText,
+ evUpdatedRtpText,
+
+ /* Radio Screenshow Support */
+ evUpdatedRassSlidePic,
+ evUpdatedRassInteractivePicMask,
+
+ evVideoSizeChanged,
- evVideoSizeChanged
+ evStopped
};
};
virtual SWIG_VOID(RESULT) cueSheet(ePtr<iCueSheet> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) subtitle(ePtr<iSubtitleOutput> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) audioDelay(ePtr<iAudioDelay> &SWIG_OUTPUT)=0;
- virtual SWIG_VOID(RESULT) radioText(ePtr<iRadioText> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) rdsDecoder(ePtr<iRdsDecoder> &SWIG_OUTPUT)=0;
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);
+SWIG_IGNORE(iStreamableService);
+class iStreamableService: public iObject
+{
+#ifdef SWIG
+ iStreamableService();
+ ~iStreamableService();
+#endif
+public:
+ /* returns a dict:
+ { "demux": <n>,
+ "pids": [(x,type),(y,type),(z,type),..],
+ ...
+ }
+ with type being "video", "audio", "pmt", "pat"...
+ */
+ virtual PyObject *getStreamingData()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamableService>, iStreamableServicePtr);
+
class iRecordableService_ENUMS
{
#ifdef SWIG
public:
enum {
evStart,
- evStop,
+ evEnd,
evTunedIn,
evTuneFailed,
evRecordRunning,
#ifndef SWIG
virtual RESULT connectEvent(const Slot2<void,iRecordableService*,int> &event, ePtr<eConnection> &connection)=0;
#endif
- virtual RESULT getError(int &)=0;
+ virtual SWIG_VOID(RESULT) getError(int &SWIG_OUTPUT)=0;
virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1)=0;
+ virtual RESULT prepareStreaming()=0;
virtual RESULT start()=0;
virtual RESULT stop()=0;
virtual SWIG_VOID(RESULT) frontendInfo(ePtr<iFrontendInformation> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) stream(ePtr<iStreamableService> &SWIG_OUTPUT)=0;
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iRecordableService>, iRecordableServicePtr);