Branch data Line data Source code
1 : : /* libgplugin_a.c - test plugin for testgmodule 2 : : * Copyright (C) 1998 Tim Janik 3 : : * 4 : : * SPDX-License-Identifier: LGPL-2.1-or-later 5 : : * 6 : : * This library is free software; you can redistribute it and/or 7 : : * modify it under the terms of the GNU Lesser General Public 8 : : * License as published by the Free Software Foundation; either 9 : : * version 2.1 of the License, or (at your option) any later version. 10 : : * 11 : : * This library is distributed in the hope that it will be useful, 12 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 : : * Lesser General Public License for more details. 15 : : * 16 : : * You should have received a copy of the GNU Lesser General Public 17 : : * License along with this library; if not, see <http://www.gnu.org/licenses/>. 18 : : */ 19 : : 20 : : /* 21 : : * Modified by the GLib Team and others 1997-2000. See the AUTHORS 22 : : * file for a list of people on the GLib Team. See the ChangeLog 23 : : * files for a list of changes. These files are distributed with 24 : : * GLib at ftp://ftp.gtk.org/pub/gtk/. 25 : : */ 26 : : 27 : : #include <gmodule.h> 28 : : 29 : : G_MODULE_EXPORT void gplugin_a_func (void); 30 : : G_MODULE_EXPORT void gplugin_clash_func (void); 31 : : G_MODULE_EXPORT void g_clash_func (void); 32 : : G_MODULE_EXPORT void gplugin_say_boo_func (void); 33 : : G_MODULE_EXPORT void gplugin_a_module_func (GModule *module); 34 : : 35 : : G_MODULE_EXPORT gchar* gplugin_a_state; 36 : : 37 : : G_MODULE_EXPORT void 38 : 2 : gplugin_a_func (void) 39 : : { 40 : 2 : gplugin_a_state = "Hello world"; 41 : 2 : } 42 : : 43 : : G_MODULE_EXPORT void 44 : 2 : gplugin_clash_func (void) 45 : : { 46 : 2 : gplugin_a_state = "plugin clash"; 47 : 2 : } 48 : : 49 : : G_MODULE_EXPORT void 50 : 2 : g_clash_func (void) 51 : : { 52 : 2 : gplugin_a_state = "global clash"; 53 : 2 : } 54 : : 55 : : G_MODULE_EXPORT void 56 : 2 : gplugin_say_boo_func (void) 57 : : { 58 : 2 : gplugin_a_state = "BOOH"; 59 : 2 : } 60 : : 61 : : G_MODULE_EXPORT void 62 : 4 : gplugin_a_module_func (GModule *module) 63 : : { 64 : 4 : void *f = NULL; 65 : : 66 [ - + ]: 4 : if (!g_module_symbol (module, "gplugin_say_boo_func", &f )) 67 : : { 68 : 0 : g_print ("error: %s\n", g_module_error ()); 69 : 0 : exit (1); 70 : : } 71 : : 72 : 4 : ((void(*)(void)) f) (); 73 : 4 : }