X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCClient.hpp;fp=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCClient.hpp;h=2a23f155580d49ee96892a27714d116e5e1a6768;hp=0000000000000000000000000000000000000000;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hpb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b diff --git a/Usermode/Applications/axwin4_src/Server/include/CClient.hpp b/Usermode/Applications/axwin4_src/Server/include/CClient.hpp new file mode 100644 index 00000000..2a23f155 --- /dev/null +++ b/Usermode/Applications/axwin4_src/Server/include/CClient.hpp @@ -0,0 +1,48 @@ +/* + * Acess2 GUI v4 + * - By John Hodge (thePowersGang) + * + * CClient.hpp + * - IPC Client + */ +#ifndef _CCLIENT_H_ +#define _CCLIENT_H_ + +#include "CWindow.hpp" +#include "serialisation.hpp" +#include +#include +#include "IFontFace.hpp" + +namespace AxWin { + +class IIPCChannel; + +class CClient +{ + unsigned int m_id; + IIPCChannel& m_channel; + + ::std::map m_windows; + //CWindow* m_windows[1]; +public: + CClient(::AxWin::IIPCChannel& channel); + virtual ~CClient(); + + void set_id(unsigned int id) { assert(m_id == 0); m_id = id; } + unsigned int id() const { return m_id; } + + CWindow* GetWindow(int ID); + void SetWindow(int ID, CWindow* window); + + IFontFace& GetFont(unsigned int id); + + virtual void SendMessage(CSerialiser& reply) = 0; + void HandleMessage(CDeserialiser& message); +}; + + +}; + +#endif +