add new playSource / stopSource interface to iDVBChannel and eDVBChannel
[enigma2.git] / lib / actions / action.h
index 834dc2094dbbb146144d6e638a39245a11e30332..cbf5370a4ead2e6b40c75ea6a9e942f4cf21aa6f 100644 (file)
@@ -16,7 +16,7 @@ class eWidget;
 SWIG_IGNORE(eActionMap);
 class eActionMap: public iObject
 {
-DECLARE_REF(eActionMap);
+       DECLARE_REF(eActionMap);
 #ifdef SWIG
        eActionMap();
        ~eActionMap();
@@ -31,8 +31,9 @@ public:
 
        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 bindKey(const std::string &domain, const std::string &device, int key, int flags, const std::string &context, const std::string &action);
+       void unbindKeyDomain(const std::string &domain);
        
        void keyPressed(const std::string &device, int key, int flags);
        
@@ -42,13 +43,18 @@ private:
        static eActionMap *instance;
        struct eActionBinding
        {
+               eActionBinding()
+                       :m_prev_seen_make_key(-1)
+               {}
 //             eActionContext *m_context;
                std::string m_context; // FIXME
+               std::string m_domain;
                
                ePyObject m_fnc;
                
                eWidget *m_widget;
                int m_id;
+               int m_prev_seen_make_key;
        };
        
        std::multimap<int, eActionBinding> m_bindings;
@@ -57,6 +63,7 @@ private:
        struct eNativeKeyBinding
        {
                std::string m_device;
+               std::string m_domain;
                int m_key;
                int m_flags;
                
@@ -70,6 +77,7 @@ private:
        struct ePythonKeyBinding
        {
                std::string m_device;
+               std::string m_domain;
                int m_key;
                int m_flags;