From 04ddd458458ad1087173c5a1854677288d47c453 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Tue, 20 May 2008 21:07:38 +0000 Subject: move c++ part of socket mmi to plugin --- .../Plugins/Extensions/SocketMMI/src/socket_mmi.h | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h (limited to 'lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.h') 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 +#include +#include + +#ifndef SWIG +#include +#include +#include +#include +#include +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 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 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 -- cgit v1.2.3