Esempio n. 1
0
Error XMPPStream::close () {
	Error e = NoError;
	if (!mSkipInit){
		e = send ("</stream:stream>");
	}
	if (mChannel) {
		mChannel->changed().clear ();
		mChannel->close(abind (dMemFun (this, &XMPPStream::throwAwayOnClose), mChannel));
		mChannel = ChannelPtr ();
	}
	return e;
}
Esempio n. 2
0
void LoggingRegistry::registerChannel(const std::string& name, Channel* pChannel)
{
    FastMutex::ScopedLock lock(_mutex);

    _channelMap[name] = ChannelPtr(pChannel, true);
}
Esempio n. 3
0
		void AddChannel(const std::string & name, const std::string & title)
		{
			boost::unique_lock<boost::shared_mutex> lock(channel_sync_);
			channels_.insert(std::make_pair(name, ChannelPtr(new Channel(name, title))));
		}
Esempio n. 4
0
void XMPPStream::uncouple () {
	mChannel->changed().clear ();
	xcall (abind (dMemFun (this, &XMPPStream::throwAwayChannel), mChannel));
	mChannel = ChannelPtr ();
}