[evolution-data-server] Remove some deprecated API from camel.



commit a476c3e1ad761ba2b942a6eb4f227f96f55d0e88
Author: Matthew Barnes <mbarnes redhat com>
Date:   Wed Mar 31 19:17:12 2010 -0400

    Remove some deprecated API from camel.
    
    This bumps the libcamel soname to 15.0.0.

 camel/Makefile.am                                  |    9 -
 camel/camel-data-cache.c                           |    6 -
 camel/camel-debug.c                                |    9 +-
 camel/camel-debug.h                                |    4 -
 camel/camel-digest-folder.c                        |  371 -----------
 camel/camel-digest-folder.h                        |   60 --
 camel/camel-digest-store.c                         |  181 ------
 camel/camel-digest-store.h                         |   57 --
 camel/camel-digest-summary.c                       |   86 ---
 camel/camel-digest-summary.h                       |   59 --
 camel/camel-disco-folder.c                         |    1 -
 camel/camel-file-utils.c                           |   19 -
 camel/camel-file-utils.h                           |    4 -
 camel/camel-i18n.h                                 |   56 --
 camel/camel-mime-utils.c                           |  112 +----
 camel/camel-mime-utils.h                           |   13 -
 camel/camel-news-address.c                         |   63 --
 camel/camel-news-address.h                         |   54 --
 camel/camel-object.c                               |  661 --------------------
 camel/camel-object.h                               |  117 +----
 camel/camel-offline-folder.c                       |    1 -
 camel/camel-private.h                              |    2 +
 camel/camel-process.c                              |  150 -----
 camel/camel-process.h                              |   42 --
 camel/camel-store.c                                |   58 --
 camel/camel-store.h                                |   16 -
 camel/camel-types.h                                |    2 -
 camel/camel-vee-summary.c                          |   18 -
 camel/camel.h                                      |    5 -
 camel/providers/imap/camel-imap-folder.c           |    1 -
 camel/providers/imap4/camel-imap4-folder.c         |    1 -
 camel/providers/imapx/camel-imapx-provider.c       |    3 +-
 camel/providers/imapx/camel-imapx-server.c         |    2 +-
 camel/providers/imapx/camel-imapx-store.c          |    2 +-
 camel/providers/local/camel-local-folder.c         |    1 -
 configure.ac                                       |    4 +-
 docs/reference/camel/camel-docs.sgml               |    5 -
 docs/reference/camel/camel-sections.txt            |   94 ---
 docs/reference/camel/tmpl/camel-debug.sgml         |    6 -
 docs/reference/camel/tmpl/camel-digest-folder.sgml |   18 -
 docs/reference/camel/tmpl/camel-digest-store.sgml  |   16 -
 .../reference/camel/tmpl/camel-digest-summary.sgml |   15 -
 docs/reference/camel/tmpl/camel-file-utils.sgml    |   10 -
 docs/reference/camel/tmpl/camel-mime-utils.sgml    |   61 --
 docs/reference/camel/tmpl/camel-news-address.sgml  |   16 -
 docs/reference/camel/tmpl/camel-object.sgml        |  197 ------
 docs/reference/camel/tmpl/camel-process.sgml       |   23 -
 docs/reference/camel/tmpl/camel-store.sgml         |   40 --
 docs/reference/camel/tmpl/camel-unused.sgml        |  491 +++++++++++++++
 49 files changed, 503 insertions(+), 2739 deletions(-)
---
diff --git a/camel/Makefile.am b/camel/Makefile.am
index 4f7e5bf..37d067e 100644
--- a/camel/Makefile.am
+++ b/camel/Makefile.am
@@ -44,9 +44,6 @@ libcamel_provider_1_2_la_CPPFLAGS = \
 
 libcamel_provider_1_2_la_SOURCES = 		\
 	camel-cipher-context.c			\
-	camel-digest-folder.c			\
-	camel-digest-store.c			\
-	camel-digest-summary.c			\
 	camel-disco-diary.c			\
 	camel-disco-folder.c			\
 	camel-disco-store.c			\
@@ -92,9 +89,6 @@ libcamel_provider_1_2_la_SOURCES = 		\
 
 libcamel_providerinclude_HEADERS =		\
 	camel-cipher-context.h			\
-	camel-digest-folder.h			\
-	camel-digest-store.h			\
-	camel-digest-summary.h			\
 	camel-disco-diary.h			\
 	camel-disco-folder.h			\
 	camel-disco-store.h			\
@@ -109,11 +103,9 @@ libcamel_providerinclude_HEADERS =		\
 	camel-html-parser.h			\
 	camel-lock-helper.h			\
 	camel-movemail.h			\
-	camel-news-address.h			\
 	camel-offline-folder.h			\
 	camel-offline-journal.h			\
 	camel-offline-store.h			\
-	camel-process.h				\
 	camel-provider.h			\
 	camel-sasl-anonymous.h			\
 	camel-sasl-cram-md5.h			\
@@ -248,7 +240,6 @@ libcamelinclude_HEADERS =			\
 	camel-exception-list.def		\
 	camel-exception.h			\
 	camel-file-utils.h			\
-	camel-i18n.h				\
 	camel-iconv.h				\
 	camel-index.h				\
 	camel-internet-address.h		\
diff --git a/camel/camel-data-cache.c b/camel/camel-data-cache.c
index 802b69d..f133cab 100644
--- a/camel/camel-data-cache.c
+++ b/camel/camel-data-cache.c
@@ -43,8 +43,6 @@
 #include "camel-stream-mem.h"
 #include "camel-file-utils.h"
 
-extern gint camel_verbose_debug;
-#define dd(x) (camel_verbose_debug?(x):0)
 #define d(x)
 
 /* how many 'bits' of hash are used to key the toplevel directory */
@@ -207,12 +205,10 @@ data_cache_expire(CamelDataCache *cdc, const gchar *path, const gchar *keep, tim
 			continue;
 
 		g_string_printf (s, "%s/%s", path, dname);
-		dd(printf("Checking '%s' for expiry\n", s->str));
 		if (g_stat(s->str, &st) == 0
 		    && S_ISREG(st.st_mode)
 		    && ((cdc->expire_age != -1 && st.st_mtime + cdc->expire_age < now)
 			|| (cdc->expire_access != -1 && st.st_atime + cdc->expire_access < now))) {
-			dd(printf("Has expired!  Removing!\n"));
 			g_unlink(s->str);
 			stream = camel_object_bag_get(cdc->priv->busy_bag, s->str);
 			if (stream) {
@@ -250,8 +246,6 @@ data_cache_path(CamelDataCache *cdc, gint create, const gchar *path, const gchar
 	} else if (cdc->expire_age != -1 || cdc->expire_access != -1) {
 		time_t now;
 
-		dd(printf("Checking expire cycle time on dir '%s'\n", dir));
-
 		/* This has a race, but at worst we re-run an expire cycle which is safe */
 		now = time(NULL);
 		if (cdc->priv->expire_last[hash] + CAMEL_DATA_CACHE_CYCLE_TIME < now) {
diff --git a/camel/camel-debug.c b/camel/camel-debug.c
index da7db58..d3d3d84 100644
--- a/camel/camel-debug.c
+++ b/camel/camel-debug.c
@@ -36,10 +36,7 @@ static GHashTable *debug_table = NULL;
  * camel_debug_init:
  * @void:
  *
- * Init camel debug.  Maintain legacy CAMEL_VERBOSE_DEBUG as well as the
- * new CAMEL_DEBUG based environment variable interfaces.
- *
- * CAMEL_VERBOSE_DEBUG is set to a number to turn debug on.
+ * Init camel debug.
  *
  * CAMEL_DEBUG is set to a comma separated list of modules to debug.
  * The modules can contain module-specific specifiers after a ':', or
@@ -51,10 +48,6 @@ void camel_debug_init(void)
 {
 	gchar *d;
 
-	d = getenv("CAMEL_VERBOSE_DEBUG");
-	if (d)
-		camel_verbose_debug = atoi(d);
-
 	d = g_strdup(getenv("CAMEL_DEBUG"));
 	if (d) {
 		gchar *p;
diff --git a/camel/camel-debug.h b/camel/camel-debug.h
index ef1c202..988c4a3 100644
--- a/camel/camel-debug.h
+++ b/camel/camel-debug.h
@@ -36,10 +36,6 @@ gboolean camel_debug(const gchar *mode);
 gboolean camel_debug_start(const gchar *mode);
 void camel_debug_end(void);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-extern gint camel_verbose_debug;
-#endif
-
 G_END_DECLS
 
 #endif /* CAMEL_DEBUG_H */
diff --git a/camel/camel-disco-folder.c b/camel/camel-disco-folder.c
index b734115..793b4ce 100644
--- a/camel/camel-disco-folder.c
+++ b/camel/camel-disco-folder.c
@@ -196,7 +196,6 @@ disco_getv(CamelObject *object, CamelException *ex, CamelArgGetV *args)
 		tag = arg->tag;
 
 		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
 		case CAMEL_FOLDER_ARG_PROPERTIES: {
 			CamelArgGetV props;
 
diff --git a/camel/camel-file-utils.c b/camel/camel-file-utils.c
index 0c6d891..5b736d8 100644
--- a/camel/camel-file-utils.c
+++ b/camel/camel-file-utils.c
@@ -750,22 +750,3 @@ camel_file_util_savename(const gchar *filename)
 
 	return retval;
 }
-
-/**
- * camel_mkdir:
- * @path: directory path to create
- * @mode: permissions
- *
- * Creates the directory path described in @path, creating any parent
- * directories as necessary.
- *
- * Returns 0 on success or -1 on fail. In the case of failure, errno
- * will be set appropriately.
- *
- * Since: 2.30
- **/
-gint
-camel_mkdir (const gchar *path, mode_t mode)
-{
-	return g_mkdir_with_parents (path, mode);
-}
diff --git a/camel/camel-file-utils.h b/camel/camel-file-utils.h
index a53c711..5c8ac4b 100644
--- a/camel/camel-file-utils.h
+++ b/camel/camel-file-utils.h
@@ -70,10 +70,6 @@ gssize camel_write_socket (gint fd, const gchar *buf, gsize n);
 
 gchar *camel_file_util_savename(const gchar *filename);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-gint camel_mkdir (const gchar *path, mode_t mode);
-#endif
-
 G_END_DECLS
 
 #endif /* CAMEL_FILE_UTILS_H */
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index d4e0c27..0f15a40 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -87,116 +87,6 @@ static const guchar tohex[16] = {
 };
 
 /**
- * camel_base64_encode_close:
- * @in: input stream
- * @inlen: length of the input
- * @break_lines: whether or not to break long lines
- * @out: output string
- * @state: holds the number of bits that are stored in @save
- * @save: leftover bits that have not yet been encoded
- *
- * Base64 encodes the input stream to the output stream. Call this
- * when finished encoding data with #camel_base64_encode_step
- * to flush off the last little bit.
- *
- * Returns: the number of bytes encoded
- **/
-gsize
-camel_base64_encode_close(guchar *in, gsize inlen, gboolean break_lines, guchar *out, gint *state, gint *save)
-{
-	gsize bytes = 0;
-
-	if (inlen > 0)
-		bytes += g_base64_encode_step (in, inlen, break_lines, (gchar *) out, state, save);
-
-	bytes += g_base64_encode_close (break_lines, (gchar *) out, state, save);
-
-	return bytes;
-}
-
-/**
- * camel_base64_encode_step:
- * @in: input stream
- * @inlen: length of the input
- * @break_lines: break long lines
- * @out: output string
- * @state: holds the number of bits that are stored in @save
- * @save: leftover bits that have not yet been encoded
- *
- * Base64 encodes a chunk of data. Performs an 'encode step', only
- * encodes blocks of 3 characters to the output at a time, saves
- * left-over state in state and save (initialise to 0 on first
- * invocation).
- *
- * Returns: the number of bytes encoded
- **/
-gsize
-camel_base64_encode_step(guchar *in, gsize len, gboolean break_lines, guchar *out, gint *state, gint *save)
-{
-	return g_base64_encode_step (in, len, break_lines, (gchar *) out, state, save);
-}
-
-/**
- * camel_base64_decode_step: decode a chunk of base64 encoded data
- * @in: input stream
- * @len: max length of data to decode
- * @out: output stream
- * @state: holds the number of bits that are stored in @save
- * @save: leftover bits that have not yet been decoded
- *
- * Decodes a chunk of base64 encoded data
- *
- * Returns: the number of bytes decoded (which have been dumped in @out)
- **/
-gsize
-camel_base64_decode_step(guchar *in, gsize len, guchar *out, gint *state, guint *save)
-{
-	return g_base64_decode_step ((gchar *) in, len, out, state, save);
-}
-
-/**
- * camel_base64_encode_simple:
- * @data: binary stream of data to encode
- * @len: length of data
- *
- * Base64 encodes a block of memory.
- *
- * Returns: a string containing the base64 encoded data
- **/
-gchar *
-camel_base64_encode_simple (const gchar *data, gsize len)
-{
-	return g_base64_encode ((const guchar *) data, len);
-}
-
-/**
- * camel_base64_decode_simple:
- * @data: data to decode
- * @len: length of data
- *
- * Base64 decodes @data inline (overwrites @data with the decoded version).
- *
- * Returns: the new length of @data
- **/
-gsize
-camel_base64_decode_simple (gchar *data, gsize len)
-{
-	guchar *out_data;
-	gsize out_len = 0;
-
-	g_return_val_if_fail (data != NULL, 0);
-	g_return_val_if_fail (strlen (data) > 1, 0);
-
-	out_data = g_base64_decode (data, &out_len);
-	g_assert (out_len <= len); /* sanity check */
-	memcpy (data, out_data, out_len);
-	data[out_len] = '\0';
-	g_free (out_data);
-
-	return out_len;
-}
-
-/**
  * camel_uuencode_close:
  * @in: input stream
  * @len: input stream length
@@ -1053,7 +943,7 @@ rfc2047_decode_word (const gchar *in, gsize inlen, const gchar *default_charset)
 	case 'b':
 		inptr += 2;
 		decoded = g_alloca (inend - inptr);
-		declen = camel_base64_decode_step ((guchar *) inptr, inend - inptr, decoded, &state, &save);
+		declen = g_base64_decode_step ((gchar *) inptr, inend - inptr, decoded, &state, &save);
 		break;
 	case 'Q':
 	case 'q':
diff --git a/camel/camel-mime-utils.h b/camel/camel-mime-utils.h
index 67ba101..03be078 100644
--- a/camel/camel-mime-utils.h
+++ b/camel/camel-mime-utils.h
@@ -227,14 +227,6 @@ CamelTransferEncoding camel_transfer_encoding_from_string (const gchar *string);
 /* decode the mime-type header */
 void camel_header_mime_decode (const gchar *in, gint *maj, gint *min);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-/* do incremental base64/quoted-printable (de/en)coding */
-gsize camel_base64_decode_step (guchar *in, gsize len, guchar *out, gint *state, guint *save);
-
-gsize camel_base64_encode_step (guchar *in, gsize inlen, gboolean break_lines, guchar *out, gint *state, gint *save);
-gsize camel_base64_encode_close (guchar *in, gsize inlen, gboolean break_lines, guchar *out, gint *state, gint *save);
-#endif
-
 gsize camel_uudecode_step (guchar *in, gsize inlen, guchar *out, gint *state, guint32 *save);
 
 gsize camel_uuencode_step (guchar *in, gsize len, guchar *out, guchar *uubuf, gint *state,
@@ -247,11 +239,6 @@ gsize camel_quoted_decode_step (guchar *in, gsize len, guchar *out, gint *savest
 gsize camel_quoted_encode_step (guchar *in, gsize len, guchar *out, gint *state, gint *save);
 gsize camel_quoted_encode_close (guchar *in, gsize len, guchar *out, gint *state, gint *save);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-gchar *camel_base64_encode_simple (const gchar *data, gsize len);
-gsize camel_base64_decode_simple (gchar *data, gsize len);
-#endif
-
 /* camel ctype type functions for rfc822/rfc2047/other, which are non-locale specific */
 enum {
 	CAMEL_MIME_IS_CTRL		= 1<<0,
diff --git a/camel/camel-object.c b/camel/camel-object.c
index 0c86166..b4d14e9 100644
--- a/camel/camel-object.c
+++ b/camel/camel-object.c
@@ -109,8 +109,6 @@ struct _CamelObjectBag {
 static const gchar bag_name[] = "object:bag";
 
 /* meta-data stuff */
-static void co_metadata_free(CamelObject *obj, CamelObjectMeta *meta);
-static CamelObjectMeta *co_metadata_get(CamelObject *obj);
 static CamelHookPair *co_metadata_pair(CamelObject *obj, gint create);
 
 static const gchar meta_name[] = "object:meta";
@@ -243,9 +241,6 @@ cobject_getv(CamelObject *o, CamelException *ex, CamelArgGetV *args)
 		case CAMEL_OBJECT_ARG_DESCRIPTION:
 			*arg->ca_str = (gchar *)o->klass->name;
 			break;
-		case CAMEL_OBJECT_ARG_METADATA:
-			*arg->ca_ptr = co_metadata_get(o);
-			break;
 		case CAMEL_OBJECT_ARG_STATE_FILE: {
 			CamelHookPair *pair = co_metadata_pair(o, FALSE);
 
@@ -293,295 +288,10 @@ static void
 cobject_free(CamelObject *o, guint32 tag, gpointer value)
 {
 	switch (tag & CAMEL_ARG_TAG) {
-	case CAMEL_OBJECT_ARG_METADATA:
-		co_metadata_free(o, value);
-		break;
 	case CAMEL_OBJECT_ARG_STATE_FILE:
 		g_free(value);
 		break;
-	case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
-		g_slist_free((GSList *)value);
-		break;
-	}
-}
-
-static gchar *
-cobject_meta_get(CamelObject *obj, const gchar * name)
-{
-	CamelHookPair *pair;
-	CamelObjectMeta *meta;
-	gchar *res = NULL;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT (obj), NULL);
-	g_return_val_if_fail(name != NULL, NULL);
-
-	pair = co_metadata_pair(obj, FALSE);
-	if (pair) {
-		meta = pair->data;
-		while (meta) {
-			if (!strcmp(meta->name, name)) {
-				res = g_strdup(meta->value);
-				break;
-			}
-			meta = meta->next;
-		}
-		camel_object_unget_hooks(obj);
-	}
-
-	return res;
-}
-
-static gboolean
-cobject_meta_set(CamelObject *obj, const gchar * name, const gchar *value)
-{
-	CamelHookPair *pair;
-	gint changed = FALSE;
-	CamelObjectMeta *meta, *metap;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT (obj), FALSE);
-	g_return_val_if_fail(name != NULL, FALSE);
-
-	if (obj->hooks == NULL && value == NULL)
-		return FALSE;
-
-	pair = co_metadata_pair(obj, TRUE);
-	meta = pair->data;
-	metap = (CamelObjectMeta *)&pair->data;
-	while (meta) {
-		if (!strcmp(meta->name, name))
-			break;
-		metap = meta;
-		meta = meta->next;
 	}
-
-	/* TODO: The camelobjectmeta structure is identical to
-	   CamelTag, they could be merged or share common code */
-	if (meta == NULL) {
-		if (value == NULL)
-			goto done;
-		meta = g_malloc(sizeof(*meta) + strlen(name));
-		meta->next = pair->data;
-		pair->data = meta;
-		strcpy(meta->name, name);
-		meta->value = g_strdup(value);
-		changed = TRUE;
-	} else if (value == NULL) {
-		metap->next = meta->next;
-		g_free(meta->value);
-		g_free(meta);
-		changed = TRUE;
-	} else if (strcmp(meta->value, value) != 0) {
-		g_free(meta->value);
-		meta->value = g_strdup(value);
-		changed = TRUE;
-	}
-
-done:
-	camel_object_unget_hooks(obj);
-
-	return changed;
-}
-
-/* State file for CamelObject data.  Any later versions should only append data.
-
-   version:uint32
-
-   Version 0 of the file:
-
-   version:uint32 = 0
-   count:uint32				-- count of meta-data items
-   ( name:string value:string ) *count		-- meta-data items
-
-   Version 1 of the file adds:
-   count:uint32					-- count of persistent properties
-   ( tag:uing32 value:tagtype ) *count		-- persistent properties
-
-*/
-
-static gint
-cobject_state_read(CamelObject *obj, FILE *fp)
-{
-	guint32 i, count, version;
-
-	/* NB: for later versions, just check the version is 1 .. known version */
-	if (camel_file_util_decode_uint32(fp, &version) == -1
-	    || version > 1
-	    || camel_file_util_decode_uint32(fp, &count) == -1)
-		return -1;
-
-	for (i=0;i<count;i++) {
-		gchar *name = NULL, *value = NULL;
-
-		if (camel_file_util_decode_string(fp, &name) == 0
-		    && camel_file_util_decode_string(fp, &value) == 0) {
-			camel_object_meta_set(obj, name, value);
-			g_free(name);
-			g_free(value);
-		} else {
-			g_free(name);
-			g_free(value);
-
-			return -1;
-		}
-	}
-
-	if (version > 0) {
-		CamelArgV *argv;
-
-		if (camel_file_util_decode_uint32(fp, &count) == -1
-			|| count == 0 || count > 1024) {
-			/* maybe it was just version 0 afterall */
-			return 0;
-		}
-
-		count = MIN(count, CAMEL_ARGV_MAX);
-
-		/* we batch up the properties and set them in one go */
-		argv = g_try_malloc(sizeof(CamelArgV) -
-			((CAMEL_ARGV_MAX - count) * sizeof(CamelArg)));
-		if (argv == NULL)
-			return -1;
-
-		argv->argc = 0;
-		for (i=0;i<count;i++) {
-			if (camel_file_util_decode_uint32(fp, &argv->argv[argv->argc].tag) == -1)
-				goto cleanup;
-
-			/* so far,only do strings and ints, doubles could be added,
-			   object's would require a serialisation interface */
-
-			switch (argv->argv[argv->argc].tag & CAMEL_ARG_TYPE) {
-			case CAMEL_ARG_INT:
-			case CAMEL_ARG_BOO:
-				if (camel_file_util_decode_uint32(fp, (guint32 *) &argv->argv[argv->argc].ca_int) == -1)
-					goto cleanup;
-				break;
-			case CAMEL_ARG_STR:
-				if (camel_file_util_decode_string(fp, &argv->argv[argv->argc].ca_str) == -1)
-					goto cleanup;
-				break;
-			default:
-				goto cleanup;
-			}
-
-			argv->argc++;
-		}
-
-		camel_object_setv(obj, NULL, argv);
-	cleanup:
-		for (i=0;i<argv->argc;i++) {
-			if ((argv->argv[i].tag & CAMEL_ARG_TYPE) == CAMEL_ARG_STR)
-				g_free(argv->argv[i].ca_str);
-		}
-		g_free(argv);
-	}
-
-	return 0;
-}
-
-/* TODO: should pass exception around */
-static gint
-cobject_state_write(CamelObject *obj, FILE *fp)
-{
-	gint32 count, i;
-	CamelObjectMeta *meta = NULL, *scan;
-	gint res = -1;
-	GSList *props = NULL, *l;
-	CamelArgGetV *arggetv = NULL;
-	CamelArgV *argv = NULL;
-
-	camel_object_get(obj, NULL, CAMEL_OBJECT_METADATA, &meta, NULL);
-
-	count = 0;
-	scan = meta;
-	while (scan) {
-		count++;
-		scan = scan->next;
-	}
-
-	/* current version is 1 */
-	if (camel_file_util_encode_uint32(fp, 1) == -1
-	    || camel_file_util_encode_uint32(fp, count) == -1)
-		goto abort;
-
-	scan = meta;
-	while (scan) {
-		if (camel_file_util_encode_string(fp, scan->name) == -1
-		    || camel_file_util_encode_string(fp, scan->value) == -1)
-			goto abort;
-		scan = scan->next;
-	}
-
-	camel_object_get(obj, NULL, CAMEL_OBJECT_PERSISTENT_PROPERTIES, &props, NULL);
-
-	/* we build an arggetv to query the object atomically,
-	   we also need an argv to store the results - bit messy */
-
-	count = g_slist_length(props);
-	count = MIN(count, CAMEL_ARGV_MAX);
-
-	arggetv = g_malloc0(sizeof(CamelArgGetV) -
-		((CAMEL_ARGV_MAX - count) * sizeof(CamelArgGet)));
-	argv = g_malloc0(sizeof(CamelArgV) -
-		((CAMEL_ARGV_MAX - count) * sizeof(CamelArg)));
-	l = props;
-	i = 0;
-	while (l) {
-		CamelProperty *prop = l->data;
-
-		argv->argv[i].tag = prop->tag;
-		arggetv->argv[i].tag = prop->tag;
-		arggetv->argv[i].ca_ptr = &argv->argv[i].ca_ptr;
-
-		i++;
-		l = l->next;
-	}
-	arggetv->argc = i;
-	argv->argc = i;
-
-	camel_object_getv(obj, NULL, arggetv);
-
-	if (camel_file_util_encode_uint32(fp, count) == -1)
-		goto abort;
-
-	for (i=0;i<argv->argc;i++) {
-		CamelArg *arg = &argv->argv[i];
-
-		if (camel_file_util_encode_uint32(fp, arg->tag) == -1)
-			goto abort;
-
-		switch (arg->tag & CAMEL_ARG_TYPE) {
-		case CAMEL_ARG_INT:
-		case CAMEL_ARG_BOO:
-			if (camel_file_util_encode_uint32(fp, arg->ca_int) == -1)
-				goto abort;
-			break;
-		case CAMEL_ARG_STR:
-			if (camel_file_util_encode_string(fp, arg->ca_str) == -1)
-				goto abort;
-			break;
-		}
-	}
-
-	res = 0;
-abort:
-	for (i=0;i<argv->argc;i++) {
-		CamelArg *arg = &argv->argv[i];
-
-		if ((argv->argv[i].tag & CAMEL_ARG_TYPE) == CAMEL_ARG_STR)
-			camel_object_free(obj, arg->tag, arg->ca_str);
-	}
-
-	g_free(argv);
-	g_free(arggetv);
-
-	if (props)
-		camel_object_free(obj, CAMEL_OBJECT_PERSISTENT_PROPERTIES, props);
-
-	if (meta)
-		camel_object_free(obj, CAMEL_OBJECT_METADATA, meta);
-
-	return res;
 }
 
 static void
@@ -593,13 +303,7 @@ cobject_class_init(CamelObjectClass *klass)
 	klass->setv = cobject_setv;
 	klass->free = cobject_free;
 
-	klass->meta_get = cobject_meta_get;
-	klass->meta_set = cobject_meta_set;
-	klass->state_read = cobject_state_read;
-	klass->state_write = cobject_state_write;
-
 	camel_object_class_add_event(klass, "finalize", NULL);
-	camel_object_class_add_event(klass, "meta_changed", NULL);
 }
 
 static void
@@ -610,56 +314,6 @@ cobject_class_finalise(CamelObjectClass * klass)
 	g_free(klass);
 }
 
-/* CamelInterface base methods */
-
-G_GNUC_NORETURN static void
-cinterface_init(CamelObject *o, CamelObjectClass *klass)
-{
-	g_error("Cannot instantiate interfaces, trying to instantiate '%s'", klass->name);
-}
-
-static gint
-cinterface_getv(CamelObject *o, CamelException *ex, CamelArgGetV *args)
-{
-	return 0;
-}
-
-static gint
-cinterface_setv(CamelObject *o, CamelException *ex, CamelArgV *args)
-{
-	return 0;
-}
-
-static void
-cinterface_free(CamelObject *o, guint32 tag, gpointer value)
-{
-	/* NOOP */
-}
-
-static void
-cinterface_class_init(CamelObjectClass *klass)
-{
-	klass->magic = CAMEL_INTERFACE_MAGIC;
-
-	/* just setup dummy callbacks, properties could be part of the interface but we support none */
-	klass->getv = cinterface_getv;
-	klass->setv = cinterface_setv;
-	klass->free = cinterface_free;
-
-	/* TODO: ok, these are cruft hanging around an interface, but it saves having to define two different class bases */
-	klass->meta_get = NULL;
-	klass->meta_set = NULL;
-	klass->state_read = NULL;
-	klass->state_write = NULL;
-}
-
-static void
-cinterface_class_finalise(CamelObjectClass * klass)
-{
-	klass->magic = CAMEL_INTERFACE_FINALISED_MAGIC;
-	g_free(klass);
-}
-
 /* this function must be called for any other in the object system */
 CamelType
 camel_object_get_type(void)
@@ -671,12 +325,6 @@ camel_object_get_type(void)
 							sizeof(CamelObject), sizeof(CamelObjectClass),
 							cobject_class_init, cobject_class_finalise,
 							cobject_init, cobject_finalise);
-
-		camel_interface_type = camel_type_register(NULL, "CamelInterface",
-							   0, sizeof(CamelInterface),
-							   cinterface_class_init, cinterface_class_finalise,
-							   cinterface_init, NULL);
-
 	}
 
 	return camel_object_type;
@@ -795,20 +443,6 @@ camel_type_register(CamelType parent, const gchar * name,
 	return co_type_register(parent, name, object_size, klass_size, class_init, class_finalise, object_init, object_finalise);
 }
 
-CamelType
-camel_interface_register(CamelType parent, const gchar *name,
-			 gsize class_size,
-			 CamelObjectClassInitFunc class_init,
-			 CamelObjectClassFinalizeFunc class_finalise)
-{
-	if (parent != NULL && parent->magic != CAMEL_INTERFACE_MAGIC) {
-		g_warning("camel_interface_register: invalid junk parent class for '%s'", name);
-		return NULL;
-	}
-
-	return camel_type_register(parent, name, 0, class_size, class_init, class_finalise, NULL, NULL);
-}
-
 static void
 camel_object_init(CamelObject *o, CamelObjectClass *klass, CamelType type)
 {
@@ -1042,21 +676,6 @@ camel_object_class_is(CamelObjectClass *k, CamelType ctype)
 	return FALSE;
 }
 
-gboolean
-camel_interface_is(CamelObjectClass *k, CamelType ctype)
-{
-	g_return_val_if_fail(k != NULL, FALSE);
-	g_return_val_if_fail(check_magic(k, ctype, CAMEL_INTERFACE_MAGIC), FALSE);
-
-	while (k) {
-		if (k == ctype)
-			return TRUE;
-		k = k->parent;
-	}
-
-	return FALSE;
-}
-
 CamelObject *
 camel_object_cast(CamelObject *o, CamelType ctype)
 {
@@ -1095,24 +714,6 @@ camel_object_class_cast(CamelObjectClass *k, CamelType ctype)
 	return NULL;
 }
 
-CamelObjectClass *
-camel_interface_cast(CamelObjectClass *k, CamelType ctype)
-{
-	CamelObjectClass *r = k;
-
-	g_return_val_if_fail(check_magic(k, ctype, CAMEL_INTERFACE_MAGIC), NULL);
-
-	while (k) {
-		if (k == ctype)
-			return r;
-		k = k->parent;
-	}
-
-	g_warning("Interface '%s' doesn't have '%s' in its hierarchy", r->name, ctype->name);
-
-	return NULL;
-}
-
 static CamelHookPair *
 co_find_pair(CamelObjectClass *klass, const gchar *name)
 {
@@ -1173,50 +774,6 @@ camel_object_class_add_event(CamelObjectClass *klass, const gchar *name, CamelOb
 	klass->hooks = pair;
 }
 
-void
-camel_object_class_add_interface(CamelObjectClass *klass, CamelType itype)
-{
-	CamelHookPair *pair;
-	CamelType iscan;
-	GPtrArray *interfaces;
-	gint i;
-
-	if (!camel_interface_is(itype, camel_interface_type)) {
-		g_warning("Cannot add an interface not derived from CamelInterface on class '%s'", klass->name);
-		return;
-	}
-
-	if (camel_object_class_is(klass, camel_interface_type)) {
-		g_warning("Cannot add an interface onto a class derived from CamelInterface");
-		return;
-	}
-
-	/* we store it on the class hooks so we don't have to add any extra space to the class */
-	pair = co_find_pair_ptr(klass, interface_name);
-	if (pair == NULL) {
-		pair = pair_alloc();
-		pair->data = g_ptr_array_new();
-		pair->next = klass->hooks;
-		klass->hooks = pair;
-	}
-
-	/* We just check that this type isn't added/derived anywhere else */
-	interfaces = pair->data;
-	iscan = itype;
-	while (iscan && iscan != camel_interface_type) {
-		for (i=0;i<interfaces->len;i++) {
-			if (camel_interface_is((CamelType)interfaces->pdata[i], iscan)) {
-				g_warning("Cannot add an interface twice '%s' on class '%s'\n", itype->name, klass->name);
-				return;
-			}
-		}
-		iscan = iscan->parent;
-	}
-
-	if (iscan == camel_interface_type)
-		g_ptr_array_add(interfaces, itype);
-}
-
 /* free hook data */
 static void
 camel_object_free_hooks(CamelObject *o)
@@ -1231,11 +788,6 @@ camel_object_free_hooks(CamelObject *o)
 		while (pair) {
 			next = pair->next;
 
-			if (pair->name == meta_name) {
-				co_metadata_free(o, pair->data);
-				g_free(pair->func.filename);
-			}
-
 			pair_free(pair);
 			pair = next;
 		}
@@ -1513,31 +1065,6 @@ trigger_interface:
 	camel_object_unref(obj);
 }
 
-gpointer
-camel_object_get_interface(gpointer vo, CamelType itype)
-{
-	CamelObject *obj = vo;
-	CamelHookPair *pair;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT (obj), NULL);
-	g_return_val_if_fail(camel_interface_is(itype, camel_interface_type), NULL);
-
-	pair = co_find_pair_ptr(obj->klass, interface_name);
-	if (pair) {
-		GPtrArray *interfaces = pair->data;
-		gint i;
-
-		for (i=0;i<interfaces->len;i++) {
-			if (camel_interface_is((CamelType)interfaces->pdata[i], itype))
-				return (CamelType)interfaces->pdata[i];
-		}
-	}
-
-	g_warning("Object %p class %s doesn't contain interface %s\n", vo, obj->klass->name, itype->name);
-
-	return NULL;
-}
-
 /* get/set arg methods */
 gint camel_object_set(gpointer vo, CamelException *ex, ...)
 {
@@ -1588,55 +1115,6 @@ gint camel_object_get(gpointer vo, CamelException *ex, ...)
 	return ret;
 }
 
-gpointer camel_object_get_ptr(gpointer vo, CamelException *ex, gint tag)
-{
-	CamelObject *o = vo;
-	CamelArgGetV args;
-	CamelObjectClass *klass = o->klass;
-	gint ret = 0;
-	gpointer val = NULL;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT(o), NULL);
-	g_return_val_if_fail((tag & CAMEL_ARG_TYPE) == CAMEL_ARG_OBJ
-			     || (tag & CAMEL_ARG_TYPE) == CAMEL_ARG_STR
-			     || (tag & CAMEL_ARG_TYPE) == CAMEL_ARG_PTR, NULL);
-
-	/* woefully inefficient, *shrug */
-	args.argc = 1;
-	args.argv[0].tag = tag;
-	args.argv[0].ca_ptr = &val;
-
-	ret = klass->getv(o, ex, &args);
-	if (ret != 0)
-		return NULL;
-	else
-		return val;
-}
-
-gint camel_object_get_int(gpointer vo, CamelException *ex, gint tag)
-{
-	CamelObject *o = vo;
-	CamelArgGetV args;
-	CamelObjectClass *klass = o->klass;
-	gint ret = 0;
-	gint val = 0;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT(o), 0);
-	g_return_val_if_fail((tag & CAMEL_ARG_TYPE) == CAMEL_ARG_INT
-			     || (tag & CAMEL_ARG_TYPE) == CAMEL_ARG_BOO, 0);
-
-	/* woefully inefficient, *shrug */
-	args.argc = 1;
-	args.argv[0].tag = tag;
-	args.argv[0].ca_int = &val;
-
-	ret = klass->getv(o, ex, &args);
-	if (ret != 0)
-		return 0;
-	else
-		return val;
-}
-
 gint camel_object_getv(gpointer vo, CamelException *ex, CamelArgGetV *args)
 {
 	g_return_val_if_fail(CAMEL_IS_OBJECT(vo), -1);
@@ -1679,102 +1157,6 @@ co_metadata_pair(CamelObject *obj, gint create)
 	return pair;
 }
 
-static CamelObjectMeta *
-co_metadata_get(CamelObject *obj)
-{
-	CamelHookPair *pair;
-	CamelObjectMeta *meta = NULL, *metaout = NULL, *metalast = NULL;
-
-	pair = co_metadata_pair(obj, FALSE);
-	if (pair) {
-		meta = pair->data;
-
-		while (meta) {
-			CamelObjectMeta *m;
-
-			m = g_malloc(sizeof(*m) + strlen(meta->name));
-			m->next = NULL;
-			strcpy(m->name, meta->name);
-			m->value = g_strdup(meta->value);
-			if (metaout == NULL)
-				metalast = metaout = m;
-			else {
-				metalast->next = m;
-				metalast = m;
-			}
-			meta = meta->next;
-		}
-
-		camel_object_unget_hooks(obj);
-	}
-
-	return metaout;
-}
-
-static void
-co_metadata_free(CamelObject *obj, CamelObjectMeta *meta)
-{
-	while (meta) {
-		CamelObjectMeta *metan = meta->next;
-
-		g_free(meta->value);
-		g_free(meta);
-		meta = metan;
-	}
-}
-
-/**
- * camel_object_meta_get:
- * @vo:
- * @name:
- *
- * Get a meta-data on an object.
- *
- * Returns: NULL if the meta-data is not set.
- **/
-gchar *
-camel_object_meta_get(gpointer vo, const gchar * name)
-{
-	CamelObject *obj = vo;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT (obj), NULL);
-	g_return_val_if_fail(name != NULL, NULL);
-
-	return obj->klass->meta_get(obj, name);
-}
-
-/**
- * camel_object_meta_set:
- * @vo:
- * @name: Name of meta-data.  Should be prefixed with class of setter.
- * @value: Value to set.  If NULL, then the meta-data is removed.
- *
- * Set a meta-data item on an object.  If the object supports persistent
- * data, then the meta-data will be persistent across sessions.
- *
- * If the meta-data changes, is added, or removed, then a
- * "meta_changed" event will be triggered with the name of the changed
- * data.
- *
- * Return Value: TRUE if the setting caused a change to the object's
- * metadata.
- **/
-gboolean
-camel_object_meta_set(gpointer vo, const gchar * name, const gchar *value)
-{
-	CamelObject *obj = vo;
-
-	g_return_val_if_fail(CAMEL_IS_OBJECT (obj), FALSE);
-	g_return_val_if_fail(name != NULL, FALSE);
-
-	if (obj->klass->meta_set(obj, name, value)) {
-		camel_object_trigger_event(obj, "meta_changed", (gpointer)name);
-		return TRUE;
-	}
-
-	return FALSE;
-}
-
 /**
  * camel_object_state_read:
  * @vo:
@@ -2359,46 +1741,3 @@ camel_object_bag_remove(CamelObjectBag *inbag, gpointer vo)
 	REF_UNLOCK();
 	camel_object_unget_hooks(o);
 }
-
-/* ********************************************************************** */
-
-gpointer camel_iterator_new(CamelIteratorVTable *klass, gsize size)
-{
-	CamelIterator *it;
-
-	g_assert(size >= sizeof(CamelIterator));
-
-	it = g_malloc0(size);
-	it->klass = klass;
-
-	return it;
-}
-
-gconstpointer camel_iterator_next(gpointer it, CamelException *ex)
-{
-	g_assert(it);
-	return ((CamelIterator *)it)->klass->next(it, ex);
-}
-
-void camel_iterator_reset(gpointer it)
-{
-	g_assert(it);
-	((CamelIterator *)it)->klass->reset(it);
-}
-
-gint camel_iterator_length(gpointer it)
-{
-	g_assert(it);
-	g_return_val_if_fail(((CamelIterator *)it)->klass->length != NULL, 0);
-
-	return ((CamelIterator *)it)->klass->length(it);
-}
-
-void camel_iterator_free(gpointer it)
-{
-	if (it) {
-		if (((CamelIterator *)it)->klass->free)
-			((CamelIterator *)it)->klass->free(it);
-		g_free(it);
-	}
-}
diff --git a/camel/camel-object.h b/camel/camel-object.h
index 4b2216b..724c59d 100644
--- a/camel/camel-object.h
+++ b/camel/camel-object.h
@@ -67,15 +67,6 @@ extern CamelType camel_object_type;
 typedef struct _CamelObjectClass CamelObjectClass;
 typedef struct _CamelObject CamelObject;
 typedef guint CamelObjectHookID;
-#ifndef CAMEL_DISABLE_DEPRECATED
-typedef struct _CamelObjectMeta CamelObjectMeta;
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
-#ifndef CAMEL_DISABLE_DEPRECATED
-extern CamelType camel_interface_type;
-#define CAMEL_INTERFACE_TYPE (camel_interface_type)
-typedef struct _CamelInterface CamelInterface;
-#endif /* CAMEL_DISABLE_DEPRECATED */
 
 typedef void (*CamelObjectClassInitFunc) (CamelObjectClass *);
 typedef void (*CamelObjectClassFinalizeFunc) (CamelObjectClass *);
@@ -90,34 +81,20 @@ typedef void (*CamelObjectEventHookFunc) (CamelObject *, gpointer, gpointer);
 /* camel object args. */
 enum {
 	/* Get a description of the object. */
-	CAMEL_OBJECT_ARG_DESCRIPTION = CAMEL_ARG_FIRST,	/* Get a copy of the meta-data list (should be freed) */
-	CAMEL_OBJECT_ARG_METADATA,
-	CAMEL_OBJECT_ARG_STATE_FILE,
-	CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES
+	CAMEL_OBJECT_ARG_DESCRIPTION = CAMEL_ARG_FIRST,
+	CAMEL_OBJECT_ARG_STATE_FILE
 };
 
 enum {
 	CAMEL_OBJECT_DESCRIPTION = CAMEL_OBJECT_ARG_DESCRIPTION | CAMEL_ARG_STR,
-	/* Returns a CamelObjectMeta list */
-	CAMEL_OBJECT_METADATA = CAMEL_OBJECT_ARG_METADATA | CAMEL_ARG_PTR,
 	/* sets where the persistent data should reside, otherwise it isn't persistent */
 	CAMEL_OBJECT_STATE_FILE = CAMEL_OBJECT_ARG_STATE_FILE | CAMEL_ARG_STR,
-	/* returns a GSList CamelProperties of persistent properties */
-	CAMEL_OBJECT_PERSISTENT_PROPERTIES = CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES | CAMEL_ARG_PTR
 };
 
 typedef enum _CamelObjectFlags {
 	CAMEL_OBJECT_DESTROY = (1<<0)
 } CamelObjectFlags;
 
-/* returned by get::CAMEL_OBJECT_METADATA */
-struct _CamelObjectMeta {
-	struct _CamelObjectMeta *next;
-
-	gchar *value;
-	gchar name[1];		/* allocated as part of structure */
-};
-
 /* TODO: create a simpleobject which has no events on it, or an interface for events */
 struct _CamelObject {
 	struct _CamelObjectClass *klass;
@@ -178,22 +155,11 @@ struct _CamelObjectClass
 	/* we only free 1 at a time, and only pointer types, obviously */
 	void (*free)(struct _CamelObject *, guint32 tag, gpointer ptr);
 
-	/* get/set meta-data interface */
-	gchar *(*meta_get)(struct _CamelObject *, const gchar * name);
-	gboolean (*meta_set)(struct _CamelObject *, const gchar * name, const gchar *value);
-
 	/* persistence stuff */
 	gint (*state_read)(struct _CamelObject *, FILE *fp);
 	gint (*state_write)(struct _CamelObject *, FILE *fp);
 };
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-/* an interface is just a class with no instance data */
-struct _CamelInterface {
-	struct _CamelObjectClass type;
-};
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 /* The type system .... it's pretty simple..... */
 void camel_type_init (void);
 CamelType camel_type_register(CamelType parent, const gchar * name, /*guint ver, guint rev,*/
@@ -204,13 +170,6 @@ CamelType camel_type_register(CamelType parent, const gchar * name, /*guint ver,
 			      CamelObjectInitFunc instance_init,
 			      CamelObjectFinalizeFunc instance_finalize);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-CamelType camel_interface_register(CamelType parent, const gchar *name,
-				   gsize classfuncs_size,
-				   CamelObjectClassInitFunc class_init,
-				   CamelObjectClassFinalizeFunc class_finalize);
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 /* deprecated interface */
 #define camel_type_get_global_classfuncs(x) ((CamelObjectClass *)(x))
 
@@ -218,9 +177,6 @@ CamelType camel_interface_register(CamelType parent, const gchar *name,
 const gchar *camel_type_to_name (CamelType type);
 CamelType camel_name_to_type (const gchar *name);
 void camel_object_class_add_event (CamelObjectClass *klass, const gchar *name, CamelObjectEventPrepFunc prep);
-#ifndef CAMEL_DISABLE_DEPRECATED
-void camel_object_class_add_interface(CamelObjectClass *klass, CamelType itype);
-#endif /* CAMEL_DISABLE_DEPRECATED */
 
 void camel_object_class_dump_tree (CamelType root);
 
@@ -231,11 +187,6 @@ gboolean camel_object_is(CamelObject *obj, CamelType ctype);
 CamelObjectClass *camel_object_class_cast (CamelObjectClass *klass, CamelType ctype);
 gboolean camel_object_class_is (CamelObjectClass *klass, CamelType ctype);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-CamelObjectClass *camel_interface_cast(CamelObjectClass *klass, CamelType ctype);
-gboolean camel_interface_is(CamelObjectClass *k, CamelType ctype);
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 CamelType camel_object_get_type (void);
 
 CamelObject *camel_object_new (CamelType type);
@@ -254,25 +205,12 @@ void camel_object_remove_event(gpointer obj, CamelObjectHookID id);
 void camel_object_unhook_event(gpointer obj, const gchar *name, CamelObjectEventHookFunc hook, gpointer data);
 void camel_object_trigger_event(gpointer obj, const gchar *name, gpointer event_data);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-/* interfaces */
-gpointer camel_object_get_interface(gpointer vo, CamelType itype);
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 /* get/set methods */
 gint camel_object_set(gpointer obj, struct _CamelException *ex, ...);
 gint camel_object_setv(gpointer obj, struct _CamelException *ex, CamelArgV *);
 gint camel_object_get(gpointer obj, struct _CamelException *ex, ...);
 gint camel_object_getv(gpointer obj, struct _CamelException *ex, CamelArgGetV *);
 
-/* not very efficient one-time calls */
-gpointer camel_object_get_ptr(gpointer vo, CamelException *ex, gint tag);
-gint camel_object_get_int(gpointer vo, CamelException *ex, gint tag);
-
-/* meta-data for user-specific data */
-gchar *camel_object_meta_get(gpointer vo, const gchar * name);
-gboolean camel_object_meta_set(gpointer vo, const gchar * name, const gchar *value);
-
 /* reads/writes the state from/to the CAMEL_OBJECT_STATE_FILE */
 gint camel_object_state_read(gpointer vo);
 gint camel_object_state_write(gpointer vo);
@@ -295,57 +233,6 @@ GPtrArray *camel_object_bag_list(CamelObjectBag *bag);
 void camel_object_bag_remove(CamelObjectBag *bag, gpointer o);
 void camel_object_bag_destroy(CamelObjectBag *bag);
 
-#define CAMEL_MAKE_CLASS(type, tname, parent, pname)				\
-static CamelType type##_type;							\
-static pname##Class * type##_parent_class;					\
-										\
-CamelType									\
-type##_get_type(void)								\
-{										\
-	if (type##_type == 0) {							\
-		type##_parent_class = (pname##Class *)parent##_get_type();	\
-		type##_type = camel_type_register(				\
-			type##_parent_class, #tname "Class",			\
-			sizeof(tname),						\
-			sizeof(tname ## Class),					\
-			(CamelObjectClassInitFunc) type##_class_init,		\
-			NULL,							\
-			(CamelObjectInitFunc) type##_init,			\
-			(CamelObjectFinalizeFunc) type##_finalise);		\
-	}									\
-										\
-	return type##_type;							\
-}
-
-#ifndef CAMEL_DISABLE_DEPRECATED
-/* Utility functions, not object specific, but too small to separate */
-typedef struct _CamelIteratorVTable CamelIteratorVTable;
-typedef struct _CamelIterator CamelIterator;
-
-struct _CamelIteratorVTable {
-	/* free fields, dont free base object */
-	void (*free)(gpointer it);
-	/* go to the next messageinfo */
-	gconstpointer (*next)(gpointer it, CamelException *ex);
-	/* go back to the start */
-	void (*reset)(gpointer it);
-	/* *ESTIMATE* how many results are in the iterator */
-	gint (*length)(gpointer it);
-};
-
-struct _CamelIterator {
-	CamelIteratorVTable *klass;
-
-	/* subclasses adds new fields afterwards */
-};
-
-gpointer camel_iterator_new(CamelIteratorVTable *klass, gsize size);
-void camel_iterator_free(gpointer it);
-gconstpointer camel_iterator_next(gpointer it, CamelException *ex);
-void camel_iterator_reset(gpointer it);
-gint camel_iterator_length(gpointer it);
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 G_END_DECLS
 
 #endif /* CAMEL_OBJECT_H */
diff --git a/camel/camel-offline-folder.c b/camel/camel-offline-folder.c
index a8d941e..2ee1791 100644
--- a/camel/camel-offline-folder.c
+++ b/camel/camel-offline-folder.c
@@ -182,7 +182,6 @@ offline_folder_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args
 		tag = arg->tag;
 
 		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
 		case CAMEL_FOLDER_ARG_PROPERTIES:
 			props.argc = 1;
 			props.argv[0] = *arg;
diff --git a/camel/camel-private.h b/camel/camel-private.h
index 51fc00f..b6afb52 100644
--- a/camel/camel-private.h
+++ b/camel/camel-private.h
@@ -34,6 +34,8 @@
 
 G_BEGIN_DECLS
 
+extern gint camel_verbose_debug;
+
 struct _CamelFolderPrivate {
 	GStaticRecMutex lock;
 	GStaticMutex change_lock;
diff --git a/camel/camel-store.c b/camel/camel-store.c
index 96aacbf..e62fa99 100644
--- a/camel/camel-store.c
+++ b/camel/camel-store.c
@@ -1394,61 +1394,3 @@ camel_store_can_refresh_folder (CamelStore *store, CamelFolderInfo *info, CamelE
 
 	return CS_CLASS (store)->can_refresh_folder (store, info, ex);
 }
-
-/* subscriptions interface */
-
-static void
-cis_interface_init (CamelISubscribe *cis)
-{
-	camel_object_class_add_event((CamelType)cis, "subscribed", NULL);
-	camel_object_class_add_event((CamelType)cis, "unsubscribed", NULL);
-}
-
-CamelType camel_isubscribe_get_type (void)
-{
-	static CamelType camel_isubscribe_type = CAMEL_INVALID_TYPE;
-
-	if (camel_isubscribe_type == CAMEL_INVALID_TYPE) {
-		camel_isubscribe_type = camel_interface_register (CAMEL_INTERFACE_TYPE, "CamelISubscribe",
-								  sizeof (CamelISubscribe),
-								  (CamelObjectClassInitFunc) cis_interface_init,
-								  NULL);
-	}
-
-	return camel_isubscribe_type;
-}
-
-gboolean camel_isubscribe_subscribed(CamelStore *store, const gchar *name)
-{
-	CamelISubscribe *iface = camel_object_get_interface(store, camel_isubscribe_get_type());
-
-	if (iface && iface->subscribed)
-		return iface->subscribed(store, name);
-
-	g_warning("Trying to invoke unimplemented subscribed method on a store");
-	return FALSE;
-}
-
-void camel_isubscribe_subscribe(CamelStore *store, const gchar *folder_name, CamelException *ex)
-{
-	CamelISubscribe *iface = camel_object_get_interface(store, camel_isubscribe_get_type());
-
-	if (iface && iface->subscribe) {
-		iface->subscribe(store, folder_name, ex);
-		return;
-	}
-
-	g_warning("Trying to invoke unimplemented subscribe method on a store");
-}
-
-void camel_isubscribe_unsubscribe(CamelStore *store, const gchar *folder_name, CamelException *ex)
-{
-	CamelISubscribe *iface = camel_object_get_interface(store, camel_isubscribe_get_type());
-
-	if (iface && iface->unsubscribe) {
-		iface->unsubscribe(store, folder_name, ex);
-		return;
-	}
-
-	g_warning("Trying to invoke unimplemented unsubscribe method on a store");
-}
diff --git a/camel/camel-store.h b/camel/camel-store.h
index 31e4f07..3f688ea 100644
--- a/camel/camel-store.h
+++ b/camel/camel-store.h
@@ -294,22 +294,6 @@ gboolean         camel_store_can_refresh_folder       (CamelStore *store,
 						       CamelFolderInfo *info,
 						       CamelException *ex);
 
-#ifndef CAMEL_DISABLE_DEPRECATED
-typedef struct _CamelISubscribe CamelISubscribe;
-struct _CamelISubscribe {
-	CamelInterface iface;
-
-	gboolean (*subscribed)(CamelStore *store, const gchar *folder_name);
-	void (*subscribe)(CamelStore *store, const gchar *folder_name, CamelException *ex);
-	void (*unsubscribe)(CamelStore *store, const gchar *folder_name, CamelException *ex);
-};
-
-CamelType camel_isubscribe_get_type (void);
-gboolean camel_isubscribe_subscribed(CamelStore *store, const gchar *name);
-void camel_isubscribe_subscribe(CamelStore *store, const gchar *folder_name, CamelException *ex);
-void camel_isubscribe_unsubscribe(CamelStore *store, const gchar *folder_name, CamelException *ex);
-#endif /* CAMEL_DISABLE_DEPRECATED */
-
 G_END_DECLS
 
 #endif /* CAMEL_STORE_H */
diff --git a/camel/camel-types.h b/camel/camel-types.h
index afa3b95..0a84515 100644
--- a/camel/camel-types.h
+++ b/camel/camel-types.h
@@ -26,8 +26,6 @@
 G_BEGIN_DECLS
 
 typedef struct _CamelAddress CamelAddress;
-typedef struct _CamelDigestFolder CamelDigestFolder;
-typedef struct _CamelDigestStore CamelDigestStore;
 typedef struct _CamelDiscoDiary CamelDiscoDiary;
 typedef struct _CamelDiscoFolder CamelDiscoFolder;
 typedef struct _CamelDiscoStore CamelDiscoStore;
diff --git a/camel/camel-vee-summary.c b/camel/camel-vee-summary.c
index b01ca22..13eecde 100644
--- a/camel/camel-vee-summary.c
+++ b/camel/camel-vee-summary.c
@@ -156,12 +156,6 @@ vee_info_set_user_flag(CamelMessageInfo *mi, const gchar *name, gboolean value)
 
 	if (vf->priv->unread_vfolder == 1)
 		hacked_unread_folder = TRUE;
-	else {
-		gchar *meta = camel_object_meta_get (mi->summary->folder, "vfolder:unread");
-		if (meta && strcmp (meta, "true") == 0)
-			hacked_unread_folder = TRUE;
-		g_free(meta);
-	}
 
 	if (mi->uid) {
 		CamelMessageInfo *rmi = camel_folder_summary_uid (((CamelVeeMessageInfo *)mi)->summary, mi->uid+8);
@@ -206,7 +200,6 @@ camel_vee_summary_load_check_unread_vfolder (CamelVeeSummary *vs)
 {
 	static gint only_once = FALSE;
 	static gchar *exp = NULL;
-	gchar *meta;
 	gboolean hacked_unread_folder = FALSE;
 	CamelVeeFolder *vf;
 
@@ -228,11 +221,6 @@ camel_vee_summary_load_check_unread_vfolder (CamelVeeSummary *vs)
 	if (vf->expression && strstr(exp, vf->expression) &&  (vf->flags & CAMEL_STORE_VEE_FOLDER_SPECIAL) == 0)
 		hacked_unread_folder = TRUE;
 
-	meta = camel_object_meta_get (vf, "vfolder:unread");
-	if (!hacked_unread_folder && meta && strcmp (meta, "true") == 0)
-		hacked_unread_folder = TRUE;
-	g_free(meta);
-
 	if (hacked_unread_folder)
 		vf->priv->unread_vfolder = 1;
 	else
@@ -254,12 +242,6 @@ vee_info_set_flags(CamelMessageInfo *mi, guint32 flags, guint32 set)
 
 	if (vf->priv->unread_vfolder == 1)
 		hacked_unread_folder = TRUE;
-	else {
-		gchar *meta = camel_object_meta_get (mi->summary->folder, "vfolder:unread");
-		if (meta && strcmp (meta, "true") == 0)
-			hacked_unread_folder = TRUE;
-		g_free(meta);
-	}
 
 	if (mi->uid) {
 		guint32 old_visible, old_unread, old_deleted, old_junked, old_junked_not_deleted;
diff --git a/camel/camel.h b/camel/camel.h
index 6ef2524..dac00c0 100644
--- a/camel/camel.h
+++ b/camel/camel.h
@@ -32,9 +32,6 @@
 #include <camel/camel-cipher-context.h>
 #include <camel/camel-data-cache.h>
 #include <camel/camel-data-wrapper.h>
-#include <camel/camel-digest-folder.h>
-#include <camel/camel-digest-store.h>
-#include <camel/camel-digest-summary.h>
 #include <camel/camel-disco-diary.h>
 #include <camel/camel-disco-folder.h>
 #include <camel/camel-disco-store.h>
@@ -86,7 +83,6 @@
 #include <camel/camel-multipart-encrypted.h>
 #include <camel/camel-multipart-signed.h>
 #include <camel/camel-net-utils.h>
-#include <camel/camel-news-address.h>
 #include <camel/camel-nntp-address.h>
 #include <camel/camel-object.h>
 #include <camel/camel-offline-folder.h>
@@ -94,7 +90,6 @@
 #include <camel/camel-offline-store.h>
 #include <camel/camel-operation.h>
 #include <camel/camel-partition-table.h>
-#include <camel/camel-process.h>
 #include <camel/camel-provider.h>
 #include <camel/camel-sasl.h>
 #include <camel/camel-sasl-anonymous.h>
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 4c3ebaf..887fc11 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -513,7 +513,6 @@ imap_getv(CamelObject *object, CamelException *ex, CamelArgGetV *args)
 		tag = arg->tag;
 
 		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
 		case CAMEL_FOLDER_ARG_PROPERTIES: {
 			CamelArgGetV props;
 			gint i;
diff --git a/camel/providers/imap4/camel-imap4-folder.c b/camel/providers/imap4/camel-imap4-folder.c
index 0e388fb..e24551b 100644
--- a/camel/providers/imap4/camel-imap4-folder.c
+++ b/camel/providers/imap4/camel-imap4-folder.c
@@ -190,7 +190,6 @@ imap4_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args)
 		tag = arg->tag;
 
 		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
 		case CAMEL_FOLDER_ARG_PROPERTIES:
 			props.argc = 1;
 			props.argv[0] = *arg;
diff --git a/camel/providers/imapx/camel-imapx-provider.c b/camel/providers/imapx/camel-imapx-provider.c
index 48136d4..e393ec0 100644
--- a/camel/providers/imapx/camel-imapx-provider.c
+++ b/camel/providers/imapx/camel-imapx-provider.c
@@ -28,11 +28,12 @@
 #endif
 
 #include <string.h>
+#include <glib/gi18n-lib.h>
+
 #include "camel/camel-provider.h"
 #include "camel/camel-session.h"
 #include "camel/camel-url.h"
 #include "camel/camel-sasl.h"
-#include "camel/camel-i18n.h"
 
 #include "camel-imapx-store.h"
 
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index fb1c4a9..fd587df 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -7,6 +7,7 @@
 #include <string.h>
 #include <glib.h>
 #include <glib/gstdio.h>
+#include <glib/gi18n-lib.h>
 
 // fixme, use own type funcs
 #include <ctype.h>
@@ -37,7 +38,6 @@
 #include <camel/camel-db.h>
 
 #include <camel/camel-sasl.h>
-#include <camel/camel-i18n.h>
 #include <camel/camel-utf8.h>
 #include <camel/camel-file-utils.h>
 
diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
index 9d082cb..8fb5686 100644
--- a/camel/providers/imapx/camel-imapx-store.c
+++ b/camel/providers/imapx/camel-imapx-store.c
@@ -39,6 +39,7 @@
 #include <unistd.h>
 #include <errno.h>
 #include <glib/gstdio.h>
+#include <glib/gi18n-lib.h>
 
 #include "camel/camel-operation.h"
 
@@ -54,7 +55,6 @@
 #ifdef HAVE_SSL
 #include "camel/camel-tcp-stream-ssl.h"
 #endif
-#include "camel/camel-i18n.h"
 
 #include "camel-imapx-store.h"
 #include "camel-imapx-folder.h"
diff --git a/camel/providers/local/camel-local-folder.c b/camel/providers/local/camel-local-folder.c
index 5b2890c..0dfdd8c 100644
--- a/camel/providers/local/camel-local-folder.c
+++ b/camel/providers/local/camel-local-folder.c
@@ -409,7 +409,6 @@ local_getv(CamelObject *object, CamelException *ex, CamelArgGetV *args)
 			*arg->ca_str = folder->description;
 			break;
 
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
 		case CAMEL_FOLDER_ARG_PROPERTIES: {
 			CamelArgGetV props;
 
diff --git a/configure.ac b/configure.ac
index e4fd0b7..4152a85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -83,8 +83,8 @@ LIBEGROUPWISE_CURRENT=13
 LIBEGROUPWISE_REVISION=1
 LIBEGROUPWISE_AGE=0
 
-LIBCAMEL_CURRENT=14
-LIBCAMEL_REVISION=1
+LIBCAMEL_CURRENT=15
+LIBCAMEL_REVISION=0
 LIBCAMEL_AGE=0
 
 LIBGDATA_CURRENT=1
diff --git a/docs/reference/camel/camel-docs.sgml b/docs/reference/camel/camel-docs.sgml
index 60e0253..79a8366 100644
--- a/docs/reference/camel/camel-docs.sgml
+++ b/docs/reference/camel/camel-docs.sgml
@@ -196,14 +196,9 @@
 
     <chapter id="Deprecated">
       <title>Deprecated Objects</title>
-      <xi:include href="xml/camel-digest-folder.xml"/>
-      <xi:include href="xml/camel-digest-store.xml"/>
-      <xi:include href="xml/camel-digest-summary.xml"/>
       <xi:include href="xml/camel-disco-diary.xml"/>
       <xi:include href="xml/camel-disco-folder.xml"/>
       <xi:include href="xml/camel-disco-store.xml"/>
-      <xi:include href="xml/camel-news-address.xml"/>
-      <xi:include href="xml/camel-process.xml"/>
     </chapter>
 
     <index id="api-index-full">
diff --git a/docs/reference/camel/camel-sections.txt b/docs/reference/camel/camel-sections.txt
index 07969a2..bf0147c 100644
--- a/docs/reference/camel/camel-sections.txt
+++ b/docs/reference/camel/camel-sections.txt
@@ -267,48 +267,6 @@ CamelDBPrivate
 </SECTION>
 
 <SECTION>
-<FILE>camel-digest-folder</FILE>
-<TITLE>CamelDigestFolder</TITLE>
-CamelDigestFolder
-camel_digest_folder_new
-<SUBSECTION Standard>
-CAMEL_DIGEST_FOLDER
-CAMEL_IS_DIGEST_FOLDER
-CAMEL_DIGEST_FOLDER_CLASS
-CamelDigestFolderClass
-<SUBSECTION Private>
-camel_digest_folder_get_type
-</SECTION>
-
-<SECTION>
-<FILE>camel-digest-store</FILE>
-<TITLE>CamelDigestStore</TITLE>
-CamelDigestStore
-camel_digest_store_new
-<SUBSECTION Standard>
-CAMEL_DIGEST_STORE
-CAMEL_IS_DIGEST_STORE
-CAMEL_DIGEST_STORE_CLASS
-CamelDigestStoreClass
-<SUBSECTION Private>
-camel_digest_store_get_type
-</SECTION>
-
-<SECTION>
-<FILE>camel-digest-summary</FILE>
-<TITLE>CamelDigestSummary</TITLE>
-CamelDigestSummary
-camel_digest_summary_new
-<SUBSECTION Standard>
-CAMEL_DIGEST_SUMMARY
-CAMEL_IS_DIGEST_SUMMARY
-CAMEL_DIGEST_SUMMARY_CLASS
-CamelDigestSummaryClass
-<SUBSECTION Private>
-camel_digest_summary_get_type
-</SECTION>
-
-<SECTION>
 <FILE>camel-disco-diary</FILE>
 <TITLE>CamelDiscoDiary</TITLE>
 CamelDiscoDiary
@@ -1281,20 +1239,6 @@ camel_multipart_get_type
 </SECTION>
 
 <SECTION>
-<FILE>camel-news-address</FILE>
-<TITLE>CamelNewsAddress</TITLE>
-CamelNewsAddress
-camel_news_address_new
-<SUBSECTION Standard>
-CAMEL_NEWS_ADDRESS
-CAMEL_IS_NEWS_ADDRESS
-CAMEL_NEWS_ADDRESS_CLASS
-CamelNewsAddressClass
-<SUBSECTION Private>
-camel_news_address_get_type
-</SECTION>
-
-<SECTION>
 <FILE>camel-object</FILE>
 <TITLE>CamelObject</TITLE>
 CAMEL_OBJECT_TRACK_INSTANCES
@@ -1308,10 +1252,6 @@ camel_object_type
 CAMEL_OBJECT_TYPE
 CAMEL_OBJECT_GET_TYPE
 CamelObjectHookID
-CamelObjectMeta
-camel_interface_type
-CAMEL_INTERFACE_TYPE
-CamelInterface
 CamelObjectClassInitFunc
 CamelObjectClassFinalizeFunc
 CamelObjectInitFunc
@@ -1322,19 +1262,15 @@ CAMEL_INVALID_TYPE
 CamelObjectFlags
 camel_type_init
 camel_type_register
-camel_interface_register
 camel_type_get_global_classfuncs
 camel_type_to_name
 camel_name_to_type
 camel_object_class_add_event
-camel_object_class_add_interface
 camel_object_class_dump_tree
 camel_object_cast
 camel_object_is
 camel_object_class_cast
 camel_object_class_is
-camel_interface_cast
-camel_interface_is
 camel_object_new
 camel_object_ref
 camel_object_unref
@@ -1342,15 +1278,10 @@ camel_object_hook_event
 camel_object_remove_event
 camel_object_unhook_event
 camel_object_trigger_event
-camel_object_get_interface
 camel_object_set
 camel_object_setv
 camel_object_get
 camel_object_getv
-camel_object_get_ptr
-camel_object_get_int
-camel_object_meta_get
-camel_object_meta_set
 camel_object_state_read
 camel_object_state_write
 camel_object_free
@@ -1366,14 +1297,6 @@ camel_object_bag_rekey
 camel_object_bag_list
 camel_object_bag_remove
 camel_object_bag_destroy
-CAMEL_MAKE_CLASS
-CamelIteratorVTable
-CamelIterator
-camel_iterator_new
-camel_iterator_free
-camel_iterator_next
-camel_iterator_reset
-camel_iterator_length
 <SUBSECTION Standard>
 CAMEL_OBJECT
 CAMEL_IS_OBJECT
@@ -1840,10 +1763,6 @@ camel_store_unsubscribe_folder
 camel_store_noop
 camel_store_folder_uri_equal
 camel_store_can_refresh_folder
-CamelISubscribe
-camel_isubscribe_subscribed
-camel_isubscribe_subscribe
-camel_isubscribe_unsubscribe
 <SUBSECTION Standard>
 CAMEL_STORE
 CAMEL_IS_STORE
@@ -3297,7 +3216,6 @@ camel_debug_init
 camel_debug
 camel_debug_start
 camel_debug_end
-camel_verbose_debug
 </SECTION>
 
 <SECTION>
@@ -3340,7 +3258,6 @@ camel_write
 camel_read_socket
 camel_write_socket
 camel_file_util_savename
-camel_mkdir
 </SECTION>
 
 <SECTION>
@@ -3542,17 +3459,12 @@ camel_header_newsgroups_free
 camel_transfer_encoding_to_string
 camel_transfer_encoding_from_string
 camel_header_mime_decode
-camel_base64_decode_step
-camel_base64_encode_step
-camel_base64_encode_close
 camel_uudecode_step
 camel_uuencode_step
 camel_uuencode_close
 camel_quoted_decode_step
 camel_quoted_encode_step
 camel_quoted_encode_close
-camel_base64_encode_simple
-camel_base64_decode_simple
 camel_mime_is_ctrl
 camel_mime_is_lwsp
 camel_mime_is_tspecial
@@ -3634,12 +3546,6 @@ camel_key_table_get_type
 </SECTION>
 
 <SECTION>
-<FILE>camel-process</FILE>
-camel_process_fork
-camel_process_wait
-</SECTION>
-
-<SECTION>
 <FILE>camel-string-utils</FILE>
 camel_strcase_equal
 camel_strcase_hash
diff --git a/docs/reference/camel/tmpl/camel-debug.sgml b/docs/reference/camel/tmpl/camel-debug.sgml
index 7293014..dde66af 100644
--- a/docs/reference/camel/tmpl/camel-debug.sgml
+++ b/docs/reference/camel/tmpl/camel-debug.sgml
@@ -63,9 +63,3 @@ camel-debug
 
 
 
-<!-- ##### VARIABLE camel_verbose_debug ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-digest-folder.sgml b/docs/reference/camel/tmpl/camel-digest-folder.sgml
index f57d24b..22eeb51 100644
--- a/docs/reference/camel/tmpl/camel-digest-folder.sgml
+++ b/docs/reference/camel/tmpl/camel-digest-folder.sgml
@@ -17,21 +17,3 @@ CamelDigestFolder
 <!-- ##### SECTION Stability_Level ##### -->
 
 
-<!-- ##### STRUCT CamelDigestFolder ##### -->
-<para>
-
-</para>
-
- parent: 
- priv: 
-
-<!-- ##### FUNCTION camel_digest_folder_new ##### -->
-<para>
-
-</para>
-
- parent_store: 
- message: 
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-digest-store.sgml b/docs/reference/camel/tmpl/camel-digest-store.sgml
index 31b235b..084df30 100644
--- a/docs/reference/camel/tmpl/camel-digest-store.sgml
+++ b/docs/reference/camel/tmpl/camel-digest-store.sgml
@@ -17,19 +17,3 @@ CamelDigestStore
 <!-- ##### SECTION Stability_Level ##### -->
 
 
-<!-- ##### STRUCT CamelDigestStore ##### -->
-<para>
-
-</para>
-
- parent: 
-
-<!-- ##### FUNCTION camel_digest_store_new ##### -->
-<para>
-
-</para>
-
- url: 
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-digest-summary.sgml b/docs/reference/camel/tmpl/camel-digest-summary.sgml
index 3bbd09e..69a1d3f 100644
--- a/docs/reference/camel/tmpl/camel-digest-summary.sgml
+++ b/docs/reference/camel/tmpl/camel-digest-summary.sgml
@@ -17,18 +17,3 @@ CamelDigestSummary
 <!-- ##### SECTION Stability_Level ##### -->
 
 
-<!-- ##### STRUCT CamelDigestSummary ##### -->
-<para>
-
-</para>
-
- parent_object: 
-
-<!-- ##### FUNCTION camel_digest_summary_new ##### -->
-<para>
-
-</para>
-
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-file-utils.sgml b/docs/reference/camel/tmpl/camel-file-utils.sgml
index 85c7221..9aef87c 100644
--- a/docs/reference/camel/tmpl/camel-file-utils.sgml
+++ b/docs/reference/camel/tmpl/camel-file-utils.sgml
@@ -228,13 +228,3 @@ camel-file-utils
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_mkdir ##### -->
-<para>
-
-</para>
-
- path: 
- mode: 
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-mime-utils.sgml b/docs/reference/camel/tmpl/camel-mime-utils.sgml
index 5d47a94..d35e81a 100644
--- a/docs/reference/camel/tmpl/camel-mime-utils.sgml
+++ b/docs/reference/camel/tmpl/camel-mime-utils.sgml
@@ -808,47 +808,6 @@ camel-mime-utils
 @min: 
 
 
-<!-- ##### FUNCTION camel_base64_decode_step ##### -->
-<para>
-
-</para>
-
- in: 
- len: 
- out: 
- state: 
- save: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_base64_encode_step ##### -->
-<para>
-
-</para>
-
- in: 
- inlen: 
- break_lines: 
- out: 
- state: 
- save: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_base64_encode_close ##### -->
-<para>
-
-</para>
-
- in: 
- inlen: 
- break_lines: 
- out: 
- state: 
- save: 
- Returns: 
-
-
 <!-- ##### FUNCTION camel_uudecode_step ##### -->
 <para>
 
@@ -929,26 +888,6 @@ camel-mime-utils
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_base64_encode_simple ##### -->
-<para>
-
-</para>
-
- data: 
- len: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_base64_decode_simple ##### -->
-<para>
-
-</para>
-
- data: 
- len: 
- Returns: 
-
-
 <!-- ##### MACRO camel_mime_is_ctrl ##### -->
 <para>
 
diff --git a/docs/reference/camel/tmpl/camel-news-address.sgml b/docs/reference/camel/tmpl/camel-news-address.sgml
index 1d3e754..78f5975 100644
--- a/docs/reference/camel/tmpl/camel-news-address.sgml
+++ b/docs/reference/camel/tmpl/camel-news-address.sgml
@@ -17,19 +17,3 @@ CamelNewsAddress
 <!-- ##### SECTION Stability_Level ##### -->
 
 
-<!-- ##### STRUCT CamelNewsAddress ##### -->
-<para>
-
-</para>
-
- parent: 
- priv: 
-
-<!-- ##### FUNCTION camel_news_address_new ##### -->
-<para>
-
-</para>
-
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-object.sgml b/docs/reference/camel/tmpl/camel-object.sgml
index 34a8441..82289eb 100644
--- a/docs/reference/camel/tmpl/camel-object.sgml
+++ b/docs/reference/camel/tmpl/camel-object.sgml
@@ -108,35 +108,6 @@ CamelObject
 </para>
 
 
-<!-- ##### STRUCT CamelObjectMeta ##### -->
-<para>
-
-</para>
-
- next: 
- value: 
- name: 
-
-<!-- ##### VARIABLE camel_interface_type ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO CAMEL_INTERFACE_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT CamelInterface ##### -->
-<para>
-
-</para>
-
- type: 
-
 <!-- ##### USER_FUNCTION CamelObjectClassInitFunc ##### -->
 <para>
 
@@ -227,19 +198,6 @@ CamelObject
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_interface_register ##### -->
-<para>
-
-</para>
-
- parent: 
- name: 
- classfuncs_size: 
- class_init: 
- class_finalize: 
- Returns: 
-
-
 <!-- ##### MACRO camel_type_get_global_classfuncs ##### -->
 <para>
 
@@ -276,15 +234,6 @@ CamelObject
 @prep: 
 
 
-<!-- ##### FUNCTION camel_object_class_add_interface ##### -->
-<para>
-
-</para>
-
- klass: 
- itype: 
-
-
 <!-- ##### FUNCTION camel_object_class_dump_tree ##### -->
 <para>
 
@@ -333,26 +282,6 @@ CamelObject
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_interface_cast ##### -->
-<para>
-
-</para>
-
- klass: 
- ctype: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_interface_is ##### -->
-<para>
-
-</para>
-
- k: 
- ctype: 
- Returns: 
-
-
 <!-- ##### FUNCTION camel_object_new ##### -->
 <para>
 
@@ -420,16 +349,6 @@ CamelObject
 @event_data: 
 
 
-<!-- ##### FUNCTION camel_object_get_interface ##### -->
-<para>
-
-</para>
-
- vo: 
- itype: 
- Returns: 
-
-
 <!-- ##### FUNCTION camel_object_set ##### -->
 <para>
 
@@ -474,49 +393,6 @@ CamelObject
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_object_get_ptr ##### -->
-<para>
-
-</para>
-
- vo: 
- ex: 
- tag: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_object_get_int ##### -->
-<para>
-
-</para>
-
- vo: 
- ex: 
- tag: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_object_meta_get ##### -->
-<para>
-
-</para>
-
- vo: 
- name: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_object_meta_set ##### -->
-<para>
-
-</para>
-
- vo: 
- name: 
- value: 
- Returns: 
-
-
 <!-- ##### FUNCTION camel_object_state_read ##### -->
 <para>
 
@@ -657,76 +533,3 @@ CamelObject
 @bag: 
 
 
-<!-- ##### MACRO CAMEL_MAKE_CLASS ##### -->
-<para>
-
-</para>
-
- type: 
- tname: 
- parent: 
- pname: 
-
-
-<!-- ##### STRUCT CamelIteratorVTable ##### -->
-<para>
-
-</para>
-
- free: 
- next: 
- reset: 
- length: 
-
-<!-- ##### STRUCT CamelIterator ##### -->
-<para>
-
-</para>
-
- klass: 
-
-<!-- ##### FUNCTION camel_iterator_new ##### -->
-<para>
-
-</para>
-
- klass: 
- size: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_iterator_free ##### -->
-<para>
-
-</para>
-
- it: 
-
-
-<!-- ##### FUNCTION camel_iterator_next ##### -->
-<para>
-
-</para>
-
- it: 
- ex: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_iterator_reset ##### -->
-<para>
-
-</para>
-
- it: 
-
-
-<!-- ##### FUNCTION camel_iterator_length ##### -->
-<para>
-
-</para>
-
- it: 
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-process.sgml b/docs/reference/camel/tmpl/camel-process.sgml
index b67d4ec..8a5dcb0 100644
--- a/docs/reference/camel/tmpl/camel-process.sgml
+++ b/docs/reference/camel/tmpl/camel-process.sgml
@@ -17,26 +17,3 @@ camel-process
 <!-- ##### SECTION Stability_Level ##### -->
 
 
-<!-- ##### FUNCTION camel_process_fork ##### -->
-<para>
-
-</para>
-
- path: 
- argv: 
- infd: 
- outfd: 
- errfd: 
- ex: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_process_wait ##### -->
-<para>
-
-</para>
-
- pid: 
- Returns: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-store.sgml b/docs/reference/camel/tmpl/camel-store.sgml
index 8fa7c82..7a581ca 100644
--- a/docs/reference/camel/tmpl/camel-store.sgml
+++ b/docs/reference/camel/tmpl/camel-store.sgml
@@ -544,43 +544,3 @@ CamelStore
 @Returns: 
 
 
-<!-- ##### STRUCT CamelISubscribe ##### -->
-<para>
-
-</para>
-
- iface: 
- subscribed: 
- subscribe: 
- unsubscribe: 
-
-<!-- ##### FUNCTION camel_isubscribe_subscribed ##### -->
-<para>
-
-</para>
-
- store: 
- name: 
- Returns: 
-
-
-<!-- ##### FUNCTION camel_isubscribe_subscribe ##### -->
-<para>
-
-</para>
-
- store: 
- folder_name: 
- ex: 
-
-
-<!-- ##### FUNCTION camel_isubscribe_unsubscribe ##### -->
-<para>
-
-</para>
-
- store: 
- folder_name: 
- ex: 
-
-
diff --git a/docs/reference/camel/tmpl/camel-unused.sgml b/docs/reference/camel/tmpl/camel-unused.sgml
index 5d468c0..31b7f28 100644
--- a/docs/reference/camel/tmpl/camel-unused.sgml
+++ b/docs/reference/camel/tmpl/camel-unused.sgml
@@ -1,3 +1,75 @@
+<!-- ##### SECTION ./tmpl/camel-digest-folder.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-folder.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-folder.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-folder.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-folder.sgml:Title ##### -->
+CamelDigestFolder
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-store.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-store.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-store.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-store.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-store.sgml:Title ##### -->
+CamelDigestStore
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-summary.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-summary.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-summary.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-summary.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-digest-summary.sgml:Title ##### -->
+CamelDigestSummary
+
+
 <!-- ##### SECTION ./tmpl/camel-groupwise-private.sgml:Long_Description ##### -->
 <para>
 
@@ -126,6 +198,30 @@ camel-md5-utils
 camel-mime-part-utils
 
 
+<!-- ##### SECTION ./tmpl/camel-news-address.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-news-address.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-news-address.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-news-address.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-news-address.sgml:Title ##### -->
+CamelNewsAddress
+
+
 <!-- ##### SECTION ./tmpl/camel-nntp-private.sgml:Long_Description ##### -->
 <para>
 
@@ -166,6 +262,30 @@ camel-nntp-private
 camel-nntp-types
 
 
+<!-- ##### SECTION ./tmpl/camel-process.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-process.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/camel-process.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-process.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/camel-process.sgml:Title ##### -->
+camel-process
+
+
 <!-- ##### SECTION ./tmpl/camel-search-private.sgml:Long_Description ##### -->
 <para>
 
@@ -284,6 +404,12 @@ camel-types
 @f: 
 @l: 
 
+<!-- ##### MACRO CAMEL_INTERFACE_TYPE ##### -->
+<para>
+
+</para>
+
+
 <!-- ##### MACRO CAMEL_LOCAL_FOLDER_LOCK ##### -->
 <para>
 
@@ -300,6 +426,16 @@ camel-types
 @f: 
 @l: 
 
+<!-- ##### MACRO CAMEL_MAKE_CLASS ##### -->
+<para>
+
+</para>
+
+ type: 
+ tname: 
+ parent: 
+ pname: 
+
 <!-- ##### MACRO CAMEL_NNTP_FOLDER_LOCK ##### -->
 <para>
 
@@ -332,6 +468,38 @@ camel-types
 @f: 
 @l: 
 
+<!-- ##### STRUCT CamelDigestFolder ##### -->
+<para>
+
+</para>
+
+ parent: 
+ priv: 
+
+<!-- ##### STRUCT CamelDigestStore ##### -->
+<para>
+
+</para>
+
+ parent: 
+
+<!-- ##### STRUCT CamelDigestSummary ##### -->
+<para>
+
+</para>
+
+ parent_object: 
+
+<!-- ##### STRUCT CamelISubscribe ##### -->
+<para>
+
+</para>
+
+ iface: 
+ subscribed: 
+ subscribe: 
+ unsubscribe: 
+
 <!-- ##### STRUCT CamelImapFolderPrivate ##### -->
 <para>
 
@@ -345,6 +513,30 @@ camel-types
 </para>
 
 
+<!-- ##### STRUCT CamelInterface ##### -->
+<para>
+
+</para>
+
+ type: 
+
+<!-- ##### STRUCT CamelIterator ##### -->
+<para>
+
+</para>
+
+ klass: 
+
+<!-- ##### STRUCT CamelIteratorVTable ##### -->
+<para>
+
+</para>
+
+ free: 
+ next: 
+ reset: 
+ length: 
+
 <!-- ##### STRUCT CamelLocalFolderPrivate ##### -->
 <para>
 
@@ -411,6 +603,23 @@ camel-types
 
 @dummy: 
 
+<!-- ##### STRUCT CamelNewsAddress ##### -->
+<para>
+
+</para>
+
+ parent: 
+ priv: 
+
+<!-- ##### STRUCT CamelObjectMeta ##### -->
+<para>
+
+</para>
+
+ next: 
+ value: 
+ name: 
+
 <!-- ##### STRUCT CamelSimpleDataWrapper ##### -->
 <para>
 
@@ -459,6 +668,62 @@ camel-types
 @ai_canonname: 
 @ai_next: 
 
+<!-- ##### FUNCTION camel_base64_decode_simple ##### -->
+<para>
+
+</para>
+
+ data: 
+ len: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_base64_decode_step ##### -->
+<para>
+
+</para>
+
+ in: 
+ len: 
+ out: 
+ state: 
+ save: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_base64_encode_close ##### -->
+<para>
+
+</para>
+
+ in: 
+ inlen: 
+ break_lines: 
+ out: 
+ state: 
+ save: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_base64_encode_simple ##### -->
+<para>
+
+</para>
+
+ data: 
+ len: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_base64_encode_step ##### -->
+<para>
+
+</para>
+
+ in: 
+ inlen: 
+ break_lines: 
+ out: 
+ state: 
+ save: 
+ Returns: 
+
 <!-- ##### FUNCTION camel_block_file_get_type ##### -->
 <para>
 
@@ -466,6 +731,30 @@ camel-types
 
 @Returns: 
 
+<!-- ##### FUNCTION camel_digest_folder_new ##### -->
+<para>
+
+</para>
+
+ parent_store: 
+ message: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_digest_store_new ##### -->
+<para>
+
+</para>
+
+ url: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_digest_summary_new ##### -->
+<para>
+
+</para>
+
+ Returns: 
+
 <!-- ##### FUNCTION camel_file_util_decode_size_t ##### -->
 <para>
 
@@ -544,6 +833,42 @@ camel-types
 
 @Returns: 
 
+<!-- ##### FUNCTION camel_interface_cast ##### -->
+<para>
+
+</para>
+
+ klass: 
+ ctype: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_interface_is ##### -->
+<para>
+
+</para>
+
+ k: 
+ ctype: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_interface_register ##### -->
+<para>
+
+</para>
+
+ parent: 
+ name: 
+ classfuncs_size: 
+ class_init: 
+ class_finalize: 
+ Returns: 
+
+<!-- ##### VARIABLE camel_interface_type ##### -->
+<para>
+
+</para>
+
+
 <!-- ##### FUNCTION camel_isubscribe_get_type ##### -->
 <para>
 
@@ -551,6 +876,73 @@ camel-types
 
 @Returns: 
 
+<!-- ##### FUNCTION camel_isubscribe_subscribe ##### -->
+<para>
+
+</para>
+
+ store: 
+ folder_name: 
+ ex: 
+
+<!-- ##### FUNCTION camel_isubscribe_subscribed ##### -->
+<para>
+
+</para>
+
+ store: 
+ name: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_isubscribe_unsubscribe ##### -->
+<para>
+
+</para>
+
+ store: 
+ folder_name: 
+ ex: 
+
+<!-- ##### FUNCTION camel_iterator_free ##### -->
+<para>
+
+</para>
+
+ it: 
+
+<!-- ##### FUNCTION camel_iterator_length ##### -->
+<para>
+
+</para>
+
+ it: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_iterator_new ##### -->
+<para>
+
+</para>
+
+ klass: 
+ size: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_iterator_next ##### -->
+<para>
+
+</para>
+
+ it: 
+ ex: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_iterator_reset ##### -->
+<para>
+
+</para>
+
+ it: 
+
 <!-- ##### FUNCTION camel_key_file_get_type ##### -->
 <para>
 
@@ -606,6 +998,78 @@ camel-types
 @buf: 
 @len: 
 
+<!-- ##### FUNCTION camel_mkdir ##### -->
+<para>
+
+</para>
+
+ path: 
+ mode: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_news_address_new ##### -->
+<para>
+
+</para>
+
+ Returns: 
+
+<!-- ##### FUNCTION camel_object_class_add_interface ##### -->
+<para>
+
+</para>
+
+ klass: 
+ itype: 
+
+<!-- ##### FUNCTION camel_object_get_int ##### -->
+<para>
+
+</para>
+
+ vo: 
+ ex: 
+ tag: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_object_get_interface ##### -->
+<para>
+
+</para>
+
+ vo: 
+ itype: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_object_get_ptr ##### -->
+<para>
+
+</para>
+
+ vo: 
+ ex: 
+ tag: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_object_meta_get ##### -->
+<para>
+
+</para>
+
+ vo: 
+ name: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_object_meta_set ##### -->
+<para>
+
+</para>
+
+ vo: 
+ name: 
+ value: 
+ Returns: 
+
 <!-- ##### FUNCTION camel_object_new_name ##### -->
 <para>
 
@@ -621,6 +1085,27 @@ camel-types
 
 @Returns: 
 
+<!-- ##### FUNCTION camel_process_fork ##### -->
+<para>
+
+</para>
+
+ path: 
+ argv: 
+ infd: 
+ outfd: 
+ errfd: 
+ ex: 
+ Returns: 
+
+<!-- ##### FUNCTION camel_process_wait ##### -->
+<para>
+
+</para>
+
+ pid: 
+ Returns: 
+
 <!-- ##### FUNCTION camel_search_build_match_regex ##### -->
 <para>
 
@@ -760,6 +1245,12 @@ camel-types
 @needle: 
 @Returns: 
 
+<!-- ##### VARIABLE camel_verbose_debug ##### -->
+<para>
+
+</para>
+
+
 <!-- ##### FUNCTION groupwise_refresh_folder ##### -->
 <para>
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]