Ejemplo n.º 1
0
bool CmdMachine::onServer(DebuggerProxy &proxy) {
  if (m_body == "rpc") {
    String host = m_rpcConfig[s_host].toString();
    if (host.empty()) {
      register_intercept("", false, uninit_null());
    } else {
      int port = m_rpcConfig[s_port].toInt32();
      LibEventHttpClient::SetCache(host.data(), port, 1);
      register_intercept("", "fb_rpc_intercept_handler", m_rpcConfig);
    }
    return proxy.sendToClient(this);
  }
  if (m_body == "list") {
    Debugger::GetRegisteredSandboxes(m_sandboxes);
    return proxy.sendToClient(this);
  }
  if (m_body == "attach" && !m_sandboxes.empty()) {
    m_succeed = proxy.switchSandbox(m_sandboxes[0]->id(), m_force);
    if (m_succeed) {
      proxy.notifyDummySandbox();
      m_exitInterrupt = true;
    }
    return proxy.sendToClient(this);
  }
  return false;
}
Ejemplo n.º 2
0
bool CmdMachine::onServer(DebuggerProxy *proxy) {
  if (m_body == "rpc") {
    String host = m_rpcConfig["host"].toString();
    if (host.empty()) {
      register_intercept("", false, null);
    } else {
      int port = m_rpcConfig["port"].toInt32();
      LibEventHttpClient::SetCache(host.data(), port, 1);
      register_intercept("", "fb_rpc_intercept_handler", m_rpcConfig);
    }
    return true;
  }
  if (m_body == "list") {
    Debugger::GetRegisteredSandboxes(m_sandboxes);
    return proxy->send(this);
  }
  if (m_body == "attach" && !m_sandboxes.empty()) {
    proxy->switchSandbox(m_sandboxes[0]->id());
    proxy->notifyDummySandbox();
    m_exitInterrupt = true;
    return true;
  }
  return false;
}