utils/snapshot: work in a temporary directory
[skype-call-recorder.git] / skype.h
blob6ffcc3312a946578b41248b5830ae5bae5ca5996
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 <QDBusConnection>
29 #include <QDBusAbstractAdaptor>
30 #include <QString>
32 #include "common.h"
34 class SkypeExport;
35 class QTimer;
36 class QDBusError;
37 class QDBusMessage;
39 class Skype : public QObject {
40 Q_OBJECT
41 public:
42 friend class SkypeExport;
44 Skype(QObject *);
45 QString sendWithReply(const QString &, int = 10000);
46 void send(const QString &);
47 QString getObject(const QString &);
48 const QString &getSkypeName() const { return skypeName; }
50 signals:
51 void notify(const QString &) const;
52 void connected(bool) const;
53 void connectionFailed(const QString &) const;
55 private:
56 void sendWithAsyncReply(const QString &);
57 void doNotify(const QString &);
59 private slots:
60 void connectToSkype();
61 void methodCallback(const QDBusMessage &);
62 void methodError(const QDBusError &, const QDBusMessage &);
63 void serviceOwnerChanged(const QString &, const QString &, const QString &);
64 void poll();
66 private:
67 QDBusConnection dbus;
68 int connectionState;
69 SkypeExport *exported;
70 QTimer *timer;
71 QString skypeName;
73 DISABLE_COPY_AND_ASSIGNMENT(Skype);
76 class SkypeExport : public QDBusAbstractAdaptor {
77 Q_OBJECT
78 Q_CLASSINFO("D-Bus Interface", "com.Skype.API.Client")
79 public:
80 SkypeExport(Skype *);
82 public slots:
83 Q_NOREPLY void Notify(const QString &);
85 private:
86 Skype *parent;
88 DISABLE_COPY_AND_ASSIGNMENT(SkypeExport);
91 #endif