utils.cpp: Set FD_CLOEXEC on lock file
[skype-call-recorder.git] / recorder.h
blob7fc6f6c5614a479dd1b4a4c4f377a530356b8a79
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 RECORDER_H
25 #define RECORDER_H
27 #include <QApplication>
28 #include <QStringList>
29 #include <QPointer>
31 #include "common.h"
32 #include "utils.h"
34 class TrayIcon;
35 class QTextEdit;
36 class QString;
37 class PreferencesDialog;
38 class Skype;
39 class CallHandler;
40 class AboutDialog;
42 class Recorder : public QApplication {
43 Q_OBJECT
44 public:
45 Recorder(int, char **);
46 virtual ~Recorder();
48 void debugMessage(const QString &);
50 public slots:
51 void about();
52 void openPreferences();
53 void closePreferences();
54 void browseCalls();
55 void quitConfirmation();
56 void skypeNotify(const QString &);
57 void skypeConnected(bool);
58 void skypeConnectionFailed(const QString &);
59 void savePreferences();
61 private:
62 void loadPreferences();
63 void setupGUI();
64 void setupSkype();
65 void setupCallHandler();
67 QString getConfigFile() const;
69 private:
70 Skype *skype;
71 CallHandler *callHandler;
72 PreferencesDialog *preferencesDialog;
73 TrayIcon *trayIcon;
74 QPointer<AboutDialog> aboutDialog;
75 LockFile lockFile;
77 DISABLE_COPY_AND_ASSIGNMENT(Recorder);
80 #endif