From c08386db6b190f32a138c667a4bbc637e8ffa620 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Fri, 20 Aug 2010 16:15:15 +0200 Subject: Moved server.[ch] to command_service.[ch]. --- command_service.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ command_service.h | 9 +++++++++ main.c | 2 +- server.c | 57 ------------------------------------------------------ server.h | 9 --------- 5 files changed, 68 insertions(+), 67 deletions(-) create mode 100644 command_service.c create mode 100644 command_service.h delete mode 100644 server.c delete mode 100644 server.h diff --git a/command_service.c b/command_service.c new file mode 100644 index 0000000..bfbc2cb --- /dev/null +++ b/command_service.c @@ -0,0 +1,58 @@ +#include "command_service.h" +#include "server_commands.h" + +#include + +static GSocketService *ss = NULL; + +static gboolean service_incoming(GSocketService *service, + GSocketConnection *connection, GObject *source_object, + gpointer user_data) { + GError *error = NULL; + GSocket *socket = g_socket_connection_get_socket(connection); + gchar buffer[0x400]; + + while(g_socket_is_connected(socket) == TRUE) { + gssize size = g_socket_receive(socket, buffer, 0x400, NULL, &error); + + if(size < 0) { + g_warning(error->message); + return FALSE; + } else if(size == 0) { + break; + } + + g_debug("size == %d", size); + g_debug(buffer); + + gchar *pos = g_strstr_len(buffer, size, "\r"); + if(pos == NULL) { + pos = g_strstr_len(buffer, size, "\n"); + } + if(pos == NULL) { + g_warning("EOL not found"); + return FALSE; + } + *pos = '\0'; + + server_commands_handle(connection, buffer); + } + + return FALSE; +} + +gboolean server_start() { + ss = g_threaded_socket_service_new(10); + + g_socket_listener_add_inet_port((GSocketListener*)ss, 7681, NULL, NULL); + + g_signal_connect(ss, "incoming", (GCallback)service_incoming, NULL); + g_socket_service_start(ss); + + return TRUE; +} + +void server_stop() { + g_socket_service_stop(ss); + g_object_unref(ss); +} diff --git a/command_service.h b/command_service.h new file mode 100644 index 0000000..2e59f9c --- /dev/null +++ b/command_service.h @@ -0,0 +1,9 @@ +#ifndef _COMMAND_SERVICE_H_ +#define _COMMAND_SERVICE_H_ + +#include + +gboolean server_start(); +void server_stop(); + +#endif diff --git a/main.c b/main.c index ec3b1b6..3339ae9 100644 --- a/main.c +++ b/main.c @@ -1,6 +1,6 @@ #include "music.h" #include "httpd.h" -#include "server.h" +#include "command_service.h" #include #include diff --git a/server.c b/server.c deleted file mode 100644 index 1015572..0000000 --- a/server.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "server_commands.h" - -#include - -static GSocketService *ss = NULL; - -static gboolean service_incoming(GSocketService *service, - GSocketConnection *connection, GObject *source_object, - gpointer user_data) { - GError *error = NULL; - GSocket *socket = g_socket_connection_get_socket(connection); - gchar buffer[0x400]; - - while(g_socket_is_connected(socket) == TRUE) { - gssize size = g_socket_receive(socket, buffer, 0x400, NULL, &error); - - if(size < 0) { - g_warning(error->message); - return FALSE; - } else if(size == 0) { - break; - } - - g_debug("size == %d", size); - g_debug(buffer); - - gchar *pos = g_strstr_len(buffer, size, "\r"); - if(pos == NULL) { - pos = g_strstr_len(buffer, size, "\n"); - } - if(pos == NULL) { - g_warning("EOL not found"); - return FALSE; - } - *pos = '\0'; - - server_commands_handle(connection, buffer); - } - - return FALSE; -} - -gboolean server_start() { - ss = g_threaded_socket_service_new(10); - - g_socket_listener_add_inet_port((GSocketListener*)ss, 7681, NULL, NULL); - - g_signal_connect(ss, "incoming", (GCallback)service_incoming, NULL); - g_socket_service_start(ss); - - return TRUE; -} - -void server_stop() { - g_socket_service_stop(ss); - g_object_unref(ss); -} diff --git a/server.h b/server.h deleted file mode 100644 index 690b9c0..0000000 --- a/server.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _SERVER_H_ -#define _SERVER_H_ - -#include - -gboolean server_start(); -void server_stop(); - -#endif -- cgit v1.2.3