Пример #1
0
static void
subscribe(struct pubnub *p)
{
	const char *channels[] = { "my_channel", "demo_channel" };
	pubnub_subscribe_multi(p, channels, 2, -1, subscribe_received, NULL);

	/* ...continues later in subscribe_received(). */
}
Пример #2
0
PUBNUB_API
void
PubNub::subscribe_multi(const std::vector<std::string> &channels,
		long timeout, PubNub_subscribe_cb cb, void *cb_data)
{
	const char **ch = (const char **) malloc(channels.size() * sizeof(ch[0]));
	for (unsigned int i = 0; i < channels.size(); i++) {
		ch[i] = channels[i].c_str();
	}

	if (cb) {
		subscribe_pair *cb_info = new subscribe_pair(std::pair<PubNub_subscribe_cb, PubNub *>(cb, this), cb_data);
		pubnub_subscribe_multi(p, ch, channels.size(), timeout, pubnub_cpp_subscribe_cb, cb_info);
	} else {
		pubnub_subscribe_multi(p, ch, channels.size(), timeout, NULL, NULL);
	}

	free(ch);
}