aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mono/Camel.cs
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2005-05-17 19:01:47 +0800
committerMichael Zucci <zucchi@src.gnome.org>2005-05-17 19:01:47 +0800
commitd8b428ec123291244f1366dc7a2309b845367d45 (patch)
tree818f7e219258652b25c0a648ada034955da2de06 /plugins/mono/Camel.cs
parent9700e3678e1a683c99291cd244f6370308bd5ff6 (diff)
downloadgsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar.gz
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar.bz2
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar.lz
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar.xz
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.tar.zst
gsoc2013-evolution-d8b428ec123291244f1366dc7a2309b845367d45.zip
added initial e_error wrapper.
2005-05-17 Not Zed <NotZed@Ximian.com> * Evolution.cs: added initial e_error wrapper. * Camel.cs: added multipart & contenttype wrappers. svn path=/trunk/; revision=29376
Diffstat (limited to 'plugins/mono/Camel.cs')
-rw-r--r--plugins/mono/Camel.cs57
1 files changed, 56 insertions, 1 deletions
diff --git a/plugins/mono/Camel.cs b/plugins/mono/Camel.cs
index d14158edfc..97aa2f3fe3 100644
--- a/plugins/mono/Camel.cs
+++ b/plugins/mono/Camel.cs
@@ -155,7 +155,8 @@ namespace Camel {
types.Add("CamelMedium", typeof(Camel.Medium));
types.Add("CamelMimeMessage", typeof(Camel.MimeMessage));
types.Add("CamelMimePart", typeof(Camel.MimePart));
- // camelmultipart?
+ types.Add("CamelMultipart", typeof(Camel.Multipart));
+
types.Add("CamelStore", typeof(Camel.Store));
types.Add("CamelTransport", typeof(Camel.Transport));
types.Add("CamelAddress", typeof(Camel.Address));
@@ -510,6 +511,7 @@ namespace Camel {
[DllImport("camel-1.2")] static extern int camel_data_wrapper_write_to_stream(IntPtr o, IntPtr s);
[DllImport("camel-1.2")] static extern int camel_data_wrapper_decode_to_stream(IntPtr o, IntPtr s);
[DllImport("camel-1.2")] static extern int camel_data_wrapper_construct_from_stream(IntPtr o, IntPtr s);
+ [DllImport("camel-1.2")] static extern IntPtr camel_data_wrapper_get_mime_type_field(IntPtr o);
public void writeToStream(Camel.Stream stream) {
int res;
@@ -534,6 +536,8 @@ namespace Camel {
if (res == -1)
throw new Exception(Exception.Type.SYSTEM, "IO Error");
}
+
+ public ContentType mimeType { get { return new ContentType(camel_data_wrapper_get_mime_type_field(cobject)); } }
}
public class Medium : Camel.DataWrapper {
@@ -557,6 +561,40 @@ namespace Camel {
}
}
+ public class Multipart : Camel.DataWrapper {
+ [DllImport("camel-1.2")] static extern IntPtr camel_multipart_new();
+ [DllImport("camel-1.2")] static extern void camel_multipart_add_part(IntPtr o, IntPtr p);
+ [DllImport("camel-1.2")] static extern void camel_multipart_remove_part(IntPtr o, IntPtr p);
+ [DllImport("camel-1.2")] static extern IntPtr camel_multipart_get_part(IntPtr o, int index);
+ [DllImport("camel-1.2")] static extern int camel_multipart_get_number(IntPtr o);
+
+ public Multipart(IntPtr raw) : base(raw) { }
+
+ public void addPart(MimePart part) {
+ camel_multipart_add_part(cobject, part.cobject);
+ }
+
+ public void removePart(MimePart part) {
+ camel_multipart_add_part(cobject, part.cobject);
+ }
+
+ public MimePart getPart(int index) {
+ IntPtr o;
+
+ o = camel_multipart_get_part(cobject, index);
+ if (o != (IntPtr)0)
+ return (MimePart)Object.fromCamel(o);
+ else
+ return null;
+ }
+
+ public int getNumber() {
+ return camel_multipart_get_number(cobject);
+ }
+
+ // FIXME: finish
+ }
+
public class MimePart : Camel.Medium {
[DllImport("camel-1.2")] static extern IntPtr camel_mime_part_new();
[DllImport("camel-1.2")] static extern IntPtr camel_mime_part_get_description(IntPtr o);
@@ -884,6 +922,23 @@ namespace Camel {
}
}
+ public class ContentType {
+ public IntPtr cobject;
+
+ public ContentType(IntPtr raw) {
+ cobject = raw;
+ }
+
+ [DllImport("camel-1.2")] static extern bool camel_content_type_is(IntPtr raw, string type, string subtype);
+
+ ~ContentType() {
+ }
+
+ public bool isType(string type, string subtype) {
+ return camel_content_type_is(cobject, type, subtype);
+ }
+ }
+
public class MessageInfo {
public IntPtr cobject;
private Tags user_tags;