Browse Source

plugin: Add pointer to jsonrpc so we can add new methods

Signed-off-by: Christian Decker <@cdecker>
plugin-6
Christian Decker 6 years ago
committed by Rusty Russell
parent
commit
3e1138951b
  1. 3
      lightningd/lightningd.c
  2. 8
      lightningd/plugin.c
  3. 3
      lightningd/plugin.h
  4. 3
      lightningd/test/run-find_my_abspath.c

3
lightningd/lightningd.c

@ -214,7 +214,7 @@ static struct lightningd *new_lightningd(const tal_t *ctx)
*code. Here we initialize the context that will keep track and control *code. Here we initialize the context that will keep track and control
*the plugins. *the plugins.
*/ */
ld->plugins = plugins_new(ld, ld->log_book); ld->plugins = plugins_new(ld, ld->log_book, ld->jsonrpc);
return ld; return ld;
} }
@ -788,6 +788,7 @@ int main(int argc, char *argv[])
tal_free(ld->jsonrpc); tal_free(ld->jsonrpc);
db_commit_transaction(ld->wallet->db); db_commit_transaction(ld->wallet->db);
tal_free(ld->plugins);
remove(ld->pidfile); remove(ld->pidfile);
/* FIXME: pay can have children off tmpctx which unlink from /* FIXME: pay can have children off tmpctx which unlink from

8
lightningd/plugin.c

@ -59,6 +59,9 @@ struct plugins {
UINTMAP(struct plugin_request *) pending_requests; UINTMAP(struct plugin_request *) pending_requests;
struct log *log; struct log *log;
struct log_book *log_book; struct log_book *log_book;
/* RPC interface to bind JSON-RPC methods to */
struct jsonrpc *rpc;
}; };
struct json_output { struct json_output {
@ -75,12 +78,15 @@ struct plugin_opt {
char *value; char *value;
}; };
struct plugins *plugins_new(const tal_t *ctx, struct log_book *log_book){ struct plugins *plugins_new(const tal_t *ctx, struct log_book *log_book,
struct jsonrpc *rpc)
{
struct plugins *p; struct plugins *p;
p = tal(ctx, struct plugins); p = tal(ctx, struct plugins);
list_head_init(&p->plugins); list_head_init(&p->plugins);
p->log_book = log_book; p->log_book = log_book;
p->log = new_log(p, log_book, "plugin-manager"); p->log = new_log(p, log_book, "plugin-manager");
p->rpc = rpc;
return p; return p;
} }

3
lightningd/plugin.h

@ -16,7 +16,8 @@ struct plugins;
/** /**
* Create a new plugins context. * Create a new plugins context.
*/ */
struct plugins *plugins_new(const tal_t *ctx, struct log_book *log_book); struct plugins *plugins_new(const tal_t *ctx, struct log_book *log_book,
struct jsonrpc *rpc);
/** /**
* Initialize the registered plugins. * Initialize the registered plugins.

3
lightningd/test/run-find_my_abspath.c

@ -135,7 +135,8 @@ void plugins_config(struct plugins *plugins UNNEEDED)
void plugins_init(struct plugins *plugins UNNEEDED) void plugins_init(struct plugins *plugins UNNEEDED)
{ fprintf(stderr, "plugins_init called!\n"); abort(); } { fprintf(stderr, "plugins_init called!\n"); abort(); }
/* Generated stub for plugins_new */ /* Generated stub for plugins_new */
struct plugins *plugins_new(const tal_t *ctx UNNEEDED, struct log_book *log_book UNNEEDED) struct plugins *plugins_new(const tal_t *ctx UNNEEDED, struct log_book *log_book UNNEEDED,
struct jsonrpc *rpc UNNEEDED)
{ fprintf(stderr, "plugins_new called!\n"); abort(); } { fprintf(stderr, "plugins_new called!\n"); abort(); }
/* Generated stub for register_opts */ /* Generated stub for register_opts */
void register_opts(struct lightningd *ld UNNEEDED) void register_opts(struct lightningd *ld UNNEEDED)

Loading…
Cancel
Save