[glib: 1/3] gdbus: Add g_dbus_is_error_name() symbol for g_dbus_is_interface_name()




commit 5b9a8e20486feb8910f2bafe90137258b6d9dde5
Author: nitinosiris <nitinwartkar58 gmail com>
Date:   Tue Jun 15 15:33:54 2021 +0530

    gdbus: Add g_dbus_is_error_name() symbol for g_dbus_is_interface_name()
    
    Closes #402

 docs/reference/gio/gio-sections-common.txt |  1 +
 gio/gdbusutils.c                           | 22 ++++++++++++++++++++++
 gio/gdbusutils.h                           |  2 ++
 3 files changed, 25 insertions(+)
---
diff --git a/docs/reference/gio/gio-sections-common.txt b/docs/reference/gio/gio-sections-common.txt
index 5151a9d75..250491a42 100644
--- a/docs/reference/gio/gio-sections-common.txt
+++ b/docs/reference/gio/gio-sections-common.txt
@@ -2806,6 +2806,7 @@ g_dbus_is_name
 g_dbus_is_unique_name
 g_dbus_is_member_name
 g_dbus_is_interface_name
+g_dbus_is_error_name
 g_dbus_gvalue_to_gvariant
 g_dbus_gvariant_to_gvalue
 g_dbus_escape_object_path_bytestring
diff --git a/gio/gdbusutils.c b/gio/gdbusutils.c
index cd52208d2..f12e86204 100644
--- a/gio/gdbusutils.c
+++ b/gio/gdbusutils.c
@@ -268,6 +268,28 @@ g_dbus_is_interface_name (const gchar *string)
   return ret;
 }
 
+/**
+ * g_dbus_is_error_name:
+ * @string: The string to check.
+ *
+ * Check whether @string is a valid D-Bus error name.
+ *
+ * This function returns the same result as g_dbus_is_interface_name(),
+ * because D-Bus error names are defined to have exactly the
+ * same syntax as interface names.
+ *
+ * Returns: %TRUE if valid, %FALSE otherwise.
+ *
+ * Since: 2.70
+ */
+gboolean
+g_dbus_is_error_name (const gchar *string)
+{
+  /* Error names are the same syntax as interface names.
+   * See https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-error */
+  return g_dbus_is_interface_name (string);
+}
+
 /* ---------------------------------------------------------------------------------------------------- */
 
 /* TODO: maybe move to glib? if so, it should conform to http://en.wikipedia.org/wiki/Guid and/or
diff --git a/gio/gdbusutils.h b/gio/gdbusutils.h
index fd7358fcf..da8e42280 100644
--- a/gio/gdbusutils.h
+++ b/gio/gdbusutils.h
@@ -42,6 +42,8 @@ GLIB_AVAILABLE_IN_ALL
 gboolean g_dbus_is_member_name (const gchar *string);
 GLIB_AVAILABLE_IN_ALL
 gboolean g_dbus_is_interface_name (const gchar *string);
+GLIB_AVAILABLE_IN_2_70
+gboolean g_dbus_is_error_name (const gchar *string);
 
 GLIB_AVAILABLE_IN_ALL
 void g_dbus_gvariant_to_gvalue (GVariant  *value,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]