Advertisement
puneet

tubesmanager.h

Mar 31st, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1.  
  2. #ifndef TUBES_MANAGER_H
  3. #define TUBES_MANAGER_H
  4.  
  5. #include <QtCore/QList>
  6.  
  7. #include <TelepathyQt/AbstractClientHandler>
  8. #include <TelepathyQt/ChannelRequest>
  9.  
  10. class IncomingTube;
  11. class OutgoingTube;
  12. class QTcpSocket;
  13.  
  14. class TubesManager : public QObject, public Tp::AbstractClientHandler
  15. {
  16.     Q_OBJECT
  17.  
  18. public:
  19.     TubesManager(QObject *parent = 0);
  20.     virtual ~TubesManager();
  21.  
  22.     virtual bool bypassApproval() const;
  23.     virtual void handleChannels(const Tp::MethodInvocationContextPtr<> &context,
  24.                                 const Tp::AccountPtr &account,
  25.                                 const Tp::ConnectionPtr &connection,
  26.                                 const QList<Tp::ChannelPtr> &channels,
  27.                                 const QList<Tp::ChannelRequestPtr> &requestsSatisfied,
  28.                                 const QDateTime &userActionTime,
  29.                                 const QVariantMap &handlerInfo)=0;
  30.     virtual void addRequest(const Tp::ChannelRequestPtr &request);
  31.     virtual void removeRequest(const Tp::ChannelRequestPtr &request, const QString &errorName, const QString &errorMessage);
  32.  
  33. public Q_SLOTS:
  34.     void onOutgoingTubeReady(Tp::PendingOperation *op);
  35.     void onIncomingTubeReady(Tp::PendingOperation *op);
  36.     void onOfferTubeFinished(Tp::PendingOperation *op);
  37.     void onAcceptTubeFinished(Tp::PendingOperation *op);
  38.  
  39. Q_SIGNALS:
  40.     void newIncomingTube(QTcpSocket *socket, const QString &jabberId);
  41.     void newOutgoingTube(QTcpSocket *socket, const QString &jabberId);
  42.     void gotTubeDBusConnection(const QDBusConnection &conn);
  43.     void gotTubeChannel(Tp::ChannelPtr channel);
  44.  
  45. private:
  46.     QList<IncomingTube*> m_incomingTubes;
  47.     QList<OutgoingTube*> m_outgoingTubes;
  48.  
  49.     Tp::ChannelRequestPtr m_channelRequest;
  50.  
  51.     Tp::ChannelPtr m_groupTextChannel;
  52.     Tp::IncomingDBusTubeChannelPtr m_incomingGroupDBusChannel;
  53.     Tp::OutgoingDBusTubeChannelPtr m_outgoingGroupDBusChannel;
  54.     Tp::ChannelPtr m_groupDBusChannel;
  55. };
  56.  
  57.  
  58. #endif // Header guard
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement