grim/gplugin-purple2-loader

fd4ebce81b79
Parents beddfd4f9bf9
Children
Just checking in my working copy, it's been a long time since i've looked at this
--- a/gplugin-purple2/gplugin-purple2-core.c Sat Feb 02 03:18:30 2019 -0600
+++ b/gplugin-purple2/gplugin-purple2-core.c Tue Jan 21 21:21:22 2020 -0600
@@ -3,6 +3,7 @@
#include "gplugin-purple2-loader.h"
#include "gplugin-purple2-plugin.h"
+#include "gplugin-purple2-purple3.h"
#include <libpurple/core.h>
@@ -35,6 +36,8 @@
gplugin_load(GPluginNativePlugin *plugin,
G_GNUC_UNUSED GError **error)
{
+ gplugin_purple2_purple3_load_symbols();
+
gplugin_purple2_loader_register(plugin);
gplugin_purple2_plugin_register(plugin);
--- a/gplugin-purple2/gplugin-purple2-loader.c Sat Feb 02 03:18:30 2019 -0600
+++ b/gplugin-purple2/gplugin-purple2-loader.c Tue Jan 21 21:21:22 2020 -0600
@@ -1,6 +1,7 @@
#include "gplugin-purple2-loader.h"
#include "gplugin-purple2-core.h"
#include "gplugin-purple2-plugin.h"
+#include "gplugin-purple2-purple3.h"
#include "purple2/gplugin-purple2-stubs-purple.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gplugin-purple2/gplugin-purple2-purple3.c Tue Jan 21 21:21:22 2020 -0600
@@ -0,0 +1,16 @@
+#include "gplugin-purple2-purple3.h"
+
+#include <gmodule.h>
+
+Purple3PluginInfoNewFunc purple3_plugin_info_new = NULL;
+
+void
+gplugin_purple2_purple3_load_symbols(void) {
+ GModule *module = g_module_open(NULL, 0);
+ gpointer symbol;
+
+ g_module_symbol(module, "purple_plugin_info_new", &symbol);
+ purple3_plugin_info_new = symbol;
+
+ g_module_close(module);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gplugin-purple2/gplugin-purple2-purple3.h Tue Jan 21 21:21:22 2020 -0600
@@ -0,0 +1,20 @@
+#ifndef GPLUGIN_PURPLE2_PURPLE3_H
+#define GPLUGIN_PURPLE2_PURPLE3_H
+
+#include <glib.h>
+
+typedef struct _Purple3PluginInfo Purple3PluginInfo;
+
+G_BEGIN_DECLS
+
+void gplugin_purple2_purple3_load_symbols(void);
+
+typedef Purple3PluginInfo *(*Purple3PluginInfoNewFunc)(const gchar *first_property, ...) G_GNUC_NULL_TERMINATED;
+
+//Purple3PluginInfoNewFunc purple3_plugin_info_new = NULL;
+
+Purple3PluginInfo *purple3_plugin_info_new(const gchar *first_property, ...) G_GNUC_NULL_TERMINATED;
+
+G_END_DECLS
+
+#endif /* GPLUGIN_PURPLE2_PURPLE3_H */
--- a/gplugin-purple2/meson.build Sat Feb 02 03:18:30 2019 -0600
+++ b/gplugin-purple2/meson.build Tue Jan 21 21:21:22 2020 -0600
@@ -7,6 +7,7 @@
'gplugin-purple2-core.h',
'gplugin-purple2-loader.h',
'gplugin-purple2-plugin.h',
+ 'gplugin-purple2-purple3.h',
'purple2/gplugin-purple2-stubs-purple.h',
]
@@ -14,19 +15,19 @@
'gplugin-purple2-core.c',
'gplugin-purple2-loader.c',
'gplugin-purple2-plugin.c',
+ 'gplugin-purple2-purple3.c',
'purple2/gplugin-purple2-stubs-purple.c',
]
###############################################################################
# Library target
###############################################################################
-shared_library('gplugin-purple2',
+shared_module('gplugin-purple2',
GPLUGIN_PURPLE2_SOURCES,
GPLUGIN_PURPLE2_HEADERS,
- c_args : ['-DGPLUGIN_PURPLE2_COMPILATION', '-DG_LOG_DOMAIN="GPluginPurple2"'],
- include_directories : toplevel_inc,
+ name_prefix : '',
dependencies : [GLIB, GOBJECT, GMODULE, GPLUGIN, PURPLE3],
- version : GPLUGIN_PURPLE2_LIBRARY_VERSION,
- install : true
+ install : true,
+ install_dir : join_paths(get_option('libdir'), 'gplugin'),
)