This patch changes both the Input::Session interface and the skeleton for the server-side implementation of this interface ('input/component.h'). The Input::Session interface offers a new 'sigh' function, which can be called be the client to register a signal handler. The signal handler gets notified on the arrival of new input. This alleviates the need to poll for input events at the client side. The server-side skeleton for implementing input services underwent a redesign to make it more modular and robust. I.e., there are no global functions needed at the server side and the event-queue enable/disable mechanism is implemented at a central place (in the root component) rather than inside each driver. Fixes #46
59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
/*
|
|
* \brief Simple Qt interface for 'avplay' media player
|
|
* \author Christian Prochaska
|
|
* \date 2012-03-21
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2012-2013 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU General Public License version 2.
|
|
*/
|
|
|
|
/* Qt includes */
|
|
#include <QApplication>
|
|
|
|
/* qt_avplay includes */
|
|
#include "main_window.h"
|
|
|
|
/* Genode includes */
|
|
#include <rom_session/connection.h>
|
|
#include <base/process.h>
|
|
#include <base/printf.h>
|
|
|
|
|
|
static inline void load_stylesheet()
|
|
{
|
|
QFile file(":style.qss");
|
|
if (!file.open(QFile::ReadOnly)) {
|
|
qWarning() << "Warning:" << file.errorString()
|
|
<< "opening file" << file.fileName();
|
|
return;
|
|
}
|
|
|
|
qApp->setStyleSheet(QLatin1String(file.readAll()));
|
|
}
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
QApplication app(argc, argv);
|
|
|
|
load_stylesheet();
|
|
|
|
/* look for dynamic linker */
|
|
try {
|
|
static Genode::Rom_connection ldso_rom("ld.lib.so");
|
|
Genode::Process::dynamic_linker(ldso_rom.dataspace());
|
|
} catch (...) {
|
|
PERR("ld.lib.so not found");
|
|
}
|
|
|
|
QMember<Main_window> main_window;
|
|
|
|
main_window->show();
|
|
|
|
return app.exec();
|
|
}
|