void PluginAPI::ProcessRDPList() { LOG(LOG_APIFUNC, "ProcessRDPList\n"); #ifdef RSPTHREAD _callAPICommand(acProcessRDPList); #else RDP_ProcessRDPList(); #endif }
void RSP_ThreadProc(std::mutex * _pRspThreadMtx, std::mutex * _pPluginThreadMtx, std::condition_variable_any * _pRspThreadCv, std::condition_variable_any * _pPluginThreadCv, API_COMMAND * _pCommand) { _pRspThreadMtx->lock(); RSP_Init(); GBI.init(); Config_LoadConfig(); video().start(); assert(!isGLError()); while (true) { _pPluginThreadMtx->lock(); _pPluginThreadCv->notify_one(); _pPluginThreadMtx->unlock(); _pRspThreadCv->wait(*_pRspThreadMtx); switch (*_pCommand) { case acProcessDList: RSP_ProcessDList(); break; case acProcessRDPList: RDP_ProcessRDPList(); break; case acUpdateScreen: VI_UpdateScreen(); break; case acRomClosed: TFH.shutdown(); video().stop(); GBI.destroy(); *_pCommand = acNone; _pRspThreadMtx->unlock(); _pPluginThreadMtx->lock(); _pPluginThreadCv->notify_one(); _pPluginThreadMtx->unlock(); return; } assert(!isGLError()); *_pCommand = acNone; } }
bool run() { RDP_ProcessRDPList(); return true; }