Initial commit
[drdanz-telepathy-kde:libktelepathy-tests.git] / accept-local-streamtube / local-streamtube-receiver.cpp
1 /*
2 * Copyright (C) 2010 Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19 extern "C"
20 {
21 #include <signal.h>
22 }
23
24 #include <KAboutData>
25 #include <KCmdLineArgs>
26 #include <KDebug>
27 #include <KApplication>
28
29 #include <Nepomuk/ResourceManager>
30
31
32 namespace
33 {
34     static void signal_handler(int signal)
35     {
36         if ((signal == SIGTERM) || (signal == SIGINT)) {
37             QCoreApplication * const app(QCoreApplication::instance());
38             if (app != 0) {
39                 kDebug() << "Signal Handler Called. Exiting...";
40                 app->quit();
41             }
42         }
43     }
44 }
45
46 int main(int argc, char** argv)
47 {
48     KAboutData aboutData("local-streamtube-receiver", 0, ki18n("Local StreamTube Receiver Test"), "0.1");
49
50     KCmdLineArgs::init(argc, argv, &aboutData);
51     KApplication app;
52
53     Nepomuk::ResourceManager::instance()->init();
54
55     // Set up signal handlers.
56     if (signal(SIGINT, signal_handler) == SIG_ERR) {
57         kWarning() << "Setting up SIGINT signal handler failed.";
58     }
59
60     if (signal(SIGTERM, signal_handler) == SIG_ERR) {
61         kWarning() << "Setting up SIGTERM signal handler failed.";
62     }
63
64     //Enable telepathy-Qt4 debug
65     Tp::enableDebug(true);
66     Tp::enableWarnings(true);
67
68     // Start event loop.
69     return app.exec();
70 }