[gnome-control-center] thunderbolt: sync bolt-names.[ch] from bolt
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] thunderbolt: sync bolt-names.[ch] from bolt
- Date: Mon, 4 Feb 2019 13:43:24 +0000 (UTC)
commit 2fc4dc82a35aa9df29b56ac626dbe2fd5abf41e3
Author: Christian Kellner <christian kellner me>
Date: Fri Feb 1 17:48:57 2019 +0100
thunderbolt: sync bolt-names.[ch] from bolt
Adds a utility function that deterministically generates an object
path from a path base and an object id.
The corresponding bolt commit is:
a396eb986611ed73fc0ccca2127f29ab1e3aac62
panels/thunderbolt/bolt-names.c | 48 +++++++++++++++++++++++++++++++++++++++++
panels/thunderbolt/bolt-names.h | 23 ++++++++++++++++++++
panels/thunderbolt/meson.build | 1 +
3 files changed, 72 insertions(+)
---
diff --git a/panels/thunderbolt/bolt-names.c b/panels/thunderbolt/bolt-names.c
new file mode 100644
index 000000000..7426b2f32
--- /dev/null
+++ b/panels/thunderbolt/bolt-names.c
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2019 Red Hat, Inc
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Christian J. Kellner <christian kellner me>
+ */
+
+#include "config.h"
+
+#include "bolt-names.h"
+
+/* Each element must only contain the ASCII characters "[A-Z][a-z][0-9]_" */
+#define DBUS_OPATH_VALID_CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
+
+char *
+bolt_gen_object_path (const char *base,
+ const char *oid)
+{
+ g_autofree char *id = NULL;
+
+ if (oid)
+ {
+ id = g_strdup (oid);
+ g_strcanon (id, DBUS_OPATH_VALID_CHARS, '_');
+ }
+
+ if (base && id)
+ return g_build_path ("/", "/", base, id, NULL);
+ else if (base)
+ return g_build_path ("/", "/", base, NULL);
+ else if (id)
+ return g_build_path ("/", "/", id, NULL);
+
+ return g_strdup ("/");
+}
diff --git a/panels/thunderbolt/bolt-names.h b/panels/thunderbolt/bolt-names.h
index 2c0a97b24..460eed5a4 100644
--- a/panels/thunderbolt/bolt-names.h
+++ b/panels/thunderbolt/bolt-names.h
@@ -20,11 +20,18 @@
#pragma once
+#include <glib.h>
+
+G_BEGIN_DECLS
+
/* D-Bus API revision (here for the lack of a better place) */
#define BOLT_DBUS_API_VERSION 1U
/* logging */
+#define BOLT_LOG_DOMAIN_UID "BOLT_DOMAIN_UID"
+#define BOLT_LOG_DOMAIN_NAME "BOLT_DOMAIN_NAME"
+
#define BOLT_LOG_DEVICE_UID "BOLT_DEVICE_UID"
#define BOLT_LOG_DEVICE_NAME "BOLT_DEVICE_NAME"
#define BOLT_LOG_DEVICE_STATE "BOLT_DEVICE_STATE"
@@ -36,8 +43,10 @@
#define BOLT_LOG_TOPIC "BOLT_TOPIC"
#define BOLT_LOG_VERSION "BOLT_VERSION"
#define BOLT_LOG_CONTEXT "BOLT_LOG_CONTEXT"
+#define BOLT_LOG_BUG_MARK "BOLT_LOG_BUG"
/* logging - message ids */
+#define BOLT_LOG_MSG_IDLEN 33
#define BOLT_LOG_MSG_ID_STARTUP "dd11929c788e48bdbb6276fb5f26b08a"
@@ -45,6 +54,20 @@
#define BOLT_DBUS_NAME "org.freedesktop.bolt"
#define BOLT_DBUS_PATH "/org/freedesktop/bolt"
+#define BOLT_DBUS_PATH_DOMAINS BOLT_DBUS_PATH "/domains"
+#define BOLT_DBUS_PATH_DEVICES BOLT_DBUS_PATH "/devices"
#define BOLT_DBUS_INTERFACE "org.freedesktop.bolt1.Manager"
#define BOLT_DBUS_DEVICE_INTERFACE "org.freedesktop.bolt1.Device"
+#define BOLT_DBUS_DOMAIN_INTERFACE "org.freedesktop.bolt1.Domain"
+#define BOLT_DBUS_POWER_INTERFACE "org.freedesktop.bolt1.Power"
+
+/* other well known names */
+#define INTEL_WMI_THUNDERBOLT_GUID "86CCFD48-205E-4A77-9C48-2021CBEDE341"
+
+/* helper functions */
+
+char * bolt_gen_object_path (const char *path_base,
+ const char *object_id);
+
+G_END_DECLS
diff --git a/panels/thunderbolt/meson.build b/panels/thunderbolt/meson.build
index 17e125b5f..233ca1902 100644
--- a/panels/thunderbolt/meson.build
+++ b/panels/thunderbolt/meson.build
@@ -22,6 +22,7 @@ sources = files(
'bolt-device.c',
'bolt-enums.c',
'bolt-error.c',
+ 'bolt-names.c',
'bolt-proxy.c',
'bolt-str.c',
'bolt-time.c',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]