about summary refs log tree commit diff stats
path: root/src/plugins/c_plugins.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/c_plugins.c')
-rw-r--r--src/plugins/c_plugins.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/c_plugins.c b/src/plugins/c_plugins.c
index fb99765f..7caa742e 100644
--- a/src/plugins/c_plugins.c
+++ b/src/plugins/c_plugins.c
@@ -106,6 +106,7 @@ c_plugin_create(const char *const filename)
     plugin->on_contact_offline = c_on_contact_offline_hook;
     plugin->on_contact_presence = c_on_contact_presence_hook;
     plugin->on_chat_win_focus = c_on_chat_win_focus_hook;
+    plugin->on_room_win_focus = c_on_room_win_focus_hook;
 
     g_string_free(path, TRUE);
     g_free(module_name);
@@ -488,6 +489,20 @@ c_on_chat_win_focus_hook(ProfPlugin *plugin, const char *const barejid)
 }
 
 void
+c_on_room_win_focus_hook(ProfPlugin *plugin, const char *const roomjid)
+{
+    void *f = NULL;
+    void (*func)(const char *const __roomjid);
+    assert(plugin && plugin->module);
+
+    if (NULL == (f = dlsym(plugin->module, "prof_on_room_win_focus")))
+        return;
+
+    func = (void (*)(const char *const))f;
+    func(roomjid);
+}
+
+void
 c_plugin_destroy(ProfPlugin *plugin)
 {
     assert (plugin && plugin->module);