void HubApi::on(ClientManagerListener::ClientRemoved, const ClientPtr& aClient) noexcept { addAsyncTask([=] { removeSubModule(aClient->getClientId()); if (!subscriptionActive("hub_removed")) { return; } send("hub_removed", { { "id", aClient->getClientId() } }); }); }
Client::Client(const string& hubURL, char separator_, const ClientPtr& aOldClient) : myIdentity(ClientManager::getInstance()->getMe(), 0), clientId(aOldClient ? aOldClient->getClientId() : ++idCounter), reconnDelay(120), lastActivity(GET_TICK()), registered(false), autoReconnect(false), state(STATE_DISCONNECTED), sock(0), separator(separator_), countType(COUNT_UNCOUNTED), availableBytes(0), favToken(0), iskeypError(false), cache(aOldClient ? aOldClient->getCache() : SettingsManager::HUB_MESSAGE_CACHE) { setHubUrl(hubURL); TimerManager::getInstance()->addListener(this); }
json HubApi::serializeClient(const ClientPtr& aClient) noexcept { json j = { { "identity", HubInfo::serializeIdentity(aClient) }, { "connect_state", HubInfo::serializeConnectState(aClient) }, { "hub_url", aClient->getHubUrl() }, { "id", aClient->getClientId() }, { "favorite_hub", aClient->getFavToken() }, { "share_profile", aClient->getShareProfile() } //{ "share_profile", Serializer::serializeShare aClient->getShareProfile() }, }; Serializer::serializeCacheInfo(j, aClient->getCache(), Serializer::serializeUnreadChat); return j; }
void HubApi::addHub(const ClientPtr& aClient) noexcept { addSubModule(aClient->getClientId(), make_shared<HubInfo>(this, aClient)); }