diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-08-10 15:10:40 -0300 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-08-10 15:10:40 -0300 |
commit | 99fdf857f95bf57b77291c9e1bf23dacd243f2d9 (patch) | |
tree | 104ddf1300376c6a80262319e4895b4703e493d3 /hardinfo2/xmlrpc-server.c | |
parent | c2ebcaacee958216cf07569a11cdbd8ceea473b5 (diff) |
Add "Accept connections" checkbox to Remote menu
Diffstat (limited to 'hardinfo2/xmlrpc-server.c')
-rw-r--r-- | hardinfo2/xmlrpc-server.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/hardinfo2/xmlrpc-server.c b/hardinfo2/xmlrpc-server.c index 7ec90ab9..ebe35e08 100644 --- a/hardinfo2/xmlrpc-server.c +++ b/hardinfo2/xmlrpc-server.c @@ -571,13 +571,18 @@ void xmlrpc_server_init(void) { #ifdef HAS_LIBSOUP if (!loop) { + DEBUG("creating main loop"); loop = g_main_loop_new(NULL, FALSE); + } else { + DEBUG("using main loop instance %p", loop); } if (!handlers) { int i; handlers = g_hash_table_new(g_str_hash, g_str_equal); + DEBUG("registering handlers"); + for (i = 0; handler_table[i].method_name; i++) { g_hash_table_insert(handlers, handler_table[i].method_name, @@ -700,12 +705,17 @@ static void icon_server_callback(SoupServer * server, } #endif /* HAS_LIBSOUP */ -void xmlrpc_server_start(void) +void xmlrpc_server_start(GMainLoop *main_loop) { #ifdef HAS_LIBSOUP SoupServer *server; + if (main_loop) { + loop = main_loop; + } + if (!loop || !handlers) { + DEBUG("initializing server"); xmlrpc_server_init(); } @@ -714,8 +724,10 @@ void xmlrpc_server_start(void) g_error("Cannot create XML-RPC server. Aborting"); } + DEBUG("adding soup handlers for /xmlrpc"); soup_server_add_handler(server, "/xmlrpc", xmlrpc_server_callback, NULL, NULL); + DEBUG("adding soup handlers for /icon/"); soup_server_add_handler(server, "/icon/", icon_server_callback, NULL, NULL); |