gmime r1294 - in trunk: . docs/reference gmime mono



Author: fejj
Date: Wed May 28 03:01:14 2008
New Revision: 1294
URL: http://svn.gnome.org/viewvc/gmime?rev=1294&view=rev

Log:
2008-05-27  Jeffrey Stedfast  <fejj novell com>

	* gmime/gmime-utils.c (g_mime_references_get_message_id): New
	accessor function to ease bindings.
	(g_mime_references_get_next): Renamed from
	g_mime_references_next() for consistency.

	* gmime/gmime-disposition.c (g_mime_content_disposition_get_params):
	New accessor function to ease bindings.



Modified:
   trunk/ChangeLog
   trunk/docs/reference/gmime-sections.txt
   trunk/gmime/gmime-content-type.h
   trunk/gmime/gmime-disposition.c
   trunk/gmime/gmime-disposition.h
   trunk/gmime/gmime-utils.c
   trunk/gmime/gmime-utils.h
   trunk/mono/GMime.metadata
   trunk/mono/Message.custom
   trunk/mono/gmime-api.raw

Modified: trunk/docs/reference/gmime-sections.txt
==============================================================================
--- trunk/docs/reference/gmime-sections.txt	(original)
+++ trunk/docs/reference/gmime-sections.txt	Wed May 28 03:01:14 2008
@@ -613,6 +613,7 @@
 g_mime_content_disposition_destroy
 g_mime_content_disposition_set_disposition
 g_mime_content_disposition_get_disposition
+g_mime_content_disposition_get_params
 g_mime_content_disposition_set_parameter
 g_mime_content_disposition_get_parameter
 g_mime_content_disposition_to_string
@@ -863,10 +864,11 @@
 g_mime_utils_header_format_date
 g_mime_utils_generate_message_id
 g_mime_utils_decode_message_id
+g_mime_references_get_message_id
+g_mime_references_get_next
 g_mime_references_decode
 g_mime_references_append
 g_mime_references_clear
-g_mime_references_next
 g_mime_utils_header_fold
 g_mime_utils_header_printf
 g_mime_utils_quote_string

Modified: trunk/gmime/gmime-content-type.h
==============================================================================
--- trunk/gmime/gmime-content-type.h	(original)
+++ trunk/gmime/gmime-content-type.h	Wed May 28 03:01:14 2008
@@ -28,10 +28,13 @@
 G_BEGIN_DECLS
 
 struct _GMimeContentType {
+	/* <private> */
+	gpointer parent_object;
+	GHashTable *param_hash;
+	
+	/* <public:read-only> */
 	char *type;
 	char *subtype;
-	
-	GHashTable *param_hash;
 	GMimeParam *params;
 };
 

Modified: trunk/gmime/gmime-disposition.c
==============================================================================
--- trunk/gmime/gmime-disposition.c	(original)
+++ trunk/gmime/gmime-disposition.c	Wed May 28 03:01:14 2008
@@ -57,6 +57,7 @@
 	disposition->disposition = g_strdup (GMIME_DISPOSITION_ATTACHMENT);
 	disposition->params = NULL;
 	disposition->param_hash = NULL;
+	disposition->parent_object = NULL;
 	
 	return disposition;
 }
@@ -82,6 +83,7 @@
 		return g_mime_content_disposition_new ();
 	
 	disposition = g_new (GMimeContentDisposition, 1);
+	disposition->parent_object = NULL;
 	
 	/* get content disposition part */
 	
@@ -160,7 +162,7 @@
  * #GMIME_DISPOSITION_ATTACHMENT or #GMIME_DISPOSITION_INLINE.
  **/
 const char *
-g_mime_content_disposition_get_disposition (GMimeContentDisposition *disposition)
+g_mime_content_disposition_get_disposition (const GMimeContentDisposition *disposition)
 {
 	g_return_val_if_fail (disposition != NULL, NULL);
 	
@@ -169,6 +171,21 @@
 
 
 /**
+ * g_mime_content_disposition_get_params:
+ * @disposition: a #GMimeContentDisposition object
+ *
+ * Gets the Content-Disposition parameter list.
+ **/
+const GMimeParam *
+g_mime_content_disposition_get_params (const GMimeContentDisposition *disposition)
+{
+	g_return_val_if_fail (disposition != NULL, NULL);
+	
+	return disposition->params;
+}
+
+
+/**
  * g_mime_content_disposition_set_parameter:
  * @disposition: a #GMimeContentDisposition object
  * @attribute: parameter name
@@ -212,7 +229,7 @@
  * Returns the value of the parameter of name @attribute.
  **/
 const char *
-g_mime_content_disposition_get_parameter (GMimeContentDisposition *disposition, const char *attribute)
+g_mime_content_disposition_get_parameter (const GMimeContentDisposition *disposition, const char *attribute)
 {
 	GMimeParam *param;
 	
@@ -240,7 +257,7 @@
  * Returns a string containing the disposition header
  **/
 char *
-g_mime_content_disposition_to_string (GMimeContentDisposition *disposition, gboolean fold)
+g_mime_content_disposition_to_string (const GMimeContentDisposition *disposition, gboolean fold)
 {
 	GString *string;
 	char *header, *buf;

Modified: trunk/gmime/gmime-disposition.h
==============================================================================
--- trunk/gmime/gmime-disposition.h	(original)
+++ trunk/gmime/gmime-disposition.h	Wed May 28 03:01:14 2008
@@ -45,9 +45,13 @@
 
 
 struct _GMimeContentDisposition {
+	/* <private> */
+	gpointer parent_object;
+	GHashTable *param_hash;
+	
+	/* <public:read-only> */
 	char *disposition;
 	GMimeParam *params;
-	GHashTable *param_hash;
 };
 
 typedef struct _GMimeContentDisposition GMimeContentDisposition;
@@ -58,14 +62,16 @@
 void g_mime_content_disposition_destroy (GMimeContentDisposition *disposition);
 
 void g_mime_content_disposition_set_disposition (GMimeContentDisposition *disposition, const char *value);
-const char *g_mime_content_disposition_get_disposition (GMimeContentDisposition *disposition);
+const char *g_mime_content_disposition_get_disposition (const GMimeContentDisposition *disposition);
+
+const GMimeParam *g_mime_content_disposition_get_params (const GMimeContentDisposition *disposition);
 
 void g_mime_content_disposition_set_parameter (GMimeContentDisposition *disposition,
 					       const char *attribute, const char *value);
-const char *g_mime_content_disposition_get_parameter (GMimeContentDisposition *disposition,
+const char *g_mime_content_disposition_get_parameter (const GMimeContentDisposition *disposition,
 						      const char *attribute);
 
-char *g_mime_content_disposition_to_string (GMimeContentDisposition *disposition, gboolean fold);
+char *g_mime_content_disposition_to_string (const GMimeContentDisposition *disposition, gboolean fold);
 
 G_END_DECLS
 

Modified: trunk/gmime/gmime-utils.c
==============================================================================
--- trunk/gmime/gmime-utils.c	(original)
+++ trunk/gmime/gmime-utils.c	Wed May 28 03:01:14 2008
@@ -1085,20 +1085,35 @@
 
 
 /**
- * g_mime_references_next:
+ * g_mime_references_get_next:
  * @ref: a #GMimeReferences list
  *
  * Advances to the next reference node in the #GMimeReferences list.
  *
  * Returns the next reference node in the #GMimeReferences list.
  **/
-GMimeReferences *
-g_mime_references_next (const GMimeReferences *ref)
+const GMimeReferences *
+g_mime_references_get_next (const GMimeReferences *ref)
 {
 	return ref ? ref->next : NULL;
 }
 
 
+/**
+ * g_mime_references_get_message_id:
+ * @ref: a #GMimeReferences list
+ *
+ * Gets the Message-Id reference from the #GMimeReferences node.
+ *
+ * Returns the Message-Id reference from the #GMimeReferences node.
+ **/
+const char *
+g_mime_references_get_message_id (const GMimeReferences *ref)
+{
+	return ref ? ref->msgid : NULL;
+}
+
+
 static gboolean
 is_rfc2047_token (const char *inptr, size_t len)
 {

Modified: trunk/gmime/gmime-utils.h
==============================================================================
--- trunk/gmime/gmime-utils.h	(original)
+++ trunk/gmime/gmime-utils.h	Wed May 28 03:01:14 2008
@@ -147,7 +147,8 @@
 GMimeReferences *g_mime_references_decode (const char *text);
 void g_mime_references_append (GMimeReferences **refs, const char *msgid);
 void g_mime_references_clear (GMimeReferences **refs);
-GMimeReferences *g_mime_references_next (const GMimeReferences *ref);
+const GMimeReferences *g_mime_references_get_next (const GMimeReferences *ref);
+const char *g_mime_references_get_message_id (const GMimeReferences *ref);
 
 char  *g_mime_utils_structured_header_fold (const char *str);
 char  *g_mime_utils_unstructured_header_fold (const char *str);

Modified: trunk/mono/GMime.metadata
==============================================================================
--- trunk/mono/GMime.metadata	(original)
+++ trunk/mono/GMime.metadata	Wed May 28 03:01:14 2008
@@ -83,7 +83,7 @@
   <!-- Fix up some other method names -->
   <attr path="/api/namespace/object[ cname='GMimeMultipart']/method[ name='Foreach']" name="name">ForeachPart</attr>
   <attr path="/api/namespace/object[ cname='GMimeStream']/method[ name='Length']" name="name">GetLength</attr>
-<attr path="/api/namespace/class[ name='Global']/method[ name='UserCharsets']" name="name">GetUserCharsets</attr>
+  <attr path="/api/namespace/class[ name='Global']/method[ name='UserCharsets']" name="name">GetUserCharsets</attr>
   <attr path="/api/namespace/class[ name='Locale']/method[ name='Charset']" name="name">GetCharset</attr>
   <attr path="/api/namespace/class[ name='Locale']/method[ name='Language']" name="name">GetLanguage</attr>
 
@@ -93,10 +93,6 @@
   <attr path="/api/namespace/class[ name='Global']/method[ cname='g_mime_ydecode_step']" name="name">DecodeStep</attr>
   <move-node path="/api/namespace/class[ name='Global']/method[ cname='g_mime_ydecode_step']">/api/namespace/class[ name='Yencode']</move-node>
 
-  <!-- We want to be able to get at the type and subtype fields of this
-       structure, so don't mark it as opaque. -->
-  <attr path="/api/namespace/struct[ cname='GMimeContentType']" name="opaque">true</attr>
-
   <!-- The generator irritating always converts a method named GetType to a
        GType property regardless of whether or not it's actually a glib type
        So rename this one -->
@@ -120,6 +116,10 @@
   <attr path="/api/namespace/class[ name='Utils']/method[ cname='g_mime_utils_best_encoding']/*/parameter[ name='text']" name="array">true</attr>
   <attr path="/api/namespace/class[ name='Utils']/method[ cname='g_mime_utils_best_encoding']/*/parameter[ name='len']" name="name">n_text</attr>
 
+  <!-- Fix GMimeReferences -->
+  <attr path="/api/namespace/struct[ name='References']" name="opaque">true</attr>
+  <attr path="/api/namespace/struct[ name='References']/method[ name='Decode']" name="name">Parse</attr>
+
   <!-- Hide some problematic and nonsensical elements -->
   <attr path="/api/namespace/struct[ cname='GMimeHeader']/method[ name='SetRaw']" name="hidden">true</attr>
   <attr path="/api/namespace/object[ cname='GMimeStream']/method[ name='Read']" name="hidden">trye</attr>

Modified: trunk/mono/Message.custom
==============================================================================
--- trunk/mono/Message.custom	(original)
+++ trunk/mono/Message.custom	Wed May 28 03:01:14 2008
@@ -22,14 +22,14 @@
 		if (header == null)
 			yield break;
 
-		GMime.References gmime_reference = GMime.References.Decode (header);
+		GMime.References gmime_reference = GMime.References.Parse (header);
 
 		// keep gmime_reference for cleanup later
 		GMime.References iterator = gmime_reference;
 
-		while (! iterator.Equals (GMime.References.Zero)) {
+		while (iterator != null) {
 			yield return iterator;
-			iterator = iterator.Next ();
+			iterator = iterator.Next;
 		}
 
 		gmime_reference.Clear ();
@@ -42,7 +42,7 @@
 static extern IntPtr internet_address_list_get_address (IntPtr raw);
 
 [DllImport("gmime")]
-static extern IntPtr internet_address_to_string(IntPtr raw, bool encode);
+static extern IntPtr internet_address_to_string (IntPtr raw, bool encode);
 
 [DllImport("gmime")]
 static extern IntPtr internet_address_list_next (IntPtr raw);

Modified: trunk/mono/gmime-api.raw
==============================================================================
--- trunk/mono/gmime-api.raw	(original)
+++ trunk/mono/gmime-api.raw	Wed May 28 03:01:14 2008
@@ -1898,9 +1898,10 @@
       </method>
     </struct>
     <struct name="ContentDisposition" cname="GMimeContentDisposition" opaque="true">
+      <field name="ParentObject" cname="parent_object" type="gpointer" access="public" writeable="true" />
+      <field name="ParamHash" cname="param_hash" type="GHashTable*" access="public" writeable="true" />
       <field name="Disposition" cname="disposition" type="char*" access="public" writeable="true" />
       <field name="Params" cname="params" type="GMimeParam*" access="public" writeable="true" />
-      <field name="ParamHash" cname="param_hash" type="GHashTable*" access="public" writeable="true" />
       <method name="Destroy" cname="g_mime_content_disposition_destroy">
         <return-type type="void" />
       </method>
@@ -1913,6 +1914,9 @@
           <parameter type="const-char*" name="attribute" />
         </parameters>
       </method>
+      <method name="GetParams" cname="g_mime_content_disposition_get_params">
+        <return-type type="const-GMimeParam*" />
+      </method>
       <constructor cname="g_mime_content_disposition_new" />
       <constructor cname="g_mime_content_disposition_new_from_string">
         <parameters>
@@ -1940,9 +1944,10 @@
       </method>
     </struct>
     <struct name="ContentType" cname="GMimeContentType" opaque="true">
+      <field name="ParentObject" cname="parent_object" type="gpointer" access="public" writeable="true" />
+      <field name="ParamHash" cname="param_hash" type="GHashTable*" access="public" writeable="true" />
       <field name="Type" cname="type" type="char*" access="public" writeable="true" />
       <field name="Subtype" cname="subtype" type="char*" access="public" writeable="true" />
-      <field name="ParamHash" cname="param_hash" type="GHashTable*" access="public" writeable="true" />
       <field name="Params" cname="params" type="GMimeParam*" access="public" writeable="true" />
       <method name="Destroy" cname="g_mime_content_type_destroy">
         <return-type type="void" />
@@ -2119,8 +2124,11 @@
           <parameter type="const-char*" name="text" />
         </parameters>
       </method>
-      <method name="Next" cname="g_mime_references_next">
-        <return-type type="GMimeReferences*" />
+      <method name="GetMessageId" cname="g_mime_references_get_message_id">
+        <return-type type="const-char*" />
+      </method>
+      <method name="GetNext" cname="g_mime_references_get_next">
+        <return-type type="const-GMimeReferences*" />
       </method>
     </struct>
     <struct name="SignatureValidity" cname="GMimeSignatureValidity" opaque="true">



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