File indexing completed on 2023-05-30 11:40:29

0001 /*
0002     KDE integration module for Telepathy
0003     Copyright (C) 2011  Martin Klapetek <martin.klapetek@gmail.com>
0004 
0005     This library is free software; you can redistribute it and/or
0006     modify it under the terms of the GNU Lesser General Public
0007     License as published by the Free Software Foundation; either
0008     version 2.1 of the License, or (at your option) any later version.
0009 
0010     This library is distributed in the hope that it will be useful,
0011     but WITHOUT ANY WARRANTY; without even the implied warranty of
0012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013     Lesser General Public License for more details.
0014 
0015     You should have received a copy of the GNU Lesser General Public
0016     License along with this library; if not, write to the Free Software
0017     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0018 */
0019 
0020 
0021 #ifndef TELEPATHY_MODULE_H
0022 #define TELEPATHY_MODULE_H
0023 
0024 #include <KDEDModule>
0025 
0026 #include <TelepathyQt/AccountManager>
0027 #include <KTp/presence.h>
0028 
0029 class ContactRequestHandler;
0030 namespace Tp {
0031     class PendingOperation;
0032 }
0033 
0034 namespace KTp {
0035     class GlobalPresence;
0036 }
0037 
0038 class ErrorHandler;
0039 class ContactNotify;
0040 class StatusHandler;
0041 
0042 class TelepathyModule : public KDEDModule
0043 {
0044     Q_OBJECT
0045 
0046 public:
0047     TelepathyModule(QObject *parent, const QList<QVariant> &args);
0048     ~TelepathyModule();
0049 
0050 Q_SIGNALS:
0051     void settingsChanged();
0052 
0053 private Q_SLOTS:
0054     void onAccountManagerReady(Tp::PendingOperation *op);
0055 
0056 private:
0057     StatusHandler           *m_statusHandler;
0058     ContactRequestHandler   *m_contactHandler;
0059     ContactNotify           *m_contactNotify;
0060     ErrorHandler            *m_errorHandler;
0061 
0062 };
0063 
0064 #endif // TELEPATHY_MODULE_H