On 15-03-25 04:22 PM, Thomas Martitz wrote:
Am 18.03.2015 um 22:55 schrieb Matthew Brush:
On 15-03-18 09:42 AM, Thomas Martitz wrote:
tl;dr <- Key functions
gboolean geany_load_module(GeanyPlugin *, GModule *)
What is the GModule* for? Is it a .dll that Geany opened on behalf of the plugin based on selection in Plugin Manager?
That's the function exported by native (C/C++) plugins that want to register as plugins with Geany. With my proposal that's the only function of a plugin that Geany gets through g_module_open(). Since this only applies to native shared libraries, the corresponding GModule is passed.
This function is similar to libpeas' peas_register_types().
Is it where "resident" plugins should register their GTypes similar to Peas?
The main reason I asked about it is because it seems to have the same call time, argument and similar return semantics as the existing GModule hook `g_module_check_init()`. I get that it passes the plugin struct too, and has a more useful name, mostly I was just curious about when to use which one.
What is the expected use of the GModule parameter? I'm curious if it's useful at all, or just exposing the loader's externals, and maybe whether if it's only for special use-case, that it might be better to just use `g_module_open(NULL)` in those place(s).
Cheers, Matthew Brush