static gboolean a11y_invoke_module (const char *module_path) { GModule *handle; void (*invoke_fn) (void); if (!module_path) { g_warning ("Accessibility: invalid module path (NULL)"); return FALSE; } if (!(handle = g_module_open (module_path, 0))) { g_warning ("Accessibility: failed to load module '%s': '%s'", module_path, g_module_error ()); return FALSE; } if (!g_module_symbol (handle, INIT_METHOD, (gpointer *)&invoke_fn)) { g_warning ("Accessibility: error library '%s' does not include " "method '%s' required for accessibility support", module_path, INIT_METHOD); g_module_close (handle); return FALSE; } invoke_fn (); return TRUE; }
/** * Invoke a command. * * parameter a: Arguments to function. */ void invoke(const std::string& a) throw(std::bad_alloc, std::runtime_error) { invoke_fn(fn, a); }