blob: 99772d8ca2cb723ba452a40f581c5b82d3355076 (
plain) (
tree)
|
|
using System;
using System.Runtime.InteropServices;
using System.Reflection;
using Camel;
[StructLayout (LayoutKind.Sequential)]
struct EMPopupTargetSelect {
int type;
int mask;
IntPtr parent;
IntPtr folder;
string folderURI;
IntPtr uids;
};
[StructLayout (LayoutKind.Sequential)]
struct EMPopupTargetFolder {
int type;
int mask;
IntPtr parent;
string folderURI;
};
[StructLayout (LayoutKind.Sequential)]
struct aCamelObject {
IntPtr klass;
uint magic;
IntPtr hooks;
uint bitfield1;
// ref_count:24
uint ref_count { // highly non-portable
get { return (bitfield1 & 0xffffff) >> 0; }
set { bitfield1 = (bitfield1 & 0xff000000) | ((value << 0) & 0xffffff); }
}
// flags:8
uint flags { // highly non-portable
get { return (bitfield1 & 0xff000000) >> 24; }
set { bitfield1 = (bitfield1 & 0xffffff) | ((value << 24) & 0xff000000); }
}
IntPtr next;
IntPtr prev;
}
namespace Evolution {
[StructLayout (LayoutKind.Sequential)]
public class PopupTarget {
public IntPtr popup;
public IntPtr widget;
public int type;
public int mask;
};
[StructLayout (LayoutKind.Sequential)]
public class MenuTarget {
public IntPtr menu;
public IntPtr widget;
public int type;
public int mask;
};
[StructLayout (LayoutKind.Sequential)]
public class EventTarget {
public IntPtr aevent;
public int type;
public int mask;
};
};
namespace Evolution.Mail {
/* ********************************************************************** */
[StructLayout (LayoutKind.Sequential)]
public class PopupTargetSelect : PopupTarget {
public IntPtr _folder;
public string uri;
public IntPtr _uids;
public static PopupTargetSelect get(IntPtr o) {
return (PopupTargetSelect)Marshal.PtrToStructure(o, typeof(PopupTargetSelect));
}
public Camel.Folder folder {
get { return (Camel.Folder)Camel.Object.fromCamel(_folder); }
}
public string [] uids {
get { return Camel.Util.getUIDArray(_uids); }
}
}
[StructLayout (LayoutKind.Sequential)]
public class PopupTargetURI : Evolution.PopupTarget {
public string uri;
public static PopupTargetURI get(IntPtr o) {
return (PopupTargetURI)Marshal.PtrToStructure(o, typeof(PopupTargetURI));
}
}
[StructLayout (LayoutKind.Sequential)]
public class PopupTargetPart : PopupTarget {
public string mimeType;
public IntPtr _part;
public static PopupTargetPart get(IntPtr o) {
return (PopupTargetPart)Marshal.PtrToStructure(o, typeof(PopupTargetPart));
}
public Camel.Object part {
get { return (Camel.Object)Camel.Object.fromCamel(_part); }
}
}
[StructLayout (LayoutKind.Sequential)]
public struct PopupTargetFolder {
public Evolution.PopupTarget target;
public string uri;
public static PopupTargetFolder get(IntPtr o) {
return (PopupTargetFolder)Marshal.PtrToStructure(o, typeof(PopupTargetFolder));
}
}
/* ********************************************************************** */
[StructLayout (LayoutKind.Sequential)]
public class MenuTargetSelect : MenuTarget {
public IntPtr _folder;
public string uri;
public IntPtr _uids;
public static MenuTargetSelect get(IntPtr o) {
return (MenuTargetSelect)Marshal.PtrToStructure(o, typeof(MenuTargetSelect));
}
public Camel.Folder folder {
get { return (Camel.Folder)Camel.Object.fromCamel(_folder); }
}
public string [] uids {
get { return Camel.Util.getUIDArray(_uids); }
}
}
/* ********************************************************************** */
[StructLayout (LayoutKind.Sequential)]
public class EventTargetFolder : EventTarget {
public string uri;
public static EventTargetFolder get(IntPtr o) {
return (EventTargetFolder)Marshal.PtrToStructure(o, typeof(EventTargetFolder));
}
}
[StructLayout (LayoutKind.Sequential)]
public class EventTargetMessage : EventTarget {
public IntPtr _folder;
public string uid;
public IntPtr _message;
public static EventTargetMessage get(IntPtr o) {
return (EventTargetMessage)Marshal.PtrToStructure(o, typeof(EventTargetMessage));
}
public Camel.Folder folder {
get { return (Camel.Folder)Camel.Object.fromCamel(_folder); }
}
public Camel.MimeMessage message {
get { return (Camel.MimeMessage)Camel.Object.fromCamel(_message); }
}
}
};
|