using System;
using System.Runtime.InteropServices;
using System.Reflection;
using Camel;
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 {
public class Error {
// can we marshal varags from c#?
[DllImport("eutil")] static extern int e_error_run(IntPtr parent, string tag, IntPtr end);
[DllImport("eutil")] static extern int e_error_run(IntPtr parent, string tag, string arg0, IntPtr end);
[DllImport("eutil")] static extern int e_error_run(IntPtr parent, string tag, string arg0, string arg1, IntPtr end);
[DllImport("eutil")] static extern int e_error_run(IntPtr parent, string tag, string arg0, string arg1, string arg2, IntPtr end);
public static int run(IntPtr parent, string tag) {
return e_error_run(parent, tag, (IntPtr)0);
}
public static int run(IntPtr parent, string tag, string arg0) {
return e_error_run(parent, tag, arg0, (IntPtr)0);
}
public static int run(IntPtr parent, string tag, string arg0, string arg1) {
return e_error_run(parent, tag, arg0, arg1, (IntPtr)0);
}
public static int run(IntPtr parent, string tag, string arg0, string arg1, string arg2) {
return e_error_run(parent, tag, arg0, arg1, arg2, (IntPtr)0);
}
}
}
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); }
}
}
};