mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 05:12:45 +01:00
libplugin: add support for before and after deps on hooks.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
e16ed0e207
commit
62c52fe868
@ -628,8 +628,25 @@ handle_getmanifest(struct command *getmanifest_cmd,
|
||||
json_array_end(params);
|
||||
|
||||
json_array_start(params, "hooks");
|
||||
for (size_t i = 0; i < p->num_hook_subs; i++)
|
||||
json_add_string(params, NULL, p->hook_subs[i].name);
|
||||
for (size_t i = 0; i < p->num_hook_subs; i++) {
|
||||
json_object_start(params, NULL);
|
||||
json_add_string(params, "name", p->hook_subs[i].name);
|
||||
if (p->hook_subs[i].before) {
|
||||
json_array_start(params, "before");
|
||||
for (size_t j = 0; p->hook_subs[i].before[j]; j++)
|
||||
json_add_string(params, NULL,
|
||||
p->hook_subs[i].before[j]);
|
||||
json_array_end(params);
|
||||
}
|
||||
if (p->hook_subs[i].after) {
|
||||
json_array_start(params, "after");
|
||||
for (size_t j = 0; p->hook_subs[i].after[j]; j++)
|
||||
json_add_string(params, NULL,
|
||||
p->hook_subs[i].after[j]);
|
||||
json_array_end(params);
|
||||
}
|
||||
json_object_end(params);
|
||||
}
|
||||
json_array_end(params);
|
||||
|
||||
if (p->our_features != NULL) {
|
||||
|
@ -93,6 +93,8 @@ struct plugin_hook {
|
||||
struct command_result *(*handle)(struct command *cmd,
|
||||
const char *buf,
|
||||
const jsmntok_t *params);
|
||||
/* If non-NULL, these are NULL-terminated arrays of deps */
|
||||
const char **before, **after;
|
||||
};
|
||||
|
||||
/* Return the feature set of the current lightning node */
|
||||
|
@ -118,9 +118,14 @@ static const struct plugin_command commands[] = { {
|
||||
}
|
||||
};
|
||||
|
||||
static const char *before[] = { "dummy", NULL };
|
||||
static const char *after[] = { "dummy", NULL };
|
||||
|
||||
static const struct plugin_hook hooks[] = { {
|
||||
"peer_connected",
|
||||
json_peer_connected,
|
||||
before,
|
||||
after
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user