Tp::ContactPtr p;
TpSessionChannel* channel=getChannelFromPeerAddress(address);
if(channel) {
- // qDebug() << "TpSessionAccount::sendMessageToAddress peer:" << channel->peerId() << "queuing:" << message;
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::sendMessageToAddress peer:" << channel->peerId() << "queuing:" << message;
channel->sendMessage(message); // We have already channel
emit messageQueued(this,true);
}
{
- // qDebug() << "TpSessionAccount::addOutgoingChannel";
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::addOutgoingChannel";
TpSessionChannel* newChannel=new TpSessionChannel(contact->manager()->connection(),contact);
connect(newChannel,SIGNAL(messageReceived(const Tp::ReceivedMessage &,TpSessionChannel *)),
SLOT(onMessageSent(const Tp::Message &,Tp::MessageSendingFlags, const QString &,TpSessionChannel *)));
connect(newChannel,SIGNAL(channelReady(TpSessionChannel *)),
SLOT(onOutgoingChannelReady(TpSessionChannel*)));
+ connect(newChannel,SIGNAL(channelDestroyed(TpSessionChannel *)),
+ SLOT(onChannelDestroyed(TpSessionChannel*)));
myChannels+=newChannel;
}
void TpSessionAccount::onOutgoingChannelReady(TpSessionChannel *ch)
{
- // qDebug() << "TpSessionAccount::onOutgoingChannelReady";
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::onOutgoingChannelReady";
emit channelReady(this);
if(!reqMessage.isEmpty()) {
- // qDebug() << "TpSessionAccount::onOutgoingChannelReady peer:" << ch->peerId() << "queuing:" << reqMessage;
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::onOutgoingChannelReady peer:" << ch->peerId() << "queuing:" << reqMessage;
ch->sendMessage(reqMessage);
emit messageQueued(this,true);
};
void TpSessionAccount::onMessageSent(const Tp::Message &msg,Tp::MessageSendingFlags, const QString &flags,TpSessionChannel *ch)
{
Q_UNUSED(flags);
- // qDebug() << "TpSessionAccount::onMessageSent peer:" << ch->peerId() <<"txt:" << msg.text();
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::onMessageSent peer:" << ch->peerId() <<"txt:" << msg.text();
emit messageSent(msg,this);
};
SLOT(onMessageReceived(const Tp::ReceivedMessage &,TpSessionChannel *)));
connect(newChannel,SIGNAL(messageSent(const Tp::Message &,Tp::MessageSendingFlags, const QString &,TpSessionChannel *)),
SLOT(onMessageSent(const Tp::Message &,Tp::MessageSendingFlags, const QString &,TpSessionChannel *)));
+ connect(newChannel,SIGNAL(channelDestroyed(TpSessionChannel *)),
+ SLOT(onChannelDestroyed(TpSessionChannel*)));
myChannels+=newChannel;
}
if (channelType == TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA && !requested) {
}
}
}
+
+void TpSessionAccount::onChannelDestroyed(TpSessionChannel *ch)
+{
+ if(TpSession::tpsDebug()) qDebug() << "TpSessionAccount::onMessageSent peer:" << ch->peerId();
+ myChannels.remove(ch);
+};