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(); }
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")); } }