2 * Acess2 GUI v4 (AxWin4)
3 * - By John Hodge (thePowesGang)
12 #include <CCompositor.hpp>
23 using namespace AxWin;
26 int main(int argc, char *argv[])
28 // - Load configuration (from file and argv)
31 config.parseCommandline(argc, argv);
33 catch(const std::exception& e) {
34 fprintf(stderr, "Exception: %s\n", e.what());
38 CVideo* vid = new CVideo(config.m_video);
39 // - Initialise compositor structures
40 CCompositor* compositor = new CCompositor(/*config.m_compositor,*/ *vid);
42 CInput* input = new CInput(config.m_input, *compositor);
44 // - Bind IPC channels
45 IPC::Initialise(config.m_ipc, *compositor);
46 // - Start root child process (from config)
47 // TODO: Spin up child process
55 nfd = ::std::max(nfd, input->FillSelect(rfds));
56 nfd = ::std::max(nfd, IPC::FillSelect(rfds));
58 // TODO: Support _SysSendMessage IPC?
59 int64_t timeout = Timing::GetTimeToNextEvent();
60 int rv = ::_SysSelect(nfd, &rfds, NULL, &rfds, &timeout, 0);
62 Timing::CheckEvents();
64 input->HandleSelect(rfds);
65 IPC::HandleSelect(rfds);
74 const char* InitFailure::what() const throw()