// // Created by romanov on 6/1/17. // #ifndef EVESTANDALONE_ROOTLOOP_H #define EVESTANDALONE_ROOTLOOP_H #include "ApplicationContext.h" #include "KeyboardControl.h" #include "JEventProcessor_EventReader.h" #include "HttpController.h" #include namespace hdvis { class ControlLoop { public: ControlLoop(): _isMultithreaded(false) { _httpControl.AddApiGetRoute("/api/v1/status", [this](const httplib::Request &req) { std::cout<<"/api/v1/status"<RunRootAppThisThread();}); } void RunRootAppThisThread() { _keyboardControl.PrintMenu(); _keyboardControl.StartListening(); _httpControl.StartListening(); while (!_keyboardControl.IsQuitCommand()) { auto lock = std::unique_lock(ApplicationContext::InnerLoopMutex); try { //LOOP? if(_keyboardControl.IsNextCommand()) { _keyboardControl.ClearNextCommand(); _context.JanaWaitingLogic().ProceedToNextEvent(); std::cout<<"COMMAND ProceedToNextEvent: "< _isMultithreaded; KeyboardControl _keyboardControl; HttpController _httpControl; }; } #endif //EVESTANDALONE_ROOTLOOP_H