Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add pkg_plugins_hook_run() for triggering plugins
Marin Atanasov Nikolov committed 13 years ago
commit 0cd32a49fd490b6276875d4ed3b1ddeccb321b85
parent fdc915b
2 files changed +15 -0
modified libpkg/pkg.h
@@ -912,6 +912,7 @@ const char *pkg_plugins_get(struct pkg_plugins *p, pkg_plugins_key key);
 */
typedef int(*pkg_plugins_callback)(void *data);
int pkg_plugins_hook(const char *pluginname, pkg_plugins_hook_t hook, pkg_plugins_callback callback);
+
int pkg_plugins_hook_run(pkg_plugins_hook_t hook);

/**
 * Get the value of a configuration key
modified libpkg/plugins.c
@@ -344,6 +344,20 @@ pkg_plugins_hook(const char *pluginname, pkg_plugins_hook_t hook, pkg_plugins_ca
	return (EPKG_OK);
}

+
int
+
pkg_plugins_hook_run(pkg_plugins_hook_t hook)
+
{
+
	struct pkg_plugins *p = NULL;
+

+
	while (pkg_plugins_list(&p) != EPKG_END) {
+
		if (pkg_plugins_is_loaded(p)) {
+
			if ((p->hook) & hook)
+
				p->callback(NULL);
+
		}
+
	}
+

+
	return (EPKG_OK);
+
}

const char *
pkg_plugins_get(struct pkg_plugins *p, pkg_plugins_key key)