当前位置: 首页>>代码示例>>C++>>正文


C++ RosterItemPayload::setSubscription方法代码示例

本文整理汇总了C++中swift::RosterItemPayload::setSubscription方法的典型用法代码示例。如果您正苦于以下问题:C++ RosterItemPayload::setSubscription方法的具体用法?C++ RosterItemPayload::setSubscription怎么用?C++ RosterItemPayload::setSubscription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在swift::RosterItemPayload的用法示例。


在下文中一共展示了RosterItemPayload::setSubscription方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: handleRegisterRemoteRosterResponse

void XMPPUserRegistration::handleRegisterRemoteRosterResponse(boost::shared_ptr<Swift::RosterPayload> payload, Swift::ErrorPayload::ref remoteRosterNotSupported, const UserInfo &row){
	if (remoteRosterNotSupported || !payload) {
		// Remote roster is not support, so send normal Subscribe presence to add transport.
		Swift::Presence::ref response = Swift::Presence::create();
		response->setFrom(m_component->getJID());
		response->setTo(Swift::JID(row.jid));
		response->setType(Swift::Presence::Subscribe);
		m_component->getFrontend()->sendPresence(response);
	}
	else {
		// Remote roster is support, so use remoteroster XEP to add transport.
		Swift::RosterPayload::ref payload = Swift::RosterPayload::ref(new Swift::RosterPayload());
		Swift::RosterItemPayload item;
		item.setJID(m_component->getJID());
		item.setSubscription(Swift::RosterItemPayload::Both);
		payload->addItem(item);
		Swift::SetRosterRequest::ref request = Swift::SetRosterRequest::create(payload, row.jid, static_cast<XMPPFrontend *>(m_component->getFrontend())->getIQRouter());
		request->send();
	}

	onUserRegistered(row);

	// If the JID for registration notification is configured, send the notification message.
	std::vector<std::string> const &x = CONFIG_VECTOR(m_component->getConfig(),"registration.notify_jid");
	BOOST_FOREACH(const std::string &notify_jid, x) {
		boost::shared_ptr<Swift::Message> msg(new Swift::Message());
		msg->setBody(std::string("registered: ") + row.jid);
		msg->setTo(notify_jid);
		msg->setFrom(m_component->getJID());
		m_component->getFrontend()->sendMessage(msg);
	}
开发者ID:HazWard,项目名称:spectrum2,代码行数:31,代码来源:XMPPUserRegistration.cpp

示例2: addEmptyBuddy

	void addEmptyBuddy() {
		Swift::RosterPayload::ref p = Swift::RosterPayload::ref(new Swift::RosterPayload());
		Swift::RosterItemPayload item;
		item.setJID("icq.localhost");
		item.setSubscription(Swift::RosterItemPayload::Both);

		p->addItem(item);
		Swift::SetRosterRequest::ref request = Swift::SetRosterRequest::create(p, "[email protected]", static_cast<XMPPFrontend *>(component->getFrontend())->getIQRouter());

		SWIFTEN_SHRPTR_NAMESPACE::shared_ptr<Swift::IQ> iq(new Swift::IQ(Swift::IQ::Set));
		iq->setTo("icq.localhost");
		iq->setFrom("[email protected]");
		iq->addPayload(p);
		iq->setID("123");
		injectIQ(iq);

		CPPUNIT_ASSERT_EQUAL(std::string("none"), m_buddy);
	}
开发者ID:hanzz,项目名称:spectrum2,代码行数:18,代码来源:rosterresponder.cpp


注:本文中的swift::RosterItemPayload::setSubscription方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。