mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Merge branch 'non-registered-extension-point' into 'main'
Add missing extension point register for various settings backends See merge request GNOME/glib!2813
This commit is contained in:
commit
c3a80a7142
@ -23,7 +23,7 @@
|
||||
|
||||
#include "gsimplepermission.h"
|
||||
#include "gsettingsbackendinternal.h"
|
||||
#include "giomodule.h"
|
||||
#include "giomodule-priv.h"
|
||||
|
||||
|
||||
#define G_TYPE_MEMORY_SETTINGS_BACKEND (g_memory_settings_backend_get_type())
|
||||
@ -41,6 +41,7 @@ typedef struct
|
||||
G_DEFINE_TYPE_WITH_CODE (GMemorySettingsBackend,
|
||||
g_memory_settings_backend,
|
||||
G_TYPE_SETTINGS_BACKEND,
|
||||
_g_io_modules_ensure_extension_points_registered ();
|
||||
g_io_extension_point_implement (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME,
|
||||
g_define_type_id, "memory", 10))
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include "gsettingsbackendinternal.h"
|
||||
#include "gsimplepermission.h"
|
||||
#include "giomodule.h"
|
||||
#include "giomodule-priv.h"
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@ -46,6 +46,7 @@ struct _GNextstepSettingsBackend
|
||||
G_DEFINE_TYPE_WITH_CODE (GNextstepSettingsBackend,
|
||||
g_nextstep_settings_backend,
|
||||
G_TYPE_SETTINGS_BACKEND,
|
||||
_g_io_modules_ensure_extension_points_registered ();
|
||||
g_io_extension_point_implement (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME,
|
||||
g_define_type_id, "nextstep", 90));
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "gsettingsbackendinternal.h"
|
||||
#include "giomodule.h"
|
||||
#include "giomodule-priv.h"
|
||||
#include "gsimplepermission.h"
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ typedef GSettingsBackend GNullSettingsBackend;
|
||||
G_DEFINE_TYPE_WITH_CODE (GNullSettingsBackend,
|
||||
g_null_settings_backend,
|
||||
G_TYPE_SETTINGS_BACKEND,
|
||||
_g_io_modules_ensure_extension_points_registered ();
|
||||
g_io_extension_point_implement (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME,
|
||||
g_define_type_id, "null", 10))
|
||||
|
||||
|
@ -93,7 +93,7 @@
|
||||
|
||||
#include "gregistrysettingsbackend.h"
|
||||
#include "gsettingsbackend.h"
|
||||
#include "giomodule.h"
|
||||
#include "giomodule-priv.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
@ -179,6 +179,7 @@ typedef struct {
|
||||
G_DEFINE_TYPE_WITH_CODE (GRegistryBackend,
|
||||
g_registry_backend,
|
||||
G_TYPE_SETTINGS_BACKEND,
|
||||
_g_io_modules_ensure_extension_points_registered ();
|
||||
g_io_extension_point_implement (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME,
|
||||
g_define_type_id, "registry", 90))
|
||||
|
||||
|
57
gio/tests/memory-settings-backend.c
Normal file
57
gio/tests/memory-settings-backend.c
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Ryan Hope
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
*
|
||||
* This library 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: Ryan Hope <ryanhope97@gmail.com>
|
||||
*/
|
||||
|
||||
#include <gio/gio.h>
|
||||
#include <locale.h>
|
||||
#define G_SETTINGS_ENABLE_BACKEND
|
||||
#include <gio/gsettingsbackend.h>
|
||||
|
||||
/* Test that the "gsettings-backend" extension point has been registered.
|
||||
* Must be run first and separetly from other GSettingsBackend,
|
||||
* as they will register the extension point making the test useless.
|
||||
*/
|
||||
static void
|
||||
test_extension_point_registered (void)
|
||||
{
|
||||
GSettingsBackend *backend;
|
||||
GIOExtensionPoint *extension_point;
|
||||
|
||||
backend = g_memory_settings_backend_new ();
|
||||
g_assert_true (G_IS_SETTINGS_BACKEND (backend));
|
||||
|
||||
extension_point = g_io_extension_point_lookup (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME);
|
||||
g_assert_nonnull (extension_point);
|
||||
|
||||
g_object_unref (backend);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
setlocale (LC_ALL, "");
|
||||
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
/* Must be run first */
|
||||
g_test_add_func ("/memory-settings-backend/extension-point-registered", test_extension_point_registered);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
@ -87,10 +87,12 @@ gio_tests = {
|
||||
'memory-input-stream' : {},
|
||||
'memory-monitor' : {},
|
||||
'memory-output-stream' : {},
|
||||
'memory-settings-backend' : {},
|
||||
'mount-operation' : {},
|
||||
'network-address' : {'extra_sources': ['mock-resolver.c']},
|
||||
'network-monitor' : {},
|
||||
'network-monitor-race' : {},
|
||||
'null-settings-backend' : {},
|
||||
'permission' : {},
|
||||
'pollable' : {'dependencies' : [libutil_dep]},
|
||||
'power-profile-monitor' : {},
|
||||
|
54
gio/tests/null-settings-backend.c
Normal file
54
gio/tests/null-settings-backend.c
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Ryan Hope
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
*
|
||||
* This library 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: Ryan Hope <ryanhope97@gmail.com>
|
||||
*/
|
||||
|
||||
#include <gio/gio.h>
|
||||
#define G_SETTINGS_ENABLE_BACKEND
|
||||
#include <gio/gsettingsbackend.h>
|
||||
|
||||
/* Test that the "gsettings-backend" extension point has been registered.
|
||||
* Must be run first and separetly from other GSettingsBackend,
|
||||
* as they will register the extension point making the test useless.
|
||||
*/
|
||||
static void
|
||||
test_extension_point_registered (void)
|
||||
{
|
||||
GSettingsBackend *backend;
|
||||
GIOExtensionPoint *extension_point;
|
||||
|
||||
backend = g_null_settings_backend_new ();
|
||||
g_assert_true (G_IS_SETTINGS_BACKEND (backend));
|
||||
extension_point = g_io_extension_point_lookup (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME);
|
||||
|
||||
g_assert_nonnull (extension_point);
|
||||
|
||||
g_object_unref (backend);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
/* Must be run first */
|
||||
g_test_add_func ("/null-settings-backend/extension-point-registered", test_extension_point_registered);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
Loading…
Reference in New Issue
Block a user