bool operator==(const CommandList &l1, const CommandList &l2) { if (l1.size() != l2.size()) return false; for (int i = 0; i < l1.size(); ++i) if (!l1.commandAt(i)->equals(l2.commandAt(i).get())) return false; return true; }
void CommandExec::run(CommandList& list, ZonePtr z) { if (list.size() == 0) { debugC(3, kDebugExec, "runCommands: nothing to do"); return; } _execZone = z; debugC(3, kDebugExec, "runCommands starting"); runList(list.begin(), list.end()); debugC(3, kDebugExec, "runCommands completed"); }
int WebBrowserLauncher::Launch() { PowerManagement::DKPowerManagerImpl::GetInstance()->AccquireLock(PM_LOCK_SCREEN, MODULE_WEBBROWSER); CommandList args = WebBrowserLauncher::GetInstance()->GetCurrentCommand(); std::string command_str = WebBrowserBin; for (int i = 0; i < args.size(); ++i) { command_str.append(" ") .append(args[i]); } // qws postfix command_str.append(" -qws"); int err = ThreadHelper::CreateThread(&m_pThread, WebBrowserThread, (void*)(command_str.c_str()), "WebBrowserLauncher @ WebBrowserThread", true, 51200, SQM_THREAD_PRIORITY); //DebugPrintf(DLC_DIAGNOSTIC, "WebBrowserLauncher::WebBrowserThread %d#, err(%d)", m_pThread, err); if (err != 0) { PowerManagement::DKPowerManagerImpl::GetInstance()->ReleaseLock(PM_LOCK_SCREEN, MODULE_WEBBROWSER); WebBrowserLauncher::m_pThread = 0; // Notify message thread that web browser has stopped. SNativeMessage msg; msg.iType = KMessageWebBrowserStop; CNativeThread::Send(msg); DebugPrintf(DLC_DIAGNOSTIC, "Launching web browser failed, send top message"); return err; } return 0; }