X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=tpsession-0.1%2Ftpsession%2Ftpsessionobserver.cpp;fp=tpsession-0.1%2Ftpsession%2Ftpsessionobserver.cpp;h=cc1f8db5def6e41bf9619025089132805b423585;hb=9a48f77860a2bb996f3ca318fe3c19096110f28a;hp=0000000000000000000000000000000000000000;hpb=f116f1ac60b47e9186e4eef5f68597980518a2eb;p=tpsession diff --git a/tpsession-0.1/tpsession/tpsessionobserver.cpp b/tpsession-0.1/tpsession/tpsessionobserver.cpp new file mode 100644 index 0000000..cc1f8db --- /dev/null +++ b/tpsession-0.1/tpsession/tpsessionobserver.cpp @@ -0,0 +1,35 @@ +#include "tpsessionobserver.h" +#include "tpsession.h" +#include + +TpSessionObserver::TpSessionObserver(const Tp::ChannelClassList &channelFilter,TpSession *session):Tp::AbstractClientObserver(channelFilter) +{ + tpSession=session; + qDebug() << __PRETTY_FUNCTION__ ; +} + +void TpSessionObserver::observeChannels(const Tp::MethodInvocationContextPtr<> &context, + const Tp::AccountPtr &account, + const Tp::ConnectionPtr &connection, + const QList &channels, + const Tp::ChannelDispatchOperationPtr &dispatchOperation, + const QList &requestsSatisfied, + const QVariantMap &observerInfo) +{ + Q_UNUSED(dispatchOperation) + Q_UNUSED(requestsSatisfied) + Q_UNUSED(observerInfo) + Q_UNUSED(connection) + + qDebug() << "TpSessionObserver::observeChannels"; + + foreach(Tp::ChannelPtr channel, channels) { + QVariantMap properties = channel->immutableProperties(); + QString channelType = properties.value(QLatin1String(TELEPATHY_INTERFACE_CHANNEL ".ChannelType")).toString(); + if( !channelType.isNull() && !channelType.isEmpty()) { + qDebug() << "ChannelType=" << channelType; + tpSession->createChannelListener(channelType, context, account, channel); + } + } +} +