bool ccWebsocketManager::performWebsocketEvent(ccWebsocket::ccWebSocketEvent eEvent, std::shared_ptr<ccWebsocket> pWS, const std::string& strData) { std::lock_guard<std::mutex> lock(_mtxFunction); if (hasUri(pWS->getUri()) == false) return false; _aFunctions[pWS->getUri()](eEvent, pWS, strData); if (eEvent == ccWebsocket::ccWebSocketEvent_Disconnected) removeWebsocket(pWS); return true; }
QVariantMap FileTransferChannelCreationProperties::createRequest() const { if (!isValid()) { warning() << "Invalid file transfer creation properties"; return QVariantMap(); } QVariantMap request; request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"), TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER); request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"), (uint) Tp::HandleTypeContact); request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Filename"), suggestedFileName()); request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentType"), contentType()); request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Size"), size()); if (hasContentHash()) { request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentHashType"), (uint) contentHashType()); request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentHash"), contentHash()); } if (hasDescription()) { request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Description"), description()); } if (hasLastModificationTime()) { request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Date"), (qulonglong) lastModificationTime().toTime_t()); } if (hasUri()) { request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".URI"), uri()); } return request; }
bool ccWebsocketManager::addWebsocket(std::shared_ptr<ccWebsocket> pNewWS) { if (!hasUri(pNewWS->getUri())) return false; // add new group auto it = _aWSGList.find(pNewWS->getUri()); if (it != _aWSGList.end()) it->second->add(pNewWS); else { std::shared_ptr<ccWebsocketGroup> newGroup(new ccWebsocketGroup(pNewWS->getUri())); _aWSGList[pNewWS->getUri()] = newGroup; newGroup->add(pNewWS); } return true; }