summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2022-07-24 16:10:33 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2022-07-25 22:30:22 +0100
commit09234b50fed25f5a7fdd88c9f9a2f2cd855b9072 (patch)
tree04755e8694ea6ff66cb56f5460e1cbef69f56375
parent6629948adcda40f2d1bb92812e578c2bfa590977 (diff)
downloadglib-09234b50fed25f5a7fdd88c9f9a2f2cd855b9072.tar.gz
Introduce G_APPLICATION_DEFAULT_FLAGS
Enumeration members should either have the name of the type as their prefix, or they should all have the same prefix. The "default flags" enumeration member for GApplicationFlags is unfortunately named G_APPLICATION_FLAGS_NONE, while every other member of the same type has a G_APPLICATION prefix. The result is that the nick name of the enumeration member is "flags-none", and that language bindings will have to use something like Gio.ApplicationFlags.FLAGS_NONE. To fix this API wart, we can deprecate the FLAGS_NONE member, and add a new DEFAULT_FLAGS.
-rw-r--r--gio/gapplication.c2
-rw-r--r--gio/gioenums.h9
-rw-r--r--gio/gioenumtypes.c.template2
-rw-r--r--gio/tests/gapplication.c16
-rw-r--r--gio/tests/gnotification.c2
5 files changed, 18 insertions, 13 deletions
diff --git a/gio/gapplication.c b/gio/gapplication.c
index 77fde804a..1d602c763 100644
--- a/gio/gapplication.c
+++ b/gio/gapplication.c
@@ -1486,7 +1486,7 @@ g_application_class_init (GApplicationClass *class)
g_param_spec_flags ("flags",
P_("Application flags"),
P_("Flags specifying the behaviour of the application"),
- G_TYPE_APPLICATION_FLAGS, G_APPLICATION_FLAGS_NONE,
+ G_TYPE_APPLICATION_FLAGS, G_APPLICATION_DEFAULT_FLAGS,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class, PROP_RESOURCE_BASE_PATH,
diff --git a/gio/gioenums.h b/gio/gioenums.h
index 3ba1d5b75..5fb2f5603 100644
--- a/gio/gioenums.h
+++ b/gio/gioenums.h
@@ -1487,7 +1487,9 @@ typedef enum
/**
* GApplicationFlags:
- * @G_APPLICATION_FLAGS_NONE: Default
+ * @G_APPLICATION_FLAGS_NONE: Default. Deprecated in 2.74, use
+ * %G_APPLICATION_DEFAULT_FLAGS instead
+ * @G_APPLICATION_DEFAULT_FLAGS: Default flags. Since: 2.74
* @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration
* fails if the service is already running, and the application
* will initially wait up to 10 seconds for an initial activation
@@ -1529,9 +1531,10 @@ typedef enum
*
* Since: 2.28
**/
-typedef enum
+typedef enum /*< prefix=G_APPLICATION >*/
{
- G_APPLICATION_FLAGS_NONE,
+ G_APPLICATION_FLAGS_NONE GLIB_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS),
+ G_APPLICATION_DEFAULT_FLAGS GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
G_APPLICATION_IS_SERVICE = (1 << 0),
G_APPLICATION_IS_LAUNCHER = (1 << 1),
diff --git a/gio/gioenumtypes.c.template b/gio/gioenumtypes.c.template
index 95340f9ec..ff9b63b68 100644
--- a/gio/gioenumtypes.c.template
+++ b/gio/gioenumtypes.c.template
@@ -20,6 +20,8 @@
* Authors: Matthias Clasen <mclasen@redhat.com>
*/
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
#include "config.h"
#include "gioenumtypes.h"
#include <gio.h>
diff --git a/gio/tests/gapplication.c b/gio/tests/gapplication.c
index b017e437f..bf0395cdb 100644
--- a/gio/tests/gapplication.c
+++ b/gio/tests/gapplication.c
@@ -391,7 +391,7 @@ properties (void)
NULL);
g_assert_cmpstr (id, ==, "org.gtk.TestApplication");
- g_assert_cmpint (flags, ==, G_APPLICATION_FLAGS_NONE);
+ g_assert_cmpint (flags, ==, G_APPLICATION_DEFAULT_FLAGS);
g_assert (!registered);
g_assert_cmpint (timeout, ==, 0);
@@ -487,7 +487,7 @@ test_nodbus (void)
gchar *argv[] = { binpath, NULL };
GApplication *app;
- app = g_application_new ("org.gtk.Unimportant", G_APPLICATION_FLAGS_NONE);
+ app = g_application_new ("org.gtk.Unimportant", G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (nodbus_activate), NULL);
g_application_run (app, 1, argv);
g_object_unref (app);
@@ -517,7 +517,7 @@ test_noappid (void)
gchar *argv[] = { binpath, NULL };
GApplication *app;
- app = g_application_new (NULL, G_APPLICATION_FLAGS_NONE);
+ app = g_application_new (NULL, G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (noappid_activate), NULL);
g_application_run (app, 1, argv);
g_object_unref (app);
@@ -561,7 +561,7 @@ test_quit (void)
c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
app = g_application_new ("org.gtk.Unimportant",
- G_APPLICATION_FLAGS_NONE);
+ G_APPLICATION_DEFAULT_FLAGS);
activated = FALSE;
quitted = FALSE;
g_signal_connect (app, "activate", G_CALLBACK (quit_activate), NULL);
@@ -613,7 +613,7 @@ test_registered (void)
RegisteredData registered_data = { FALSE, NULL };
GApplication *app;
- app = g_application_new (NULL, G_APPLICATION_FLAGS_NONE);
+ app = g_application_new (NULL, G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (noappid_activate), NULL);
g_signal_connect (app, "shutdown", G_CALLBACK (on_registered_shutdown), &registered_data);
g_signal_connect (app, "notify::is-registered", G_CALLBACK (on_registered_notify), &registered_data);
@@ -693,7 +693,7 @@ test_local_actions (void)
GApplication *app;
app = g_application_new ("org.gtk.Unimportant",
- G_APPLICATION_FLAGS_NONE);
+ G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);
g_application_run (app, 1, argv);
g_object_unref (app);
@@ -748,7 +748,7 @@ test_local_command_line (void)
app = g_object_new (test_loc_cmd_app_get_type (),
"application-id", "org.gtk.Unimportant",
- "flags", G_APPLICATION_FLAGS_NONE,
+ "flags", G_APPLICATION_DEFAULT_FLAGS,
NULL);
g_application_run (app, 1, argv);
g_object_unref (app);
@@ -1166,7 +1166,7 @@ test_replace (gconstpointer data)
bus = g_test_dbus_new (0);
g_test_dbus_up (bus);
- app = g_application_new ("org.gtk.TestApplication.Replace", allow ? G_APPLICATION_ALLOW_REPLACEMENT : G_APPLICATION_FLAGS_NONE);
+ app = g_application_new ("org.gtk.TestApplication.Replace", allow ? G_APPLICATION_ALLOW_REPLACEMENT : G_APPLICATION_DEFAULT_FLAGS);
g_application_set_inactivity_timeout (app, 500);
g_signal_connect (app, "name-lost", G_CALLBACK (name_was_lost), &name_lost);
g_signal_connect (app, "startup", G_CALLBACK (startup_cb), &data);
diff --git a/gio/tests/gnotification.c b/gio/tests/gnotification.c
index 2f7f36ee3..41cbb3d33 100644
--- a/gio/tests/gnotification.c
+++ b/gio/tests/gnotification.c
@@ -123,7 +123,7 @@ server_notify_is_running (GObject *object,
{
GApplication *app;
- app = g_application_new ("org.gtk.TestApplication", G_APPLICATION_FLAGS_NONE);
+ app = g_application_new ("org.gtk.TestApplication", G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (activate_app), NULL);
g_application_run (app, 0, NULL);