+PyObject *New_iRecordableServicePtr(const ePtr<iRecordableService> &ptr)
+{
+ ePtr<iRecordableService> *result = new ePtr<iRecordableService>(ptr);
+#ifndef SWIGTYPE_p_ePtrT_iRecordableService_t
+#define SWIGTYPE_p_ePtrT_iRecordableService_t SWIGTYPE_p_ePtrTiRecordableService_t
+#endif
+ return SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_ePtrT_iRecordableService_t, 1);
+}
+%}
+
+/* needed for service groups */
+
+PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore, bool simulate=false);
+%{
+PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore, bool simulate=false)
+{
+ eStaticServiceDVBBouquetInformation info;
+ if (info.isPlayable(bouquet_ref, ignore, simulate))
+ return New_eServiceReference(info.getPlayableService());
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+%}
+
+void setTunerTypePriorityOrder(int);
+%{
+void setTunerTypePriorityOrder(int order)
+{
+ eDVBFrontend::setTypePriorityOrder(order);
+}
+%}
+
+/************** temp *****************/
+
+ /* need a better place for this, i agree. */
+%{
+extern void runMainloop();
+extern void quitMainloop(int exit_code);
+extern eApplication *getApplication();
+extern int getPrevAsciiCode();
+extern void addFont(const char *filename, const char *alias, int scale_factor, int is_replacement);
+extern const char *getEnigmaVersionString();
+extern void dump_malloc_stats(void);