2 static extern IntPtr g_mime_header_list_set (IntPtr raw, IntPtr name, IntPtr value);
5 static extern IntPtr g_mime_header_list_get (IntPtr raw, IntPtr name);
7 public string this[string name] {
10 throw new ArgumentNullException ("name");
12 IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
13 IntPtr raw_ret = g_mime_header_list_get (Handle, native_name);
14 string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
15 GLib.Marshaller.Free (native_name);
22 throw new ArgumentNullException ("name");
24 IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
25 IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
26 g_mime_header_list_set (Handle, native_name, native_value);
27 GLib.Marshaller.Free (native_value);
28 GLib.Marshaller.Free (native_name);
33 static extern bool g_mime_header_list_get_iter (IntPtr raw, IntPtr iter);
35 internal HeaderIter GetIter ()
37 HeaderIter iter = new HeaderIter ();
39 g_mime_header_list_get_iter (Handle, iter.Handle);
44 public IEnumerator GetEnumerator ()
46 return new HeaderEnumerator (this);
49 public StreamWrapper Stream {
51 GMime.StreamMem mem_stream = new GMime.StreamMem ();
52 this.WriteToStream (mem_stream);
54 return new StreamWrapper (mem_stream);