[phodav] libphodav: remove obsolete soup code
- From: Marc-Andre Lureau <malureau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [phodav] libphodav: remove obsolete soup code
- Date: Fri, 6 Feb 2015 23:16:32 +0000 (UTC)
commit 57ae68002f46670552444b11d0789f3dc041b432
Author: Marc-André Lureau <marcandre lureau gmail com>
Date: Sat Feb 7 00:04:38 2015 +0100
libphodav: remove obsolete soup code
libphodav/chezdav.c | 16 ++++---
libphodav/phodav-server.c | 98 +--------------------------------------------
libphodav/phodav-server.h | 5 +--
3 files changed, 12 insertions(+), 107 deletions(-)
---
diff --git a/libphodav/chezdav.c b/libphodav/chezdav.c
index d4f312a..17acf31 100644
--- a/libphodav/chezdav.c
+++ b/libphodav/chezdav.c
@@ -38,7 +38,8 @@ static GaEntryGroupService *mdns_service;
#include "libphodav/phodav.h"
static PhodavServer *dav;
-static gint verbose = 0;
+static gint verbose;
+static gint port = 8080;
G_GNUC_PRINTF (1, 2) static void
my_error (const gchar *format, ...)
@@ -92,7 +93,6 @@ mdns_register_service (void)
}
}
- guint port = phodav_server_get_port (dav);
name = get_realm ();
mdns_service = ga_entry_group_add_service (mdns_group,
name, "_webdav._tcp",
@@ -192,7 +192,6 @@ main (int argc, char *argv[])
{
GError *error = NULL;
GOptionContext *context;
- gint port = 8080;
const gchar *path = NULL;
GMainLoop *mainloop = NULL;
@@ -242,7 +241,7 @@ main (int argc, char *argv[])
g_unix_signal_add (SIGINT, sighup_received, mainloop);
#endif
- dav = phodav_server_new (port, path);
+ dav = phodav_server_new (path);
if (htdigest)
{
@@ -273,11 +272,14 @@ main (int argc, char *argv[])
my_error (_ ("mDNS failed: %s\n"), error->message);
#endif
- phodav_server_run (dav);
+ SoupServer *server = phodav_server_get_soup_server (dav);
+ if (!soup_server_listen_local (server, port, 0, &error)) {
+ my_error (_ ("Listen failed: %s\n"), error->message);
+ }
+
g_main_loop_run (mainloop);
- phodav_server_quit (dav);
- g_main_loop_unref (mainloop);
+ g_main_loop_unref (mainloop);
#ifdef WITH_AVAHI
g_object_unref (mdns_client);
#endif
diff --git a/libphodav/phodav-server.c b/libphodav/phodav-server.c
index 23e2a4a..81ee4e9 100644
--- a/libphodav/phodav-server.c
+++ b/libphodav/phodav-server.c
@@ -46,7 +46,6 @@ struct _PhodavServer
GCancellable *cancellable;
gchar *root;
PathHandler *root_handler; /* weak ref */
- guint port;
GHashTable *paths;
};
@@ -60,7 +59,6 @@ G_DEFINE_TYPE (PhodavServer, phodav_server, G_TYPE_OBJECT)
/* Properties */
enum {
PROP_0,
- PROP_PORT,
PROP_ROOT,
PROP_SERVER,
};
@@ -174,9 +172,7 @@ phodav_server_constructed (GObject *gobject)
{
PhodavServer *self = PHODAV_SERVER (gobject);
- self->server = soup_server_new (SOUP_SERVER_PORT, self->port,
- SOUP_SERVER_SERVER_HEADER, "PhodavServer ",
- SOUP_SERVER_ASYNC_CONTEXT, self->context,
+ self->server = soup_server_new (SOUP_SERVER_SERVER_HEADER, "PhodavServer ",
NULL);
update_root_handler (self);
@@ -213,10 +209,6 @@ phodav_server_get_property (GObject *gobject,
switch (prop_id)
{
- case PROP_PORT:
- g_value_set_uint (value, phodav_server_get_port (self));
- break;
-
case PROP_ROOT:
g_value_set_string (value, self->root);
break;
@@ -241,10 +233,6 @@ phodav_server_set_property (GObject *gobject,
switch (prop_id)
{
- case PROP_PORT:
- self->port = g_value_get_uint (value);
- break;
-
case PROP_ROOT:
g_free (self->root);
self->root = g_value_dup_string (value);
@@ -268,16 +256,6 @@ phodav_server_class_init (PhodavServerClass *klass)
gobject_class->set_property = phodav_server_set_property;
g_object_class_install_property
- (gobject_class, PROP_PORT,
- g_param_spec_uint ("port",
- "Port",
- "Port",
- 0, G_MAXUINT16, 0,
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
(gobject_class, PROP_ROOT,
g_param_spec_string ("root",
"Root path",
@@ -500,23 +478,6 @@ server_callback (SoupServer *server, SoupMessage *msg,
}
/**
- * phodav_server_get_port:
- * @server: a %PhodavServer
- *
- * Gets the TCP port that server is listening on. This is most useful
- * when you did not request a specific port, with value 0.
-*
- * Returns: the port @server is listening on.
- **/
-guint
-phodav_server_get_port (PhodavServer *self)
-{
- g_return_val_if_fail (PHODAV_IS_SERVER (self), 0);
-
- return soup_server_get_port (self->server);
-}
-
-/**
* phodav_server_get_soup_server:
* @server: a %PhodavServer
*
@@ -532,62 +493,8 @@ phodav_server_get_soup_server (PhodavServer *self)
return self->server;
}
-static gpointer
-thread_func (gpointer data)
-{
- PhodavServer *self = data;
-
- g_debug ("Starting on port %u, serving %s", phodav_server_get_port (self), self->root);
-
- soup_server_run_async (self->server);
-
- g_main_loop_run (self->loop);
-
- return NULL;
-}
-
-/**
- * phodav_server_run:
- * @server: a %PhodavServer
- *
- * Run the server in a separate thread.
- **/
-void
-phodav_server_run (PhodavServer *self)
-{
- g_return_if_fail (PHODAV_IS_SERVER (self));
-
- if (self->thread)
- return;
-
- g_object_ref (self);
- self->thread = g_thread_new ("phodav-server", thread_func, self);
-}
-
-/**
- * phodav_server_quit:
- * @server: a %PhodavServer
- *
- * Stops the server from running.
- **/
-void
-phodav_server_quit (PhodavServer *self)
-{
- g_return_if_fail (PHODAV_IS_SERVER (self));
-
- if (!self->thread)
- return;
-
- soup_server_quit (self->server);
- g_main_loop_quit (self->loop);
- g_thread_join (self->thread);
- self->thread = NULL;
- g_object_unref (self);
-}
-
/**
* phodav_server_new:
- * @port: Port to listen on.
* @root: (allow-none): Root path.
*
* Creates a new #PhodavServer.
@@ -595,10 +502,9 @@ phodav_server_quit (PhodavServer *self)
* Returns: a new #PhodavServer
**/
PhodavServer *
-phodav_server_new (guint port, const gchar *root)
+phodav_server_new (const gchar *root)
{
return g_object_new (PHODAV_TYPE_SERVER,
- "port", port,
"root", root,
NULL);
}
diff --git a/libphodav/phodav-server.h b/libphodav/phodav-server.h
index 7ea3773..dd00564 100644
--- a/libphodav/phodav-server.h
+++ b/libphodav/phodav-server.h
@@ -35,10 +35,7 @@ typedef struct _PhodavServerClass PhodavServerClass;
GType phodav_server_get_type (void);
-PhodavServer * phodav_server_new (guint port, const gchar *root);
-void phodav_server_run (PhodavServer *server);
-void phodav_server_quit (PhodavServer *server);
-guint phodav_server_get_port (PhodavServer *server);
+PhodavServer * phodav_server_new (const gchar *root);
SoupServer * phodav_server_get_soup_server (PhodavServer *server);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]