aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-05-20 21:07:38 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-05-20 21:07:38 +0000
commit04ddd458458ad1087173c5a1854677288d47c453 (patch)
treefcd37c5553e2018cb621bb69d1362dcb4b8808fa /lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h
parent8639b8f076ec2921d1185c92be5be71649d4defa (diff)
downloadenigma2-04ddd458458ad1087173c5a1854677288d47c453.tar.gz
enigma2-04ddd458458ad1087173c5a1854677288d47c453.zip
move c++ part of socket mmi to plugin
Diffstat (limited to 'lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h')
-rw-r--r--lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h b/lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h
new file mode 100644
index 00000000..ebba9a62
--- /dev/null
+++ b/lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h
@@ -0,0 +1,62 @@
+#ifndef __socket_mmi_h
+#define __socket_mmi_h
+
+#include <string>
+#include <lib/mmi/mmi_ui.h>
+#include <lib/python/connections.h>
+
+#ifndef SWIG
+#include <lib/base/buffer.h>
+#include <lib/base/ebase.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <sys/un.h>
+class eSocketMMIHandler: public Object
+{
+ eIOBuffer buffer;
+ int listenfd, connfd, clilen;
+ struct sockaddr_un servaddr;
+ eSocketNotifier *listensn, *connsn;
+ void listenDataAvail(int what);
+ void connDataAvail(int what);
+ void closeConn();
+ const char *sockname;
+ char *name;
+public:
+ const char *getName() const { return name; }
+ Signal4<int, int, const unsigned char*, const void *, int> mmi_progress;
+ int send_to_mmisock( void *, size_t );
+ bool connected() { return !!connsn; }
+ eSocketMMIHandler();
+ ~eSocketMMIHandler();
+};
+#endif
+
+class eSocket_UI: public eMMI_UI
+{
+ eSocketMMIHandler handler;
+ static eSocket_UI *instance;
+#ifdef SWIG
+ eSocket_UI();
+ ~eSocket_UI();
+#endif
+ void stateChanged(int val) { socketStateChanged(val); }
+public:
+ PSignal1<void,int> socketStateChanged;
+#ifndef SWIG
+ eSocket_UI();
+#endif
+ static eSocket_UI *getInstance();
+ void setInit(int slot);
+ void setReset(int slot);
+ int startMMI(int slot);
+ int stopMMI(int slot);
+ int answerMenu(int slot, int answer);
+ int answerEnq(int slot, char *val);
+ int cancelEnq(int slot);
+ int getState(int slot);
+ int getMMIState(int slot);
+ const char *getName(int) const { return handler.getName() ? handler.getName() : "MMI Socket"; }
+};
+
+#endif