aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--camel/camel-data-wrapper.h8
-rw-r--r--camel/camel-exception.h6
-rw-r--r--camel/camel-folder-summary.h6
-rw-r--r--camel/camel-folder.c2
-rw-r--r--camel/camel-folder.h8
-rw-r--r--camel/camel-formatter.c4
-rw-r--r--camel/camel-formatter.h4
-rw-r--r--camel/camel-medium.h7
-rw-r--r--camel/camel-mime-body-part.h5
-rw-r--r--camel/camel-mime-message.h5
-rw-r--r--camel/camel-mime-part.h7
-rw-r--r--camel/camel-multipart.c2
-rw-r--r--camel/camel-multipart.h7
-rw-r--r--camel/camel-seekable-stream.h6
-rw-r--r--camel/camel-seekable-substream.h7
-rw-r--r--camel/camel-service.h6
-rw-r--r--camel/camel-session.c2
-rw-r--r--camel/camel-session.h5
-rw-r--r--camel/camel-simple-data-wrapper-stream.c1
-rw-r--r--camel/camel-simple-data-wrapper-stream.h9
-rw-r--r--camel/camel-simple-data-wrapper.h9
-rw-r--r--camel/camel-store.c1
-rw-r--r--camel/camel-store.h7
-rw-r--r--camel/camel-stream-buffered-fs.h6
-rw-r--r--camel/camel-stream-data-wrapper.h6
-rw-r--r--camel/camel-stream-fs.h6
-rw-r--r--camel/camel-stream-mem.h6
-rw-r--r--camel/camel-stream.h5
-rw-r--r--camel/camel-types.h57
-rw-r--r--camel/camel.h3
-rw-r--r--camel/data-wrapper-repository.c4
-rw-r--r--camel/providers/mbox/camel-mbox-folder.c2
-rw-r--r--camel/providers/mbox/camel-mbox-search.c1
-rw-r--r--camel/providers/mbox/camel-mbox-summary.c2
-rw-r--r--composer/e-msg-composer-attachment-bar.h1
-rw-r--r--mail/folder-browser.c1
-rw-r--r--mail/message-list.c1
38 files changed, 141 insertions, 97 deletions
diff --git a/ChangeLog b/ChangeLog
index 8aa766cdcf..2087e27c48 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2000-02-18 Dan Winship <danw@helixcode.com>
+
+ * camel/camel-types.h: New header with the typedefs for all camel
+ classes. Now the class headers can just include this and the
+ header for the parent type. This makes it possible for
+ CamelService to include a CamelSession without creating an
+ #include loop.
+
+ * camel/*:
+ * composer/e-msg-composer-attachment-bar.h:
+ * mail/folder-browser.c:
+ * mail/message-list.c: frob #includes to match the new reality
+
2000-02-18 Matt Loper <matt@helixcode.com>
* tests/ui-tests/message-browser.c (filename_to_camel_msg): Call
diff --git a/camel/camel-data-wrapper.h b/camel/camel-data-wrapper.h
index 7c16cc65bd..246b86f841 100644
--- a/camel/camel-data-wrapper.h
+++ b/camel/camel-data-wrapper.h
@@ -35,10 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "gmime-content-field.h"
-#include "camel-stream.h"
-
#define CAMEL_DATA_WRAPPER_TYPE (camel_data_wrapper_get_type ())
@@ -47,7 +45,7 @@ extern "C" {
#define CAMEL_IS_DATA_WRAPPER(o) (GTK_CHECK_TYPE((o), CAMEL_DATA_WRAPPER_TYPE))
-typedef struct
+struct _CamelDataWrapper
{
GtkObject parent_object;
@@ -55,7 +53,7 @@ typedef struct
CamelStream *output_stream;
GMimeContentField *mime_type;
-} CamelDataWrapper;
+};
diff --git a/camel/camel-exception.h b/camel/camel-exception.h
index 1284608e91..ef484db111 100644
--- a/camel/camel-exception.h
+++ b/camel/camel-exception.h
@@ -36,7 +36,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <glib.h>
-
+#include "camel-types.h"
typedef enum {
#include "camel-exception-list.def"
@@ -44,12 +44,12 @@ typedef enum {
} ExceptionId;
-typedef struct {
+struct _CamelException {
/* do not access the fields directly */
ExceptionId id;
char *desc;
-} CamelException;
+};
diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h
index 414e7a24c9..f1ef888233 100644
--- a/camel/camel-folder-summary.h
+++ b/camel/camel-folder-summary.h
@@ -35,7 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-
+#include "camel-types.h"
#define CAMEL_FOLDER_SUMMARY_TYPE (camel_folder_summary_get_type ())
@@ -70,13 +70,13 @@ typedef struct {
-typedef struct {
+struct _CamelFolderSummary {
GtkObject parent_object;
GArray *subfolder_info_list; /* informations on subfolders */
GArray *message_info_list; /* informations on messages */
-} CamelFolderSummary;
+};
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index fa0cde0245..6da6f89ac8 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -26,6 +26,8 @@
#include <config.h>
#include "camel-folder.h"
#include "camel-log.h"
+#include "camel-exception.h"
+#include "camel-store.h"
#include "string-utils.h"
static GtkObjectClass *parent_class=NULL;
diff --git a/camel/camel-folder.h b/camel/camel-folder.h
index e3c05307d8..ebc8e6aa20 100644
--- a/camel/camel-folder.h
+++ b/camel/camel-folder.h
@@ -35,13 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-
-typedef struct _CamelFolder CamelFolder;
-
-#include "camel-store.h"
-#include "camel-mime-message.h"
-#include "camel-folder-summary.h"
-#include "camel-exception.h"
+#include "camel-types.h"
#define CAMEL_FOLDER_TYPE (camel_folder_get_type ())
#define CAMEL_FOLDER(obj) (GTK_CHECK_CAST((obj), CAMEL_FOLDER_TYPE, CamelFolder))
diff --git a/camel/camel-formatter.c b/camel/camel-formatter.c
index a0231419da..6f66d8293a 100644
--- a/camel/camel-formatter.c
+++ b/camel/camel-formatter.c
@@ -25,6 +25,10 @@
#include <config.h>
#include "camel-formatter.h"
+#include "camel-data-wrapper.h"
+#include "camel-mime-message.h"
+#include "camel-multipart.h"
+#include "camel-recipient.h"
#include "camel-log.h"
#include <libgnome/libgnome.h>
diff --git a/camel/camel-formatter.h b/camel/camel-formatter.h
index 95c974f01c..e0090c7bfd 100644
--- a/camel/camel-formatter.h
+++ b/camel/camel-formatter.h
@@ -33,7 +33,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include "camel.h"
+#include "camel-types.h"
#define CAMEL_FORMATTER_TYPE (camel_formatter_get_type ())
#define CAMEL_FORMATTER(obj) (GTK_CHECK_CAST((obj), CAMEL_FORMATTER_TYPE, CamelFormatter))
@@ -42,8 +42,6 @@ extern "C" {
typedef struct _CamelFormatterPrivate CamelFormatterPrivate;
-typedef struct _CamelFormatter CamelFormatter;
-
struct _CamelFormatter
{
GtkObject parent_object;
diff --git a/camel/camel-medium.h b/camel/camel-medium.h
index 5a228ecbde..8365d91344 100644
--- a/camel/camel-medium.h
+++ b/camel/camel-medium.h
@@ -35,9 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "camel-data-wrapper.h"
-#include "camel-stream.h"
-
#define CAMEL_MEDIUM_TYPE (camel_medium_get_type ())
#define CAMEL_MEDIUM(obj) (GTK_CHECK_CAST((obj), CAMEL_MEDIUM_TYPE, CamelMedium))
@@ -45,7 +44,7 @@ extern "C" {
#define CAMEL_IS_MEDIUM(o) (GTK_CHECK_TYPE((o), CAMEL_MEDIUM_TYPE))
-typedef struct
+struct _CamelMedium
{
CamelDataWrapper parent_object;
@@ -53,7 +52,7 @@ typedef struct
CamelDataWrapper *content; /* part real content */
-} CamelMedium;
+};
diff --git a/camel/camel-mime-body-part.h b/camel/camel-mime-body-part.h
index 740ab64520..b6b137e0cd 100644
--- a/camel/camel-mime-body-part.h
+++ b/camel/camel-mime-body-part.h
@@ -34,12 +34,9 @@ extern "C" {
#pragma }
#endif /* __cplusplus }*/
-typedef struct _CamelMimeBodyPart CamelMimeBodyPart;
-
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "camel-mime-part.h"
-#include "camel-multipart.h"
-
#define CAMEL_MIME_BODY_PART_TYPE (camel_mime_body_part_get_type ())
diff --git a/camel/camel-mime-message.h b/camel/camel-mime-message.h
index 9187e82ca4..8de1e05585 100644
--- a/camel/camel-mime-message.h
+++ b/camel/camel-mime-message.h
@@ -34,12 +34,9 @@ extern "C" {
#pragma }
#endif /* __cplusplus }*/
-typedef struct _CamelMimeMessage CamelMimeMessage;
-
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "camel-mime-part.h"
-#include "camel-folder.h"
-#include "camel-session.h"
#include "camel-recipient.h"
diff --git a/camel/camel-mime-part.h b/camel/camel-mime-part.h
index 4b48ce1c0c..708091cb29 100644
--- a/camel/camel-mime-part.h
+++ b/camel/camel-mime-part.h
@@ -35,9 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "camel-medium.h"
-#include "camel-stream.h"
-
#define CAMEL_MIME_PART_TYPE (camel_mime_part_get_type ())
#define CAMEL_MIME_PART(obj) (GTK_CHECK_CAST((obj), CAMEL_MIME_PART_TYPE, CamelMimePart))
@@ -58,7 +57,7 @@ typedef enum _CamelMimePartEncodingType CamelMimePartEncodingType;
/* Do not change these values directly, you
would regret it one day */
-typedef struct
+struct _CamelMimePart
{
CamelMedium parent_object;
@@ -76,7 +75,7 @@ typedef struct
GMimeContentField *content_type;
CamelStream *content_input_stream;
-} CamelMimePart;
+};
diff --git a/camel/camel-multipart.c b/camel/camel-multipart.c
index ce22128835..c44eaacb09 100644
--- a/camel/camel-multipart.c
+++ b/camel/camel-multipart.c
@@ -31,7 +31,7 @@
#include "gmime-utils.h"
#include "camel-stream-mem.h"
#include "camel-seekable-substream.h"
-
+#include "camel-mime-body-part.h"
#include "camel-multipart.h"
diff --git a/camel/camel-multipart.h b/camel/camel-multipart.h
index 50b64b3ae0..25ef42e4a0 100644
--- a/camel/camel-multipart.h
+++ b/camel/camel-multipart.h
@@ -34,12 +34,9 @@ extern "C" {
#pragma }
#endif /* __cplusplus }*/
-typedef struct _CamelMultipart CamelMultipart;
-
#include <gtk/gtk.h>
-#include "camel-mime-part.h"
-#include "camel-mime-body-part.h"
-
+#include "camel-types.h"
+#include "camel-data-wrapper.h"
#define CAMEL_MULTIPART_TYPE (camel_multipart_get_type ())
#define CAMEL_MULTIPART(obj) (GTK_CHECK_CAST((obj), CAMEL_MULTIPART_TYPE, CamelMultipart))
diff --git a/camel/camel-seekable-stream.h b/camel/camel-seekable-stream.h
index e7ab941caa..4b630f7a5c 100644
--- a/camel/camel-seekable-stream.h
+++ b/camel/camel-seekable-stream.h
@@ -35,7 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "camel-stream.h"
#define CAMEL_SEEKABLE_STREAM_TYPE (camel_seekable_stream_get_type ())
@@ -53,13 +53,13 @@ typedef enum
} CamelStreamSeekPolicy;
-typedef struct
+struct _CamelSeekableStream
{
CamelStream parent_object;
guint32 cur_pos; /* current postion in the stream */
-} CamelSeekableStream;
+};
diff --git a/camel/camel-seekable-substream.h b/camel/camel-seekable-substream.h
index 93c4bf7d97..d3a177f915 100644
--- a/camel/camel-seekable-substream.h
+++ b/camel/camel-seekable-substream.h
@@ -35,11 +35,10 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "camel-seekable-stream.h"
-
#define CAMEL_SEEKABLE_SUBSTREAM_TYPE (camel_seekable_substream_get_type ())
#define CAMEL_SEEKABLE_SUBSTREAM(obj) (GTK_CHECK_CAST((obj), CAMEL_SEEKABLE_SUBSTREAM_TYPE, CamelSeekableSubstream))
#define CAMEL_SEEKABLE_SUBSTREAM_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), CAMEL_SEEKABLE_SUBSTREAM_TYPE, CamelSeekableSubstreamClass))
@@ -48,7 +47,7 @@ extern "C" {
-typedef struct
+struct _CamelSeekableSubstream
{
CamelSeekableStream parent_object;
@@ -59,7 +58,7 @@ typedef struct
gint64 sup_bound; /* first invalid position */
gboolean open;
-} CamelSeekableSubstream;
+};
diff --git a/camel/camel-service.h b/camel/camel-service.h
index 45d15dfec1..fbcbd78d4d 100644
--- a/camel/camel-service.h
+++ b/camel/camel-service.h
@@ -35,8 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "url-util.h"
-#include "camel-exception.h"
#define CAMEL_SERVICE_TYPE (camel_service_get_type ())
#define CAMEL_SERVICE(obj) (GTK_CHECK_CAST((obj), CAMEL_SERVICE_TYPE, CamelService))
@@ -45,13 +45,13 @@ extern "C" {
-typedef struct {
+struct _CamelService {
GtkObject parent_object;
gboolean connected;
Gurl *url;
-} CamelService;
+};
diff --git a/camel/camel-session.c b/camel/camel-session.c
index 97ee59a491..ddc74e0be0 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -25,9 +25,9 @@
*/
#include <config.h>
#include "camel-session.h"
+#include "camel-store.h"
#include "string-utils.h"
#include "url-util.h"
-#include "camel-provider.h"
#include "hash-table-utils.h"
static GtkObjectClass *parent_class=NULL;
diff --git a/camel/camel-session.h b/camel/camel-session.h
index 6642a20f43..1dc234fb7f 100644
--- a/camel/camel-session.h
+++ b/camel/camel-session.h
@@ -35,11 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-
-typedef struct _CamelSession CamelSession;
-
+#include "camel-types.h"
#include "camel-provider.h"
-#include "camel-store.h"
#define CAMEL_SESSION_TYPE (camel_session_get_type ())
#define CAMEL_SESSION(obj) (GTK_CHECK_CAST((obj), CAMEL_SESSION_TYPE, CamelSession))
diff --git a/camel/camel-simple-data-wrapper-stream.c b/camel/camel-simple-data-wrapper-stream.c
index 5e89734729..0b1fd3f396 100644
--- a/camel/camel-simple-data-wrapper-stream.c
+++ b/camel/camel-simple-data-wrapper-stream.c
@@ -26,6 +26,7 @@
#endif
#include "camel-simple-data-wrapper-stream.h"
+#include "camel-simple-data-wrapper.h"
static CamelStreamClass *parent_class = NULL;
diff --git a/camel/camel-simple-data-wrapper-stream.h b/camel/camel-simple-data-wrapper-stream.h
index e756d3e591..23ba42df3e 100644
--- a/camel/camel-simple-data-wrapper-stream.h
+++ b/camel/camel-simple-data-wrapper-stream.h
@@ -24,16 +24,10 @@
#ifndef __CAMEL_SIMPLE_DATA_WRAPPER_STREAM_H__
#define __CAMEL_SIMPLE_DATA_WRAPPER_STREAM_H__
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include <gtk/gtk.h>
-
-#include "camel-simple-data-wrapper.h"
+#include "camel-types.h"
#include "camel-seekable-stream.h"
-
#ifdef __cplusplus
extern "C" {
#pragma }
@@ -51,7 +45,6 @@ extern "C" {
(GTK_CHECK_CLASS_TYPE ((obj), CAMEL_TYPE_SIMPLE_DATA_WRAPPER_STREAM))
-typedef struct _CamelSimpleDataWrapperStream CamelSimpleDataWrapperStream;
typedef struct _CamelSimpleDataWrapperStreamClass CamelSimpleDataWrapperStreamClass;
struct _CamelSimpleDataWrapperStream {
diff --git a/camel/camel-simple-data-wrapper.h b/camel/camel-simple-data-wrapper.h
index 097b59385f..fe89af5545 100644
--- a/camel/camel-simple-data-wrapper.h
+++ b/camel/camel-simple-data-wrapper.h
@@ -36,25 +36,22 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
-#include "camel-stream.h"
+#include "camel-types.h"
#include "camel-data-wrapper.h"
-
-
#define CAMEL_SIMPLE_DATA_WRAPPER_TYPE (camel_simple_data_wrapper_get_type ())
#define CAMEL_SIMPLE_DATA_WRAPPER(obj) (GTK_CHECK_CAST((obj), CAMEL_SIMPLE_DATA_WRAPPER_TYPE, CamelSimpleDataWrapper))
#define CAMEL_SIMPLE_DATA_WRAPPER_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), CAMEL_SIMPLE_DATA_WRAPPER_TYPE, CamelSimpleDataWrapperClass))
#define CAMEL_IS_SIMPLE_DATA_WRAPPER(o) (GTK_CHECK_TYPE((o), CAMEL_SIMPLE_DATA_WRAPPER_TYPE))
-typedef struct
+struct _CamelSimpleDataWrapper
{
CamelDataWrapper parent_object;
GByteArray *byte_array;
CamelStream *stream;
-} CamelSimpleDataWrapper;
+};
diff --git a/camel/camel-store.c b/camel/camel-store.c
index 4e8e873ab3..1938fcbd3f 100644
--- a/camel/camel-store.c
+++ b/camel/camel-store.c
@@ -25,6 +25,7 @@
*/
#include <config.h>
#include "camel-store.h"
+#include "camel-exception.h"
#include "camel-log.h"
static CamelServiceClass *parent_class = NULL;
diff --git a/camel/camel-store.h b/camel/camel-store.h
index 60254b3a27..588e467d53 100644
--- a/camel/camel-store.h
+++ b/camel/camel-store.h
@@ -35,13 +35,8 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-
-typedef struct _CamelStore CamelStore;
-
-#include "camel-folder.h"
+#include "camel-types.h"
#include "camel-service.h"
-#include "camel-session.h"
-#include "camel-exception.h"
#define CAMEL_STORE_TYPE (camel_store_get_type ())
#define CAMEL_STORE(obj) (GTK_CHECK_CAST((obj), CAMEL_STORE_TYPE, CamelStore))
diff --git a/camel/camel-stream-buffered-fs.h b/camel/camel-stream-buffered-fs.h
index 778c7e88df..e421ced3dd 100644
--- a/camel/camel-stream-buffered-fs.h
+++ b/camel/camel-stream-buffered-fs.h
@@ -35,7 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "camel-stream-fs.h"
#define CAMEL_STREAM_BUFFERED_FS_TYPE (camel_stream_buffered_fs_get_type ())
@@ -50,7 +50,7 @@ typedef enum
} CamelStreamBufferedFsMode;
-typedef struct
+struct _CamelStreamBufferedFs
{
CamelStreamFs parent_object;
@@ -63,7 +63,7 @@ typedef struct
gint write_pos;
gint write_pos_max;
-} CamelStreamBufferedFs;
+};
diff --git a/camel/camel-stream-data-wrapper.h b/camel/camel-stream-data-wrapper.h
index d0b95e63a6..22c3eaef0c 100644
--- a/camel/camel-stream-data-wrapper.h
+++ b/camel/camel-stream-data-wrapper.h
@@ -24,11 +24,8 @@
#ifndef __CAMEL_STREAM_DATA_WRAPPER_H__
#define __CAMEL_STREAM_DATA_WRAPPER_H__
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include <gtk/gtk.h>
+#include "camel-types.h"
#include "camel-data-wrapper.h"
#ifdef __cplusplus
@@ -49,7 +46,6 @@ extern "C" {
(GTK_CHECK_CLASS_TYPE ((obj), CAMEL_TYPE_STREAM_DATA_WRAPPER))
-typedef struct _CamelStreamDataWrapper CamelStreamDataWrapper;
typedef struct _CamelStreamDataWrapperClass CamelStreamDataWrapperClass;
struct _CamelStreamDataWrapper {
diff --git a/camel/camel-stream-fs.h b/camel/camel-stream-fs.h
index 79c7874c74..9a1477ebaa 100644
--- a/camel/camel-stream-fs.h
+++ b/camel/camel-stream-fs.h
@@ -35,7 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "camel-seekable-stream.h"
#define CAMEL_STREAM_FS_TYPE (camel_stream_fs_get_type ())
@@ -51,7 +51,7 @@ typedef enum
} CamelStreamFsMode;
-typedef struct
+struct _CamelStreamFs
{
CamelSeekableStream parent_object;
@@ -62,7 +62,7 @@ typedef struct
guint32 inf_bound; /* first valid position */
gint32 sup_bound; /* last valid position, -1 means, no sup bound */
-} CamelStreamFs;
+};
diff --git a/camel/camel-stream-mem.h b/camel/camel-stream-mem.h
index fa8c0514eb..6c9534f24e 100644
--- a/camel/camel-stream-mem.h
+++ b/camel/camel-stream-mem.h
@@ -35,7 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
-#include <stdio.h>
+#include "camel-types.h"
#include "camel-seekable-stream.h"
#define CAMEL_STREAM_MEM_TYPE (camel_stream_mem_get_type ())
@@ -51,7 +51,7 @@ typedef enum
} CamelStreamMemMode;
-typedef struct
+struct _CamelStreamMem
{
CamelSeekableStream parent_object;
@@ -59,7 +59,7 @@ typedef struct
gint position;
CamelStreamMemMode mode;
-} CamelStreamMem;
+};
diff --git a/camel/camel-stream.h b/camel/camel-stream.h
index 738160306b..7da73e4a5e 100644
--- a/camel/camel-stream.h
+++ b/camel/camel-stream.h
@@ -35,6 +35,7 @@ extern "C" {
#endif /* __cplusplus }*/
#include <gtk/gtk.h>
+#include "camel-types.h"
#define CAMEL_STREAM_TYPE (camel_stream_get_type ())
#define CAMEL_STREAM(obj) (GTK_CHECK_CAST((obj), CAMEL_STREAM_TYPE, CamelStream))
@@ -42,11 +43,11 @@ extern "C" {
#define CAMEL_IS_STREAM(o) (GTK_CHECK_TYPE((o), CAMEL_STREAM_TYPE))
-typedef struct
+struct _CamelStream
{
GtkObject parent_object;
-} CamelStream;
+};
diff --git a/camel/camel-types.h b/camel/camel-types.h
new file mode 100644
index 0000000000..d8505c66c6
--- /dev/null
+++ b/camel/camel-types.h
@@ -0,0 +1,57 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * Copyright 2000 Helix Code, Inc. (http://www.helixcode.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef CAMEL_TYPES_H
+#define CAMEL_TYPES_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus }*/
+
+typedef struct _CamelDataWrapper CamelDataWrapper;
+typedef struct _CamelException CamelException;
+typedef struct _CamelFolder CamelFolder;
+typedef struct _CamelFolderSummary CamelFolderSummary;
+typedef struct _CamelFormatter CamelFormatter;
+typedef struct _CamelMedium CamelMedium;
+typedef struct _CamelMimeBodyPart CamelMimeBodyPart;
+typedef struct _CamelMimeMessage CamelMimeMessage;
+typedef struct _CamelMimePart CamelMimePart;
+typedef struct _CamelMultipart CamelMultipart;
+typedef struct _CamelSeekableStream CamelSeekableStream;
+typedef struct _CamelSeekableSubstream CamelSeekableSubstream;
+typedef struct _CamelService CamelService;
+typedef struct _CamelSession CamelSession;
+typedef struct _CamelSimpleDataWrapper CamelSimpleDataWrapper;
+typedef struct _CamelSimpleDataWrapperStream CamelSimpleDataWrapperStream;
+typedef struct _CamelStore CamelStore;
+typedef struct _CamelStream CamelStream;
+typedef struct _CamelStreamBufferedFs CamelStreamBufferedFs;
+typedef struct _CamelStreamDataWrapper CamelStreamDataWrapper;
+typedef struct _CamelStreamFs CamelStreamFs;
+typedef struct _CamelStreamMem CamelStreamMem;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* CAMEL_TYPES_H */
diff --git a/camel/camel.h b/camel/camel.h
index 92099cd0f8..98d2248218 100644
--- a/camel/camel.h
+++ b/camel/camel.h
@@ -36,7 +36,8 @@ extern "C" {
#include <gtk/gtk.h>
#include <camel/data-wrapper-repository.h>
#include <camel/data-wrapper-repository.h>
-#include <camel/camel-log.h>
+#include <camel/camel-log.h>
+#include <camel/camel-exception.h>
#include <camel/camel-data-wrapper.h>
#include <camel/camel-simple-data-wrapper.h>
#include <camel/camel-folder.h>
diff --git a/camel/data-wrapper-repository.c b/camel/data-wrapper-repository.c
index 0b83fdf7d6..def74e4413 100644
--- a/camel/data-wrapper-repository.c
+++ b/camel/data-wrapper-repository.c
@@ -24,9 +24,9 @@
*/
-
-
#include "data-wrapper-repository.h"
+#include "camel-simple-data-wrapper.h"
+#include "camel-mime-message.h"
#include "camel-multipart.h"
#include <string.h>
#include "hash-table-utils.h"
diff --git a/camel/providers/mbox/camel-mbox-folder.c b/camel/providers/mbox/camel-mbox-folder.c
index 64d559c00a..2743423a66 100644
--- a/camel/providers/mbox/camel-mbox-folder.c
+++ b/camel/providers/mbox/camel-mbox-folder.c
@@ -46,6 +46,8 @@
#include "md5-utils.h"
#include "gmime-utils.h"
#include "camel-mbox-search.h"
+#include "camel-data-wrapper.h"
+#include "camel-mime-message.h"
#include "camel-exception.h"
diff --git a/camel/providers/mbox/camel-mbox-search.c b/camel/providers/mbox/camel-mbox-search.c
index b46c046b6d..9648ae97ba 100644
--- a/camel/providers/mbox/camel-mbox-search.c
+++ b/camel/providers/mbox/camel-mbox-search.c
@@ -27,6 +27,7 @@
#include <camel/gmime-utils.h>
#include <camel/camel-log.h>
+#include "camel/camel-folder-summary.h"
#include "camel/camel-mime-message.h"
#include "camel/camel-mime-part.h"
#include "camel/camel-stream.h"
diff --git a/camel/providers/mbox/camel-mbox-summary.c b/camel/providers/mbox/camel-mbox-summary.c
index 244fe34073..51946f1789 100644
--- a/camel/providers/mbox/camel-mbox-summary.c
+++ b/camel/providers/mbox/camel-mbox-summary.c
@@ -25,8 +25,10 @@
#include <config.h>
#include "camel-log.h"
+#include "camel-exception.h"
#include "camel-mbox-folder.h"
#include "camel-mbox-summary.h"
+#include "camel-folder-summary.h"
#include "md5-utils.h"
diff --git a/composer/e-msg-composer-attachment-bar.h b/composer/e-msg-composer-attachment-bar.h
index 803b51a954..55fe0e6b96 100644
--- a/composer/e-msg-composer-attachment-bar.h
+++ b/composer/e-msg-composer-attachment-bar.h
@@ -26,6 +26,7 @@
#include <gnome.h>
#include <camel/camel-multipart.h>
+#include <camel/camel-mime-body-part.h>
#ifdef __cplusplus
extern "C" {
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index 263577d6f9..e6fe8d496a 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -10,6 +10,7 @@
#include <config.h>
#include <gnome.h>
#include "e-util/e-util.h"
+#include "camel/camel-exception.h"
#include "folder-browser.h"
#include "session.h"
diff --git a/mail/message-list.c b/mail/message-list.c
index 7c2db35b3c..7da9b9fa8b 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -11,6 +11,7 @@
#include <gnome.h>
#include <bonobo/bonobo-main.h>
#include "e-util/e-util.h"
+#include "camel/camel-exception.h"
#include "message-list.h"
#include "Mail.h"