X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCIPCChannel_AcessIPCPipe.hpp;fp=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCIPCChannel_AcessIPCPipe.hpp;h=c4ec004206fa7922b5832f5457f098a5aa3e2781;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hp=0000000000000000000000000000000000000000;hpb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/include/CIPCChannel_AcessIPCPipe.hpp b/Usermode/Applications/axwin4_src/Server/include/CIPCChannel_AcessIPCPipe.hpp new file mode 100644 index 00000000..c4ec0042 --- /dev/null +++ b/Usermode/Applications/axwin4_src/Server/include/CIPCChannel_AcessIPCPipe.hpp @@ -0,0 +1,48 @@ +/* + * Acess2 GUI v4 + * - By John Hodge (thePowersGang) + * + * CIPCChannel_AcessIPCPipe.hpp + * - IPC Channel :: Acess' IPC Pipe /Devices/ipcpipe/ + */ +#ifndef _CIPCCHANNEL_ACESSIPCPIPE_HPP_ +#define _CIPCCHANNEL_ACESSIPCPIPE_HPP_ + +#include +#include +#include +#include + +namespace AxWin { + +class CClient_AcessIPCPipe: + public CClient +{ + friend class CIPCChannel_AcessIPCPipe; + int m_fd; +public: + CClient_AcessIPCPipe(IIPCChannel& channel, int fd); + ~CClient_AcessIPCPipe(); + + void SendMessage(CSerialiser& message); + + void HandleReceive(); +}; + +class CIPCChannel_AcessIPCPipe: + public IIPCChannel +{ + int m_fd; + ::std::list m_clients; +public: + CIPCChannel_AcessIPCPipe(const ::std::string& suffix); + virtual ~CIPCChannel_AcessIPCPipe(); + + virtual int FillSelect(fd_set& rfds); + virtual void HandleSelect(const fd_set& rfds); +}; + +} // namespace AxWin + +#endif +