5 #include <lib/mmi/mmi_ui.h>
6 #include <lib/python/connections.h>
9 #include <lib/base/buffer.h>
10 #include <lib/base/ebase.h>
11 #include <sys/socket.h>
12 #include <sys/types.h>
14 class eSocketMMIHandler: public Object
17 int listenfd, connfd, clilen;
18 struct sockaddr_un servaddr;
19 eSocketNotifier *listensn, *connsn;
20 void listenDataAvail(int what);
21 void connDataAvail(int what);
26 const char *getName() const { return name; }
27 Signal4<int, int, const unsigned char*, const void *, int> mmi_progress;
28 int send_to_mmisock( void *, size_t );
29 bool connected() { return !!connsn; }
35 class eSocket_UI: public eMMI_UI
37 eSocketMMIHandler handler;
38 static eSocket_UI *instance;
43 void stateChanged(int val) { socketStateChanged(val); }
45 PSignal1<void,int> socketStateChanged;
49 static eSocket_UI *getInstance();
50 void setInit(int slot);
51 void setReset(int slot);
52 int startMMI(int slot);
53 int stopMMI(int slot);
54 int answerMenu(int slot, int answer);
55 int answerEnq(int slot, char *val);
56 int cancelEnq(int slot);
57 int getState(int slot);
58 int getMMIState(int slot);
59 const char *getName(int) const { return handler.getName() ? handler.getName() : "MMI Socket"; }