#include "lightningd/notification.h" #include const char *notification_topics[] = { "connect", "disconnect", }; bool notifications_have_topic(const char *topic) { for (size_t i=0; ARRAY_SIZE(notification_topics); i++) if (streq(topic, notification_topics[i])) return true; return false; } void notify_connect(struct lightningd *ld, struct pubkey *nodeid, struct wireaddr_internal *addr) { struct jsonrpc_notification *n = jsonrpc_notification_start(NULL, notification_topics[0]); json_add_pubkey(n->stream, "id", nodeid); json_add_address_internal(n->stream, "address", addr); jsonrpc_notification_end(n); plugins_notify(ld->plugins, take(n)); } void notify_disconnect(struct lightningd *ld, struct pubkey *nodeid) { struct jsonrpc_notification *n = jsonrpc_notification_start(NULL, notification_topics[1]); json_add_pubkey(n->stream, "id", nodeid); jsonrpc_notification_end(n); plugins_notify(ld->plugins, take(n)); }