Esempio n. 1
0
void HttpClientImpl::onReplyFinished(http::Client& client)
{
    log_debug("onReplyFinished; method=" << static_cast<void*>(_proc));

    try
    {
        _exceptionPending = false;
        endCall();
    }
    catch (const std::exception& e)
    {
        if (!_proc)
            throw;

        _exceptionPending = true;

        IRemoteProcedure* proc = _proc;
        _proc = 0;
        proc->onFinished();
        _exceptionPending = false;
        return;
    }

    IRemoteProcedure* proc = _proc;
    _proc = 0;
    proc->onFinished();
}
Esempio n. 2
0
Tip* TipCollection::canvasObjectToTip(CanvasObjectManager::Object obj)
{
   switch(obj) {
      case CanvasObjectManager::Object::DialInfo:
         return dialPad();
      case CanvasObjectManager::Object::EndCall :
         return endCall();
      case CanvasObjectManager::Object::Ringing :
         return ringing();
      case CanvasObjectManager::Object::Network :
         return connectionLost();
      case CanvasObjectManager::Object::DropInfo:
         return removeConference();
      case CanvasObjectManager::Object::ConfInfo:
         return conference();
      case CanvasObjectManager::Object::AccountDown:
         return networkLost();
      case CanvasObjectManager::Object::Searching:
         return searching();
      case CanvasObjectManager::Object::NoObject:
      case CanvasObjectManager::Object::AutoComplete:
         return nullptr;
   }
   return nullptr;
}
 void CMessageBrokerControllerPhone::processRequest(Json::Value& root)
 {
    DBG_MSG(("CMessageBrokerControllerPhone::processRequest()\n"));
    if (getControllersName() == getDestinationComponentName(root))
    {
       Json::Value response;
       response["jsonrpc"] = root["jsonrpc"];
       response["id"] = root["id"];
       if ("makeCall" == getMethodName(root))
       {
          if (root.isMember("params"))
          {
             Json::Value params = root["params"];
             if (params.isMember("phoneNumber") && params["phoneNumber"].isString())
             {
                makeCall(params["phoneNumber"].asString(), response);
             } else
             {
                DBG_MSG_ERROR(("Wrong params!\n"));
                prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Wrong params!", response);
             }
          } else
          {
             DBG_MSG_ERROR(("Not possible to parse phone number!\n"));
             prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Not possible to parse phone number!", response);
          }
       } else if ("endCall" == getMethodName(root))
       {
          endCall(root["params"].asString(), response);
       } else if ("holdCall" == getMethodName(root))
       {
          holdCall(root["params"].asString(), response);
       } else if ("getContacts" == getMethodName(root))
       {
          if (root.isMember("params"))
          {
             Json::Value params = root["params"];
             if (params.isMember("firstLetter") && params["firstLetter"].isString()
              && params.isMember("offset") && params["offset"].isInt()
              && params.isMember("numberOfItems") && params["numberOfItems"].isInt())
             {
                getContacts(params["firstLetter"].asString(), params["offset"].asInt(), params["numberOfItems"].asInt(), response);
             } else
             {
                DBG_MSG_ERROR(("Wrong params of getContacts()!\n"));
                prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Wrong params of getContacts()!", response);
             }
          } else
          {
             DBG_MSG_ERROR(("Params is not an object!\n"));
             prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Params is not an object!", response);
          }
       } else if ("getHistory" == getMethodName(root))
       {
          if (root.isMember("params"))
          {
             Json::Value params = root["params"];
             if (params.isMember("typeOfContacts") && params["typeOfContacts"].isString()
              && params.isMember("offset") && params["offset"].isInt()
              && params.isMember("numberOfItems") && params["numberOfItems"].isInt())
             {
                getHistory(params["typeOfContacts"].asString(), params["offset"].asInt(), params["numberOfItems"].asInt(), response);
             } else
             {
                DBG_MSG_ERROR(("Wrong params of getHistory()!\n"));
                prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Wrong params of getHistory()!", response);
             }
          } else
          {
             DBG_MSG_ERROR(("Params is not an object!\n"));
             prepareErrorMessage(NsMessageBroker::INVALID_PARAMS, "Params is not an object!", response);
          }
       } else
       {
          DBG_MSG_ERROR(("Method has not been found!\n"));
          Json::Value err;
          err["code"] = NsMessageBroker::INVALID_REQUEST;
          err["message"] = "Method has not been found.";
          response["error"] = err;
       }
       sendJsonMessage(response);
    } else
    {
       DBG_MSG_ERROR(("Wrong message destination!\n"));
    }
 }