New header with typedefs, to avoid #include loops among other headers.
authorDan Winship <danw@src.gnome.org>
Wed, 27 Aug 2003 13:13:30 +0000 (13:13 +0000)
committerDan Winship <danw@src.gnome.org>
Wed, 27 Aug 2003 13:13:30 +0000 (13:13 +0000)
* libsoup/soup-types.h: New header with typedefs, to avoid
#include loops among other headers.

* libsoup/Makefile.am (libsoupinclude_HEADERS): add it

* libsoup/*.[ch], tests/*.c: Update for soup-types.h

27 files changed:
ChangeLog
libsoup/Makefile.am
libsoup/soup-address.h
libsoup/soup-auth.h
libsoup/soup-connection.h
libsoup/soup-context.c
libsoup/soup-context.h
libsoup/soup-error.h
libsoup/soup-message-io.c
libsoup/soup-message.c
libsoup/soup-message.h
libsoup/soup-private.h
libsoup/soup-queue.c
libsoup/soup-server-auth.c
libsoup/soup-server-auth.h
libsoup/soup-server-message.c
libsoup/soup-server-message.h
libsoup/soup-server.c
libsoup/soup-server.h
libsoup/soup-socket.c
libsoup/soup-socket.h
libsoup/soup-types.h [new file with mode: 0644]
libsoup/soup-uri.h
tests/revserver.c
tests/simple-httpd.c
tests/simple-proxy.c
tests/uri-parsing.c

index 52788d9..05ed0d1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-08-27  Dan Winship  <danw@ximian.com>
+
+       * libsoup/soup-types.h: New header with typedefs, to avoid
+       #include loops among other headers.
+
+       * libsoup/Makefile.am (libsoupinclude_HEADERS): add it
+
+       * libsoup/*.[ch], tests/*.c: Update for soup-types.h
+       
 2003-08-26  Dan Winship  <danw@ximian.com>
 
        * libsoup/soup-message-client-io.c (soup_message_write_request,
index 4a6397e..90ec79f 100644 (file)
@@ -41,6 +41,7 @@ libsoupinclude_HEADERS =      \
        soup-server-message.h   \
        soup-server.h           \
        soup-socket.h           \
+       soup-types.h            \
        soup-uri.h
 
 lib_LTLIBRARIES = libsoup-2.2.la
index 5de2b09..ba066de 100644 (file)
@@ -6,11 +6,10 @@
 #ifndef SOUP_ADDRESS_H
 #define SOUP_ADDRESS_H
 
-#include <glib-object.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 
-#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
 
 #define SOUP_TYPE_ADDRESS            (soup_address_get_type ())
 #define SOUP_ADDRESS(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_ADDRESS, SoupAddress))
 
 typedef struct SoupAddressPrivate SoupAddressPrivate;
 
-typedef struct {
+struct SoupAddress {
        GObject parent;
 
        SoupAddressPrivate *priv;
-} SoupAddress;
+};
 
 typedef struct {
        GObjectClass parent_class;
index 017331d..2e936a3 100644 (file)
@@ -6,9 +6,7 @@
 #ifndef SOUP_AUTH_H
 #define SOUP_AUTH_H 1
 
-#include <glib-object.h>
-#include <libsoup/soup-message.h>
-#include <libsoup/soup-uri.h>
+#include <libsoup/soup-types.h>
 
 #define SOUP_TYPE_AUTH            (soup_auth_get_type ())
 #define SOUP_AUTH(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH, SoupAuth))
index 723450f..e9b17f8 100644 (file)
@@ -8,9 +8,7 @@
 
 #include <time.h>
 
-#include <glib-object.h>
-#include <libsoup/soup-socket.h>
-#include <libsoup/soup-uri.h>
+#include <libsoup/soup-types.h>
 
 #define SOUP_TYPE_CONNECTION            (soup_connection_get_type ())
 #define SOUP_CONNECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONNECTION, SoupConnection))
 
 typedef struct SoupConnectionPrivate SoupConnectionPrivate;
 
-typedef struct {
+struct SoupConnection {
        GObject parent;
 
        SoupConnectionPrivate *priv;
-} SoupConnection;
+};
 
 typedef struct {
        GObjectClass parent_class;
index cc0cee4..49cc62c 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "soup-auth.h"
 #include "soup-auth-ntlm.h"
+#include "soup-connection.h"
 #include "soup-context.h"
 #include "soup-message-private.h"
 #include "soup-private.h"
index f8d54e7..e105e47 100644 (file)
@@ -6,9 +6,7 @@
 #ifndef SOUP_CONTEXT_H
 #define SOUP_CONTEXT_H 1
 
-#include <glib-object.h>
-#include <libsoup/soup-connection.h>
-#include <libsoup/soup-uri.h>
+#include <libsoup/soup-types.h>
 
 #define SOUP_TYPE_CONTEXT            (soup_context_get_type ())
 #define SOUP_CONTEXT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONTEXT, SoupContext))
 
 typedef struct SoupContextPrivate SoupContextPrivate;
 
-typedef struct {
+struct SoupContext {
        GObject parent;
 
        SoupContextPrivate *priv;
-} SoupContext;
+};
 
 typedef struct {
        GObjectClass parent_class;
index 717e7fa..04fbd25 100644 (file)
@@ -1,11 +1,8 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*
- * soup-error.h: HTTP Errorcode and Errorclass definitions
+ * soup-error.h: HTTP error code and error class definitions
  *
- * Authors:
- *      Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2001-2002, Ximian, Inc.
+ * Copyright (C) 2001-2003, Ximian, Inc.
  */
 
 #ifndef SOUP_ERROR_H
index 292294a..fdf814f 100644 (file)
@@ -16,6 +16,7 @@
 #include "soup-message-private.h"
 #include "soup-misc.h"
 #include "soup-private.h"
+#include "soup-socket.h"
 
 typedef struct {
        guint                      idle_tag;
index 87868c7..35f0b23 100644 (file)
@@ -8,6 +8,7 @@
 #include <string.h>
 
 #include "soup-auth.h"
+#include "soup-connection.h"
 #include "soup-error.h"
 #include "soup-marshal.h"
 #include "soup-message.h"
index 66959d6..c40abb4 100644 (file)
@@ -6,10 +6,8 @@
 #ifndef SOUP_MESSAGE_H
 #define SOUP_MESSAGE_H 1
 
-#include <glib-object.h>
-#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
 #include <libsoup/soup-method.h>
-#include <libsoup/soup-uri.h>
 
 #define SOUP_TYPE_MESSAGE            (soup_message_get_type ())
 #define SOUP_MESSAGE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_MESSAGE, SoupMessage))
@@ -38,7 +36,7 @@ typedef struct {
        guint          length;
 } SoupDataBuffer;
 
-typedef struct {
+struct SoupMessage {
        GObject parent;
 
        SoupMessagePrivate *priv;
@@ -54,7 +52,7 @@ typedef struct {
 
        SoupDataBuffer      response;
        GHashTable         *response_headers;
-} SoupMessage;
+};
 
 typedef struct {
        GObjectClass parent_class;
index 0c8bf99..05cc1a1 100644 (file)
@@ -1,16 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*
- * soup-private.h: Asyncronous Callback-based HTTP Request Queue.
- *
- * Authors:
- *      Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2000-2002, Ximian, Inc.
- */
-
-/* 
- * All the things Soup users shouldn't need to know about except under
- * extraneous circumstances.
+ * Copyright (C) 2000-2003, Ximian, Inc.
  */
 
 #ifndef SOUP_PRIVATE_H
 #include <config.h>
 #endif
 
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-
+#include <libsoup/soup-types.h>
 #include <libsoup/soup-auth.h>
-#include <libsoup/soup-context.h>
-#include <libsoup/soup-message.h>
-#include <libsoup/soup-server.h>
-#include <libsoup/soup-server-message.h>
-#include <libsoup/soup-socket.h>
-#include <libsoup/soup-uri.h>
+#include <libsoup/soup-misc.h>
 
 #ifdef __cplusplus
 extern "C" {
index b41652c..02c0d3e 100644 (file)
 
 #include "soup-queue.h"
 #include "soup-auth.h"
+#include "soup-connection.h"
 #include "soup-message.h"
 #include "soup-message-private.h"
 #include "soup-context.h"
 #include "soup-headers.h"
 #include "soup-misc.h"
 #include "soup-private.h"
-#include "soup-ssl.h"
+#include "soup-socket.h"
 
 static GSList *soup_active_requests = NULL, *soup_active_request_next = NULL;
 
index d44ca86..8f0a519 100644 (file)
@@ -2,10 +2,7 @@
 /*
  * soup-server-auth.c: Server-side authentication handling
  *
- * Authors:
- *      Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2001-2002, Ximian, Inc.
+ * Copyright (C) 2001-2003, Ximian, Inc.
  */
 
 #include <glib.h>
@@ -18,6 +15,8 @@
 
 #include "md5-utils.h"
 #include "soup-headers.h"
+#include "soup-misc.h"
+#include "soup-uri.h"
 
 typedef struct {
        const gchar   *scheme;
index e387c9c..b50412b 100644 (file)
@@ -2,28 +2,20 @@
 /*
  * soup-server-auth.h: Server-side authentication handling
  *
- * Authors:
- *      Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2001-2002, Ximian, Inc.
+ * Copyright (C) 2001-2003, Ximian, Inc.
  */
 
 #ifndef SOUP_SERVER_AUTH_H
 #define SOUP_SERVER_AUTH_H 1
 
-#include <glib.h>
-#include <libsoup/soup-message.h>
-#include <libsoup/soup-misc.h>
-
-typedef union _SoupServerAuth SoupServerAuth;
-typedef struct _SoupServerAuthContext SoupServerAuthContext;
+#include <libsoup/soup-types.h>
 
 typedef gboolean (*SoupServerAuthCallbackFn) (SoupServerAuthContext *auth_ctx,
                                              SoupServerAuth        *auth,
                                              SoupMessage           *msg, 
                                              gpointer               data);
 
-struct _SoupServerAuthContext {
+struct SoupServerAuthContext {
        guint                     types;
        SoupServerAuthCallbackFn  callback;
        gpointer                  user_data;
@@ -74,7 +66,7 @@ typedef struct {
        const gchar          *request_method;
 } SoupServerAuthDigest;
 
-union _SoupServerAuth {
+union SoupServerAuth {
        SoupAuthType          type;
        SoupServerAuthBasic   basic;
        SoupServerAuthDigest  digest;
index 43642f5..d67b495 100644 (file)
@@ -17,6 +17,8 @@
 #include "soup-server-message.h"
 #include "soup-message-private.h"
 #include "soup-private.h"
+#include "soup-server.h"
+#include "soup-socket.h"
 
 struct SoupServerMessagePrivate {
        SoupServer *server;
index 5798960..8522ac4 100644 (file)
@@ -7,7 +7,6 @@
 #define SOUP_SERVER_MESSAGE_H 1
 
 #include <libsoup/soup-message.h>
-#include <libsoup/soup-server.h>
 
 #define SOUP_TYPE_SERVER_MESSAGE            (soup_server_message_get_type ())
 #define SOUP_SERVER_MESSAGE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SERVER_MESSAGE, SoupServerMessage))
 
 typedef struct SoupServerMessagePrivate SoupServerMessagePrivate;
 
-typedef struct {
+struct SoupServerMessage {
        SoupMessage parent;
 
        SoupServerMessagePrivate *priv;
-} SoupServerMessage;
+};
 
 typedef struct {
        SoupMessageClass parent_class;
index 53d2dbc..8cd7f7c 100644 (file)
 #include <unistd.h>
 
 #include "soup-server.h"
+#include "soup-address.h"
 #include "soup-headers.h"
 #include "soup-private.h"
 #include "soup-message-private.h"
-#include "soup-ssl.h"
+#include "soup-server-auth.h"
+#include "soup-server-message.h"
+#include "soup-socket.h"
 
 #define PARENT_TYPE G_TYPE_OBJECT
 static GObjectClass *parent_class;
@@ -40,13 +43,6 @@ struct SoupServerPrivate {
        SoupServerHandler *default_handler;
 };
 
-struct SoupServerMessage {
-       SoupMessage *msg;
-       GSList      *chunks;           /* CONTAINS: SoupDataBuffer* */
-       gboolean     started;
-       gboolean     finished;
-};
-
 static void
 init (GObject *object)
 {
index 6eb8198..9ccb100 100644 (file)
@@ -6,13 +6,9 @@
 #ifndef SOUP_SERVER_H
 #define SOUP_SERVER_H 1
 
-#include <glib.h>
-#include <libsoup/soup-message.h>
+#include <libsoup/soup-types.h>
 #include <libsoup/soup-method.h>
-#include <libsoup/soup-misc.h>
-#include <libsoup/soup-socket.h>
 #include <libsoup/soup-uri.h>
-#include <libsoup/soup-server-auth.h>
 
 #define SOUP_TYPE_SERVER            (soup_server_get_type ())
 #define SOUP_SERVER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SERVER, SoupServer))
 
 typedef struct SoupServerPrivate SoupServerPrivate;
 
-typedef struct {
+struct SoupServer {
        GObject parent;
 
        SoupServerPrivate *priv;
-} SoupServer;
+};
 
 typedef struct {
        GObjectClass parent_class;
index 1b6ec44..715e701 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
+#include "soup-address.h"
 #include "soup-private.h"
 #include "soup-socket.h"
 #include "soup-marshal.h"
 #include "soup-ssl.h"
 
+#include <sys/types.h>
 #include <sys/socket.h>
+#include <netinet/in.h>
 #include <netinet/tcp.h>
 
 #define PARENT_TYPE G_TYPE_OBJECT
index 45300a2..67a6c00 100644 (file)
@@ -6,9 +6,7 @@
 #ifndef SOUP_SOCKET_H
 #define SOUP_SOCKET_H 1
 
-#include <glib-object.h>
-#include <libsoup/soup-address.h>
-#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
 
 #define SOUP_TYPE_SOCKET            (soup_socket_get_type ())
 #define SOUP_SOCKET(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SOCKET, SoupSocket))
 
 typedef struct SoupSocketPrivate SoupSocketPrivate;
 
-typedef struct {
+struct SoupSocket {
        GObject parent;
 
        SoupSocketPrivate *priv;
-} SoupSocket;
+};
 
 typedef struct {
        GObjectClass parent_class;
diff --git a/libsoup/soup-types.h b/libsoup/soup-types.h
new file mode 100644 (file)
index 0000000..580a09d
--- /dev/null
@@ -0,0 +1,25 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2003, Ximian, Inc.
+ */
+
+#ifndef SOUP_TYPES_H
+#define SOUP_TYPES_H 1
+
+#include <glib/gtypes.h>
+#include <glib-object.h>
+
+#include <libsoup/soup-error.h>
+
+typedef struct SoupAddress           SoupAddress;
+typedef struct SoupConnection        SoupConnection;
+typedef struct SoupContext           SoupContext;
+typedef struct SoupMessage           SoupMessage;
+typedef struct SoupServer            SoupServer;
+typedef union  SoupServerAuth        SoupServerAuth;
+typedef struct SoupServerAuthContext SoupServerAuthContext;
+typedef struct SoupServerMessage     SoupServerMessage;
+typedef struct SoupSocket            SoupSocket;
+typedef struct SoupUri               SoupUri;
+
+#endif
index 2f560d1..0d737ae 100644 (file)
@@ -9,13 +9,13 @@
 #ifndef  SOUP_URI_H
 #define  SOUP_URI_H 1
 
-#include <glib.h>
+#include <libsoup/soup-types.h>
 
 typedef GQuark SoupProtocol;
 #define SOUP_PROTOCOL_HTTP (g_quark_from_static_string ("http"))
 #define SOUP_PROTOCOL_HTTPS (g_quark_from_static_string ("https"))
 
-typedef struct {
+struct SoupUri {
        SoupProtocol  protocol;
 
        char         *user;
@@ -29,7 +29,7 @@ typedef struct {
        char         *query;
 
        char         *fragment;
-} SoupUri;
+};
 
 SoupUri  *soup_uri_new_with_base     (const SoupUri *base,
                                      const char    *uri_string);
index 839603a..3620887 100644 (file)
@@ -8,7 +8,8 @@
 #include <string.h>
 #include <unistd.h>
 
-#include <libsoup/soup.h>
+#include <libsoup/soup-address.h>
+#include <libsoup/soup-socket.h>
 
 static void rev_read (SoupSocket *sock, GString *buf);
 static void rev_write (SoupSocket *sock, GString *buf);
index 15df196..e34f013 100644 (file)
@@ -14,6 +14,7 @@
 #include <unistd.h>
 
 #include <glib.h>
+#include <libsoup/soup-address.h>
 #include <libsoup/soup-message.h>
 #include <libsoup/soup-server.h>
 #include <libsoup/soup-server-message.h>
index 4495aa7..7063d5b 100644 (file)
@@ -14,6 +14,7 @@
 #include <unistd.h>
 
 #include <glib.h>
+#include <libsoup/soup-address.h>
 #include <libsoup/soup-message.h>
 #include <libsoup/soup-server.h>
 #include <libsoup/soup-server-message.h>
index 2861dd5..5bd43be 100644 (file)
@@ -110,7 +110,7 @@ do_uri (SoupUri *base_uri, const char *base_str,
 int
 main (int argc, char **argv)
 {
-       SoupUri *base_uri, *uri;
+       SoupUri *base_uri;
        char *uri_string;
        int i, errs = 0;