First version
[staging/HomeScreen.git] / src / main.cpp
1 /*
2  * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "mainwindow.h"
18 #include "include/daynightmode.h"
19 #include <QApplication>
20 #include <QSysInfo>
21 #include <QSharedMemory>
22 #include "inputeventdistributor.h"
23
24 #ifdef __i386__
25 #include "inputdevicesimulator.h"
26 #include "systemsettingssimulator.h"
27 #endif
28
29
30 int main(int argc, char *argv[])
31 {
32     // allow only one instance of this application
33     QSharedMemory appInstance;
34     appInstance.setKey("AGLHomeScreenApp");
35     if (!appInstance.create(1))
36     {
37         qDebug("Only one instance of the Home Screen App allowed!");
38         exit(-1);
39     }
40
41     QApplication a(argc, argv);
42
43     // used for application settings (QSettings)
44     QCoreApplication::setOrganizationDomain("LinuxFoundation");
45     QCoreApplication::setOrganizationName("AutomotiveGradeLinux");
46     QCoreApplication::setApplicationName("HomeScreen");
47     QCoreApplication::setApplicationVersion("0.0.1");
48
49     MainWindow w;
50     w.move(0, 0);
51     w.show();
52
53     InputEventDistributor *mp_inputEventDistributor;
54     mp_inputEventDistributor = new InputEventDistributor();
55
56
57     // start input and system settings simulator on developer PCs
58 #ifdef __arm__
59     qDebug("Running on ARM architecture");
60 #endif
61 #ifdef __i386__
62     InputDeviceSimulator inputdevicesimulator(&w);
63     inputdevicesimulator.show();
64     SystemSettingsSimulator systemsettingssimulator;
65     systemsettingssimulator.show();
66     qDebug("Running on x86 architecture");
67 #endif
68
69     return a.exec();
70 }