+SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceOfflineOperations>, iServiceOfflineOperationsPtr);
+
+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);
+
+SWIG_IGNORE(iStreamedService);
+class iStreamedService: public iObject
+{
+#ifdef SWIG
+ iStreamedService();
+ ~iStreamedService();
+#endif
+public:
+ virtual PyObject *getBufferCharge()=0;
+ virtual int setBufferSize(int size)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamedService>, iStreamedServicePtr);
+
+class iServiceKeys_ENUMS
+{
+#ifdef SWIG
+ iServiceKeys_ENUMS();
+ ~iServiceKeys_ENUMS();
+#endif
+public:
+ enum {
+ keyLeft,
+ keyRight,
+ keyUp,
+ keyDown,
+ keyOk,
+ keyUser = 0x100
+ };
+};
+
+SWIG_IGNORE(iServiceKeys);
+class iServiceKeys: public iServiceKeys_ENUMS, public iObject
+{
+#ifdef SWIG
+ iServiceKeys();
+ ~iServiceKeys();
+#endif
+public:
+ virtual SWIG_VOID(RESULT) keyPressed(int key)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceKeys>, iServiceKeysPtr);
+
+class iPlayableService_ENUMS
+{
+#ifdef SWIG
+ iPlayableService_ENUMS();
+ ~iPlayableService_ENUMS();
+#endif
+public:
+ enum {
+ /* these first two events are magical, and should only
+ be generated if you know what you're doing. */
+ evStart,
+ evEnd,
+
+ evTunedIn,
+ evTuneFailed,
+
+ /* when iServiceInformation is implemented:*/
+ evUpdatedEventInfo,
+ evUpdatedInfo,
+
+ /* when seek() is implemented: */
+ evSeekableStatusChanged, /* for example when timeshifting */
+
+ evEOF,
+ evSOF, /* bounced against start of file (when seeking backwards) */
+
+ /* when cueSheet is implemented */
+ evCuesheetChanged,
+
+ /* when rdsDecoder is implemented */
+ evUpdatedRadioText,
+ evUpdatedRtpText,
+
+ /* Radio Screenshow Support */
+ evUpdatedRassSlidePic,
+ evUpdatedRassInteractivePicMask,
+
+ evVideoSizeChanged,
+ evVideoFramerateChanged,
+ evVideoProgressiveChanged,
+
+ evBuffering,
+
+ evStopped,
+
+ evUser = 0x100
+ };
+};