add possibility to select multimode instead of pal/ntsc for TVs with support
[enigma2.git] / lib / actions / action.h
index 63a2f349d6ee55e11c8d7c36476632d5a2a40b46..f2e0d8f460d5730374f7fcdde3613c7e32f66900 100644 (file)
@@ -7,7 +7,6 @@
 #include <features.h>
 #undef _POSIX_C_SOURCE
 #define _POSIX_C_SOURCE 200112L
-#include <Python.h>
 #include <lib/python/python.h>
 #include <string>
 #include <map>
@@ -17,6 +16,10 @@ class eWidget;
 class eActionMap: public iObject
 {
 DECLARE_REF(eActionMap);
+#ifdef SWIG
+       eActionMap();
+       ~eActionMap();
+#endif
 public:
 #ifndef SWIG
        eActionMap();
@@ -25,12 +28,12 @@ public:
        void unbindAction(eWidget *widget, int id);
 #endif
 
-       void bindAction(const std::string &context, int priority, PyObject *function);
-       void unbindAction(const std::string &context, PyObject *function);
+       void bindAction(const std::string &context, int priority, SWIG_PYOBJECT(ePyObject) function);
+       void unbindAction(const std::string &context, SWIG_PYOBJECT(ePyObject) function);
        
        void bindKey(const std::string &device, int key, int flags, const std::string &context, const std::string &action);
        
-       void keyPressed(int device, int key, int flags);
+       void keyPressed(const std::string &device, int key, int flags);
        
        static RESULT getInstance(ePtr<eActionMap> &ptr);
 #ifndef SWIG
@@ -41,7 +44,7 @@ private:
 //             eActionContext *m_context;
                std::string m_context; // FIXME
                
-               PyObject *m_fnc;
+               ePyObject m_fnc;
                
                eWidget *m_widget;
                int m_id;
@@ -52,7 +55,7 @@ private:
        friend struct compare_string_keybind_native;
        struct eNativeKeyBinding
        {
-               int m_device;
+               std::string m_device;
                int m_key;
                int m_flags;
                
@@ -65,7 +68,7 @@ private:
        friend struct compare_string_keybind_python;
        struct ePythonKeyBinding
        {
-               int m_device;
+               std::string m_device;
                int m_key;
                int m_flags;