Make sure refused calls are removed
[skype-call-recorder.git] / skype.h
blobf3f29ede27b5d0820945f9d4e6853cfb9b8784b8
1 /*
2 Skype Call Recorder
3 Copyright (C) 2008 jlh (jlh at gmx dot ch)
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; either version 2 of the License, version 3 of
8 the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 The GNU General Public License version 2 is included with the source of
20 this program under the file name COPYING. You can also get a copy on
21 http://www.fsf.org/
24 #ifndef SKYPE_H
25 #define SKYPE_H
27 #include <QObject>
28 #include <QtDBus>
29 #include <QString>
31 class SkypeExport;
32 class QTimer;
34 class Skype : public QObject {
35 Q_OBJECT
36 public:
37 friend class SkypeExport;
39 Skype();
40 QString sendWithReply(const QString &, int = 10000);
41 void send(const QString &);
42 QString getObject(const QString &);
44 signals:
45 void notify(const QString &) const;
46 void connected() const;
47 void connectionFailed(const QString &) const;
48 void connectionLost() const;
49 void skypeNotFound() const;
51 private:
52 void sendWithAsyncReply(const QString &);
53 void doNotify(const QString &) const;
55 private slots:
56 void connectToSkype();
57 void methodCallback(const QDBusMessage &);
58 void methodError(const QDBusError &, const QDBusMessage &);
59 void serviceOwnerChanged(const QString &, const QString &, const QString &);
60 void poll();
62 private:
63 QDBusConnection dbus;
64 int connectionState;
65 SkypeExport *exported;
66 QTimer *timer;
68 private:
69 // disabled
70 Skype(const Skype &);
71 Skype &operator=(const Skype &);
74 class SkypeExport : public QDBusAbstractAdaptor {
75 Q_OBJECT
76 Q_CLASSINFO("D-Bus Interface", "com.Skype.API.Client")
77 public:
78 SkypeExport(Skype *);
80 public slots:
81 Q_NOREPLY void Notify(const QString &);
83 private:
84 Skype *parent;
86 private:
87 // disabled
88 SkypeExport(const SkypeExport &);
89 SkypeExport &operator=(const SkypeExport &);
92 #endif