Skip to content

Commit

Permalink
Private __jrpc_server_start, init call it now. Add option to pass ev_…
Browse files Browse the repository at this point in the history
…loop on init. Add static for internal function.
  • Loading branch information
Mathieu Benoit committed Jan 24, 2013
1 parent bc06eaf commit b828afe
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
1 change: 0 additions & 1 deletion example/server.c
Expand Up @@ -34,7 +34,6 @@ cJSON * exit_server(jrpc_context * ctx, cJSON * params, cJSON *id) {

int main(void) {
jrpc_server_init(&my_server, PORT);
jrpc_server_start(&my_server);
jrpc_register_procedure(&my_server, say_hello, "sayHello", NULL );
jrpc_register_procedure(&my_server, exit_server, "exit", NULL );
jrpc_server_run(&my_server);
Expand Down
7 changes: 5 additions & 2 deletions include/jsonrpc-c.h
Expand Up @@ -65,15 +65,18 @@ struct jrpc_connection {

int jrpc_server_init(struct jrpc_server *server, int port_number);

int jrpc_server_start(struct jrpc_server *server);
int jrpc_server_init_with_ev_loop(struct jrpc_server *server,
int port_number, struct ev_loop *loop);

static int __jrpc_server_start(struct jrpc_server *server);

void jrpc_server_run(struct jrpc_server *server);

int jrpc_server_stop(struct jrpc_server *server);

void jrpc_server_destroy(struct jrpc_server *server);

void jrpc_procedure_destroy(struct jrpc_procedure *procedure);
static void jrpc_procedure_destroy(struct jrpc_procedure *procedure);

int jrpc_register_procedure(struct jrpc_server *server,
jrpc_function function_pointer, char *name, void *data);
Expand Down
11 changes: 8 additions & 3 deletions src/jsonrpc-c.c
Expand Up @@ -238,6 +238,11 @@ static void accept_cb(struct ev_loop *loop, ev_io *w, int revents) {

int jrpc_server_init(struct jrpc_server *server, int port_number) {
loop = EV_DEFAULT;
return jrpc_server_init_with_ev_loop(server, port_number, loop);
}

int jrpc_server_init_with_ev_loop(struct jrpc_server *server,
int port_number, struct ev_loop *loop) {
memset(server, 0, sizeof(struct jrpc_server));
server->loop = loop;
server->port_number = port_number;
Expand All @@ -248,10 +253,10 @@ int jrpc_server_init(struct jrpc_server *server, int port_number) {
server->debug_level = strtol(debug_level_env, NULL, 10);
printf("JSONRPC-C Debug level %d\n", server->debug_level);
}
return 0;
return __jrpc_server_start(server);
}

int jrpc_server_start(struct jrpc_server *server) {
static int __jrpc_server_start(struct jrpc_server *server) {
int sockfd;
struct addrinfo hints, *servinfo, *p;
int yes = 1;
Expand Down Expand Up @@ -329,7 +334,7 @@ void jrpc_server_destroy(struct jrpc_server *server){
free(server->procedures);
}

void jrpc_procedure_destroy(struct jrpc_procedure *procedure){
static void jrpc_procedure_destroy(struct jrpc_procedure *procedure){
if (procedure->name){
free(procedure->name);
procedure->name = NULL;
Expand Down

0 comments on commit b828afe

Please sign in to comment.