Branch data Line data Source code
1 : : /* GObject - GLib Type, Object, Parameter and Signal Library 2 : : * testmodule.c: Dummy dynamic type module 3 : : * Copyright (C) 2003 Red Hat, Inc. 4 : : * 5 : : * SPDX-License-Identifier: LGPL-2.1-or-later 6 : : * 7 : : * This library is free software; you can redistribute it and/or 8 : : * modify it under the terms of the GNU Lesser General Public 9 : : * License as published by the Free Software Foundation; either 10 : : * version 2.1 of the License, or (at your option) any later version. 11 : : * 12 : : * This library is distributed in the hope that it will be useful, 13 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 : : * Lesser General Public License for more details. 16 : : * 17 : : * You should have received a copy of the GNU Lesser General Public 18 : : * License along with this library; if not, see <http://www.gnu.org/licenses/>. 19 : : */ 20 : : 21 : : #include "testmodule.h" 22 : : #include "testcommon.h" 23 : : 24 : : static gboolean test_module_load (GTypeModule *module); 25 : : static void test_module_unload (GTypeModule *module); 26 : : 27 : : static void 28 : 2 : test_module_class_init (TestModuleClass *class) 29 : : { 30 : 2 : GTypeModuleClass *module_class = G_TYPE_MODULE_CLASS (class); 31 : : 32 : 2 : module_class->load = test_module_load; 33 : 2 : module_class->unload = test_module_unload; 34 : 2 : } 35 : : 36 [ + + ]: 6 : DEFINE_TYPE (TestModule, test_module, 37 : : test_module_class_init, NULL, NULL, 38 : : G_TYPE_TYPE_MODULE) 39 : : 40 : : static gboolean 41 : 4 : test_module_load (GTypeModule *module) 42 : : { 43 : 4 : TestModule *test_module = TEST_MODULE (module); 44 : : 45 : 4 : test_module->register_func (module); 46 : : 47 : 4 : return TRUE; 48 : : } 49 : : 50 : : static void 51 : 2 : test_module_unload (GTypeModule *module) 52 : : { 53 : 2 : } 54 : : 55 : : GTypeModule * 56 : 2 : test_module_new (TestModuleRegisterFunc register_func) 57 : : { 58 : 2 : TestModule *test_module = g_object_new (TEST_TYPE_MODULE, NULL); 59 : 2 : GTypeModule *module = G_TYPE_MODULE (test_module); 60 : : 61 : 2 : test_module->register_func = register_func; 62 : : 63 : : /* Register the types initially */ 64 : 2 : g_type_module_use (module); 65 : 2 : g_type_module_unuse (module); 66 : : 67 : 2 : return G_TYPE_MODULE (module); 68 : : }