(root)/
glib-2.79.0/
gmodule/
tests/
libmoduletestplugin_a.c
       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  gplugin_a_func (void)
      39  {
      40    gplugin_a_state = "Hello world";
      41  }
      42  
      43  G_MODULE_EXPORT void
      44  gplugin_clash_func (void)
      45  {
      46    gplugin_a_state = "plugin clash";
      47  }
      48  
      49  G_MODULE_EXPORT void
      50  g_clash_func (void)
      51  {
      52    gplugin_a_state = "global clash";
      53  }
      54  
      55  G_MODULE_EXPORT void
      56  gplugin_say_boo_func (void)
      57  {
      58    gplugin_a_state = "BOOH";
      59  }
      60  
      61  G_MODULE_EXPORT void
      62  gplugin_a_module_func (GModule *module)
      63  {
      64    void *f = NULL;
      65  
      66    if (!g_module_symbol (module, "gplugin_say_boo_func", &f ))
      67      {
      68        g_print ("error: %s\n", g_module_error ());
      69        exit (1);
      70      }
      71  
      72    ((void(*)(void)) f) ();
      73  }