ui/dbus: add p2p=on/off option

Add an option to use direct connections instead of via the bus. Clients
are accepted with QMP add_client.

This allows to provide the D-Bus display without a bus. It also
simplifies the testing setup (some CI have issues to setup a D-Bus bus
in a container).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Marc-André Lureau 2021-10-10 00:16:57 +04:00
parent 142ca628a7
commit 99997823bb
13 changed files with 203 additions and 12 deletions

35
ui/dbus-module.c Normal file
View file

@ -0,0 +1,35 @@
/*
* D-Bus module support.
*
* Copyright (C) 2021 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 or
* (at your option) version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "ui/dbus-module.h"
int using_dbus_display;
static bool
qemu_dbus_display_add_client(int csock, Error **errp)
{
error_setg(errp, "D-Bus display isn't enabled");
return false;
}
struct QemuDBusDisplayOps qemu_dbus_display = {
.add_client = qemu_dbus_display_add_client,
};