Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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");
}
Ejemplo n.º 3
0
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;
}