mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +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:
committed by
neil saitug
parent
e16ed0e207
commit
62c52fe868
@@ -628,8 +628,25 @@ handle_getmanifest(struct command *getmanifest_cmd,
|
|||||||
json_array_end(params);
|
json_array_end(params);
|
||||||
|
|
||||||
json_array_start(params, "hooks");
|
json_array_start(params, "hooks");
|
||||||
for (size_t i = 0; i < p->num_hook_subs; i++)
|
for (size_t i = 0; i < p->num_hook_subs; i++) {
|
||||||
json_add_string(params, NULL, p->hook_subs[i].name);
|
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);
|
json_array_end(params);
|
||||||
|
|
||||||
if (p->our_features != NULL) {
|
if (p->our_features != NULL) {
|
||||||
|
|||||||
@@ -93,6 +93,8 @@ struct plugin_hook {
|
|||||||
struct command_result *(*handle)(struct command *cmd,
|
struct command_result *(*handle)(struct command *cmd,
|
||||||
const char *buf,
|
const char *buf,
|
||||||
const jsmntok_t *params);
|
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 */
|
/* 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[] = { {
|
static const struct plugin_hook hooks[] = { {
|
||||||
"peer_connected",
|
"peer_connected",
|
||||||
json_peer_connected,
|
json_peer_connected,
|
||||||
|
before,
|
||||||
|
after
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user