Merge branch 'bug_538_ignore_global_actions_in_standby'
[enigma2.git] / lib / driver / rc.h
index 2a776ee4d5e0ec35bf1fc9789a4a4e1c7ae62581..529094682a27472f31a22efc771648f77dd6ee28 100644 (file)
@@ -53,6 +53,7 @@ public:
         * \param key The key to get the description for.
         * \result User readable description of given key.
         */
+       virtual void setExclusive(bool b) { };
 };
 
 /**
@@ -89,13 +90,14 @@ public:
        ~eRCDriver();
        
        void enable(int en) { enabled=en; }
+       virtual void setExclusive(bool) { }
 };
 
 class eRCShortDriver: public eRCDriver
 {
 protected:
        int handle;
-       eSocketNotifier *sn;
+       ePtr<eSocketNotifier> sn;
        void keyPressed(int);
 public:
        eRCShortDriver(const char *filename);
@@ -106,12 +108,13 @@ class eRCInputEventDriver: public eRCDriver
 {
 protected:
        int handle;
-       eSocketNotifier *sn;
+       ePtr<eSocketNotifier> sn;
        void keyPressed(int);
 public:
        std::string getDeviceName();
        eRCInputEventDriver(const char *filename);
        ~eRCInputEventDriver();
+       void setExclusive(bool b); // in exclusive mode data is not carried to console device
 };
 
 class eRCKey
@@ -173,7 +176,6 @@ public:
 class eRCInput: public Object
 {
        int locked;     
-       int handle;
        static eRCInput *instance;
        int keyboardMode;
 #ifdef SWIG
@@ -199,8 +201,6 @@ public:
        void close();
        bool open();
 
-       void setFile(int handle);
-
        /* This is only relevant for "keyboard"-styled input devices,
           i.e. not plain remote controls. It's up to the input device
           driver to decide wheter an input device is a keyboard or
@@ -237,7 +237,7 @@ public:
        void setKeyboardMode(int mode) { keyboardMode = mode; }
        int  getKeyboardMode() { return keyboardMode; }
        static eRCInput *getInstance() { return instance; }
-       int lock();
+       void lock();
        void unlock();
        int islocked() { return locked; }
 };