summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2002-11-22 22:03:34 +0000
committerDan Winship <danw@src.gnome.org>2002-11-22 22:03:34 +0000
commit60a568cc8a2350ce2d86131efd1fb71e58d108bd (patch)
tree4cf55ebf7a05982ac7d4c805f015226a9b5efc2b
parent67158c78a92fe563b24934d0ee3118a2bcd42dfa (diff)
downloadlibsoup-60a568cc8a2350ce2d86131efd1fb71e58d108bd.tar.gz
New, typedefs for basic soup structs, to prevent #include loops.
* libsoup/soup-types.h: New, typedefs for basic soup structs, to prevent #include loops. * libsoup/Makefile.am (libsoupinclude_HEADERS): add soup-types.h * update #includes appropriately
-rw-r--r--ChangeLog9
-rw-r--r--libsoup/Makefile.am1
-rw-r--r--libsoup/soup-address.h3
-rw-r--r--libsoup/soup-auth.h4
-rw-r--r--libsoup/soup-connection.c1
-rw-r--r--libsoup/soup-connection.h5
-rw-r--r--libsoup/soup-context.c1
-rw-r--r--libsoup/soup-context.h8
-rw-r--r--libsoup/soup-message.c1
-rw-r--r--libsoup/soup-message.h4
-rw-r--r--libsoup/soup-misc.h3
-rw-r--r--libsoup/soup-queue.c1
-rw-r--r--libsoup/soup-queue.h2
-rw-r--r--libsoup/soup-server.c1
-rw-r--r--libsoup/soup-socket.c1
-rw-r--r--libsoup/soup-socket.h5
-rw-r--r--libsoup/soup-socks.c3
-rw-r--r--libsoup/soup-types.h22
-rw-r--r--libsoup/soup.h4
19 files changed, 57 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index fba5d59b..accc3000 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2002-11-22 Dan Winship <danw@ximian.com>
+ * libsoup/soup-types.h: New, typedefs for basic soup structs, to
+ prevent #include loops.
+
+ * libsoup/Makefile.am (libsoupinclude_HEADERS): add soup-types.h
+
+ * update #includes appropriately
+
+2002-11-22 Dan Winship <danw@ximian.com>
+
* libsoup/soup-uri.c: Update this to match RFC 2396. In
particular: Don't parse "parameters" separately from "path", never
copy a "fragment" from the base URI, and consider the relative URI
diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am
index 74a9fac4..329e34d6 100644
--- a/libsoup/Makefile.am
+++ b/libsoup/Makefile.am
@@ -26,6 +26,7 @@ libsoupinclude_HEADERS = \
soup-server-auth.h \
soup-server.h \
soup-socket.h \
+ soup-types.h \
soup-uri.h
lib_LTLIBRARIES = libsoup-2.0.la
diff --git a/libsoup/soup-address.h b/libsoup/soup-address.h
index 7d9435f8..1a34409e 100644
--- a/libsoup/soup-address.h
+++ b/libsoup/soup-address.h
@@ -17,8 +17,7 @@
#include <sys/socket.h>
#include <libsoup/soup-error.h>
-
-typedef struct _SoupAddress SoupAddress;
+#include <libsoup/soup-types.h>
typedef gpointer SoupAddressNewId;
diff --git a/libsoup/soup-auth.h b/libsoup/soup-auth.h
index e1c919d9..11e20f8a 100644
--- a/libsoup/soup-auth.h
+++ b/libsoup/soup-auth.h
@@ -11,12 +11,10 @@
#ifndef SOUP_AUTH_H
#define SOUP_AUTH_H 1
-#include <libsoup/soup-context.h>
-#include <libsoup/soup-message.h>
#include <libsoup/soup-misc.h>
+#include <libsoup/soup-types.h>
typedef enum _SoupAuthStatus SoupAuthStatus;
-typedef struct _SoupAuth SoupAuth;
enum _SoupAuthStatus {
SOUP_AUTH_STATUS_INVALID = 0,
diff --git a/libsoup/soup-connection.c b/libsoup/soup-connection.c
index 0d4ed911..ad5c4c6f 100644
--- a/libsoup/soup-connection.c
+++ b/libsoup/soup-connection.c
@@ -25,6 +25,7 @@
#include <netinet/in.h>
#include "soup-auth.h"
+#include "soup-connection.h"
#include "soup-context.h"
#include "soup-private.h"
#include "soup-misc.h"
diff --git a/libsoup/soup-connection.h b/libsoup/soup-connection.h
index e056d5f4..fddc7fc6 100644
--- a/libsoup/soup-connection.h
+++ b/libsoup/soup-connection.h
@@ -8,16 +8,13 @@
#include <glib.h>
#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
#include <libsoup/soup-uri.h>
-typedef struct _SoupConnection SoupConnection;
-
typedef void (*SoupConnectCallbackFn) (SoupConnection *conn,
SoupKnownErrorCode err,
gpointer user_data);
-typedef gpointer SoupConnectId;
-
SoupConnectId soup_connection_new_via_proxy (SoupUri *uri,
SoupUri *proxy_uri,
SoupConnectCallbackFn cb,
diff --git a/libsoup/soup-context.c b/libsoup/soup-context.c
index 040d4a53..caa2ef7b 100644
--- a/libsoup/soup-context.c
+++ b/libsoup/soup-context.c
@@ -25,6 +25,7 @@
#include <netinet/in.h>
#include "soup-auth.h"
+#include "soup-connection.h"
#include "soup-context.h"
#include "soup-private.h"
#include "soup-misc.h"
diff --git a/libsoup/soup-context.h b/libsoup/soup-context.h
index 44c689e4..5e1b57fb 100644
--- a/libsoup/soup-context.h
+++ b/libsoup/soup-context.h
@@ -11,16 +11,16 @@
#ifndef SOUP_CONTEXT_H
#define SOUP_CONTEXT_H 1
-#include <libsoup/soup-connection.h>
-
-typedef struct _SoupContext SoupContext;
+#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
+#include <libsoup/soup-uri.h>
typedef void (*SoupContextConnectFn) (SoupContext *ctx,
SoupKnownErrorCode err,
SoupConnection *conn,
gpointer user_data);
-SoupContext *soup_context_get (const gchar *uri);
+SoupContext *soup_context_get (const char *uri);
SoupContext *soup_context_from_uri (SoupUri *suri);
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index 92f728f0..aa7ccddf 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -9,6 +9,7 @@
*/
#include "soup-auth.h"
+#include "soup-connection.h"
#include "soup-error.h"
#include "soup-message.h"
#include "soup-misc.h"
diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h
index 64b095a8..23678145 100644
--- a/libsoup/soup-message.h
+++ b/libsoup/soup-message.h
@@ -12,9 +12,10 @@
#define SOUP_MESSAGE_H 1
#include <glib.h>
-#include <libsoup/soup-context.h>
#include <libsoup/soup-error.h>
#include <libsoup/soup-method.h>
+#include <libsoup/soup-types.h>
+#include <libsoup/soup-uri.h>
typedef enum {
SOUP_STATUS_IDLE = 0,
@@ -37,7 +38,6 @@ typedef struct {
guint length;
} SoupDataBuffer;
-typedef struct _SoupMessage SoupMessage;
typedef struct _SoupMessagePrivate SoupMessagePrivate;
struct _SoupMessage {
diff --git a/libsoup/soup-misc.h b/libsoup/soup-misc.h
index 30e97b3f..265e4261 100644
--- a/libsoup/soup-misc.h
+++ b/libsoup/soup-misc.h
@@ -12,8 +12,7 @@
#define SOUP_MISC_H 1
#include <glib.h>
-#include <libsoup/soup-context.h>
-#include <libsoup/soup-message.h>
+#include <libsoup/soup-types.h>
#include <libsoup/soup-uri.h>
/* Configuration routines */
diff --git a/libsoup/soup-queue.c b/libsoup/soup-queue.c
index babc864e..4326110e 100644
--- a/libsoup/soup-queue.c
+++ b/libsoup/soup-queue.c
@@ -21,6 +21,7 @@
#include "soup-queue.h"
#include "soup-auth.h"
+#include "soup-connection.h"
#include "soup-message.h"
#include "soup-context.h"
#include "soup-headers.h"
diff --git a/libsoup/soup-queue.h b/libsoup/soup-queue.h
index 84a8d1f9..02e88dcb 100644
--- a/libsoup/soup-queue.h
+++ b/libsoup/soup-queue.h
@@ -14,7 +14,7 @@
#include <glib.h>
#include <libsoup/soup-error.h>
-#include <libsoup/soup-message.h>
+#include <libsoup/soup-types.h>
void soup_queue_message (SoupMessage *req);
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 6011a50f..d3e35a2f 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -33,6 +33,7 @@ extern char **environ;
#include <stdlib.h>
#include <glib.h>
+#include "soup-address.h"
#include "soup-server.h"
#include "soup-headers.h"
#include "soup-private.h"
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index e59ca8c9..0f9b8614 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -22,6 +22,7 @@
#include <string.h>
#include "soup-private.h"
+#include "soup-address.h"
#include "soup-socket.h"
#include "soup-ssl.h"
diff --git a/libsoup/soup-socket.h b/libsoup/soup-socket.h
index 8792d52c..bd0bda78 100644
--- a/libsoup/soup-socket.h
+++ b/libsoup/soup-socket.h
@@ -15,9 +15,8 @@
#define SOUP_SOCKET_H 1
#include <glib.h>
-#include <libsoup/soup-address.h>
-
-typedef struct _SoupSocket SoupSocket;
+#include <libsoup/soup-error.h>
+#include <libsoup/soup-types.h>
typedef gpointer SoupSocketConnectId;
diff --git a/libsoup/soup-socks.c b/libsoup/soup-socks.c
index 74138036..bad3c576 100644
--- a/libsoup/soup-socks.c
+++ b/libsoup/soup-socks.c
@@ -16,6 +16,9 @@
#include <netinet/in.h>
#include "soup-socks.h"
+#include "soup-address.h"
+#include "soup-error.h"
+#include "soup-socket.h"
typedef struct {
SoupSocket *socket;
diff --git a/libsoup/soup-types.h b/libsoup/soup-types.h
new file mode 100644
index 00000000..e60de567
--- /dev/null
+++ b/libsoup/soup-types.h
@@ -0,0 +1,22 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2000-2002, Ximian, Inc.
+ */
+
+#ifndef SOUP_TYPES_H
+#define SOUP_TYPES_H 1
+
+/* Basic client-side structure typedefs. Putting these here gets
+ * us out of #include loops.
+ */
+
+typedef struct _SoupAddress SoupAddress;
+typedef struct _SoupAuth SoupAuth;
+typedef struct _SoupConnection SoupConnection;
+typedef struct _SoupContext SoupContext;
+typedef struct _SoupMessage SoupMessage;
+typedef struct _SoupSocket SoupSocket;
+
+typedef void *SoupConnectId;
+
+#endif /* SOUP_TYPES_H */
diff --git a/libsoup/soup.h b/libsoup/soup.h
index 992d9c6a..04d351ba 100644
--- a/libsoup/soup.h
+++ b/libsoup/soup.h
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * soup.h: Asyncronous Callback-based HTTP Request Queue.
+ * soup.h: Asynchronous Callback-based HTTP Request Queue.
*
* Authors:
* Alex Graveley (alex@ximian.com)
@@ -15,6 +15,8 @@
extern "C" {
#endif
+#include <libsoup/soup-address.h>
+#include <libsoup/soup-connection.h>
#include <libsoup/soup-context.h>
#include <libsoup/soup-message.h>
#include <libsoup/soup-misc.h>