#pragma once #include "../global.h" struct StartInfo; class CGameState; class CGameInterface; class CConnection; class CCallback; namespace boost { class mutex; class condition_variable; } template struct CSharedCond { boost::mutex *mx; boost::condition_variable *cv; T *res; CSharedCond(T*R) { res = R; mx = new boost::mutex; cv = new boost::condition_variable; } ~CSharedCond() { delete res; delete mx; delete cv; } }; class CClient { CGameState *gs; std::map playerint; CConnection *serv; public: CClient(void); CClient(CConnection *con, StartInfo *si); ~CClient(void); void process(int what); void run(); friend class CCallback; friend class CScriptCallback; };