Ejemplo n.º 1
0
	void HubApi::on(ClientManagerListener::ClientRemoved, const ClientPtr& aClient) noexcept {
		addAsyncTask([=] {
			removeSubModule(aClient->getClientId());

			if (!subscriptionActive("hub_removed")) {
				return;
			}

			send("hub_removed", {
				{ "id", aClient->getClientId() }
			});
		});
	}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
	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;
	}
Ejemplo n.º 4
0
	void HubApi::addHub(const ClientPtr& aClient) noexcept {
		addSubModule(aClient->getClientId(), make_shared<HubInfo>(this, aClient));
	}