X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2Fipc.hpp;h=cb06f67e8683252a75cb8734df5970efec9931e9;hb=8ae0b1147e613573a45fcd8e6f2f6af2aeff54ac;hp=c51c20199c104021272bdfd97e3ea1d2bd2916ef;hpb=f0ca31bc3f9c66a7fced9afcab9a6cacc8d1d647;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/include/ipc.hpp b/Usermode/Applications/axwin4_src/Server/include/ipc.hpp index c51c2019..cb06f67e 100644 --- a/Usermode/Applications/axwin4_src/Server/include/ipc.hpp +++ b/Usermode/Applications/axwin4_src/Server/include/ipc.hpp @@ -8,20 +8,38 @@ #ifndef _IPC_H_ #define _IPC_H_ +#include + extern "C" { #include }; +#include #include namespace AxWin { + class CCompositor; +class CClient; namespace IPC { extern void Initialise(const CConfigIPC& config, CCompositor& compositor); extern int FillSelect(::fd_set& rfds); -extern void HandleSelect(::fd_set& rfds); +extern void HandleSelect(const ::fd_set& rfds); +extern void RegisterClient(CClient& client); +extern void DeregisterClient(CClient& client); +extern void HandleMessage(CClient& client, CDeserialiser& message); + +class CClientFailure: + public ::std::exception +{ + const std::string m_what; +public: + CClientFailure(std::string&& what); + ~CClientFailure() throw(); + const char *what() const throw(); +}; }; // namespace IPC }; // namespace AxWin