[1/2] Change the server_t module to behave more like a static class.
This first commit only touches server_new(), server_main(), and server_destroy().
This commit is contained in:
parent
64444645b3
commit
b239d891e9
|
@ -140,8 +140,7 @@ main(int argc,
|
|||
|
||||
loader_init();
|
||||
|
||||
g_server = server_new(default_dir);
|
||||
if (g_server == NULL)
|
||||
if (!server_start(default_dir))
|
||||
{
|
||||
goto uninit_loader;
|
||||
}
|
||||
|
@ -164,13 +163,12 @@ main(int argc,
|
|||
/* setup our SIGSEGV magic that prints nice stack in our logfile */
|
||||
setup_sigsegv();
|
||||
|
||||
server_main(g_server);
|
||||
server_main();
|
||||
|
||||
lash_debug("Finished, cleaning up");
|
||||
printf("Cleaning up\n");
|
||||
|
||||
server_destroy(g_server);
|
||||
g_server = NULL;
|
||||
server_stop();
|
||||
|
||||
uninit_loader:
|
||||
loader_uninit();
|
||||
|
|
|
@ -54,8 +54,11 @@ server_t *g_server = NULL;
|
|||
static void
|
||||
server_fill_projects(server_t *server);
|
||||
|
||||
server_t *
|
||||
server_new(const char *default_dir)
|
||||
static void
|
||||
server_destroy(server_t *server);
|
||||
|
||||
bool
|
||||
server_start(const char *default_dir)
|
||||
{
|
||||
server_t *server;
|
||||
|
||||
|
@ -69,7 +72,7 @@ server_new(const char *default_dir)
|
|||
if (!lash_appdb_load(&server->appdb)) {
|
||||
lash_error("Failed to load application database");
|
||||
free(server);
|
||||
return NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef LASH_DEBUG
|
||||
|
@ -98,6 +101,7 @@ server_new(const char *default_dir)
|
|||
lash_debug("Failed to launch D-Bus service");
|
||||
goto fail;
|
||||
}
|
||||
g_server = server;
|
||||
|
||||
#ifdef HAVE_JACK_DBUS
|
||||
server->jackdbus_mgr = lashd_jackdbus_mgr_new(server);
|
||||
|
@ -109,14 +113,14 @@ server_new(const char *default_dir)
|
|||
|
||||
lash_debug("Server running");
|
||||
|
||||
return server;
|
||||
return true;
|
||||
|
||||
fail:
|
||||
server_destroy(server);
|
||||
return NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
server_destroy(server_t *server)
|
||||
{
|
||||
struct list_head *node;
|
||||
|
@ -158,6 +162,15 @@ server_destroy(server_t *server)
|
|||
lash_debug("Server destroyed");
|
||||
}
|
||||
|
||||
void
|
||||
server_stop(void)
|
||||
{
|
||||
if (g_server) {
|
||||
server_destroy(g_server);
|
||||
g_server = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
server_fill_projects(server_t *server)
|
||||
{
|
||||
|
@ -644,13 +657,13 @@ server_project_save_by_name(server_t *server,
|
|||
}
|
||||
|
||||
void
|
||||
server_main(server_t *server)
|
||||
server_main(void)
|
||||
{
|
||||
while (!server->quit) {
|
||||
dbus_connection_read_write_dispatch(server->dbus_service->connection, 50);
|
||||
while (!g_server->quit) {
|
||||
dbus_connection_read_write_dispatch(g_server->dbus_service->connection, 50);
|
||||
|
||||
loader_run();
|
||||
|
||||
// TODO: wtf?
|
||||
loader_run();
|
||||
}
|
||||
|
||||
|
|
|
@ -60,14 +60,14 @@ struct _server
|
|||
bool quit;
|
||||
};
|
||||
|
||||
server_t *
|
||||
server_new(const char *default_dir);
|
||||
bool
|
||||
server_start(const char *default_dir);
|
||||
|
||||
void
|
||||
server_destroy(server_t *server);
|
||||
server_stop(void);
|
||||
|
||||
void
|
||||
server_main(server_t *server);
|
||||
server_main(void);
|
||||
|
||||
project_t *
|
||||
server_find_project_by_name(server_t *server,
|
||||
|
|
Loading…
Reference in New Issue