Usermode/AxWin4 - Screen dimensions acquisition, speedup, window render
[tpg/acess2.git] / Usermode / Applications / axwin4_src / Server / include / CIPCChannel_AcessIPCPipe.hpp
1 /*
2  * Acess2 GUI v4
3  * - By John Hodge (thePowersGang)
4  *
5  * CIPCChannel_AcessIPCPipe.hpp
6  * - IPC Channel :: Acess' IPC Pipe /Devices/ipcpipe/<name>
7  */
8 #ifndef _CIPCCHANNEL_ACESSIPCPIPE_HPP_
9 #define _CIPCCHANNEL_ACESSIPCPIPE_HPP_
10
11 #include <IIPCChannel.hpp>
12 #include <CClient.hpp>
13 #include <string>
14 #include <list>
15
16 namespace AxWin {
17
18 class CClient_AcessIPCPipe:
19         public CClient
20 {
21         friend class CIPCChannel_AcessIPCPipe;
22          int    m_fd;
23 public:
24         CClient_AcessIPCPipe(IIPCChannel& channel, int fd);
25         ~CClient_AcessIPCPipe();
26         
27         void SendMessage(CSerialiser& message);
28         
29         void HandleReceive();
30 };
31
32 class CIPCChannel_AcessIPCPipe:
33         public IIPCChannel
34 {
35          int    m_fd;
36         ::std::list<CClient_AcessIPCPipe>       m_clients;
37 public:
38         CIPCChannel_AcessIPCPipe(const ::std::string& suffix);
39         virtual ~CIPCChannel_AcessIPCPipe();
40         
41         virtual int  FillSelect(fd_set& rfds);
42         virtual void HandleSelect(const fd_set& rfds);
43 };
44
45 }       // namespace AxWin
46
47 #endif
48

UCC git Repository :: git.ucc.asn.au