public static KUrl.List FromMimeData(QMimeData mimeData, Dictionary <string, string> metaData) { KUrl.List list = new KUrl.List(); SmokeMarshallers.FromIntPtr addfn = delegate(IntPtr ptr) { GCHandle handle = (GCHandle)ptr; list.Add((KUrl)handle.Target); handle.Free(); }; IDictionaryEnumerator e = null; if (metaData != null) { e = metaData.GetEnumerator(); } GetNextDictionaryEntryFn dictfn = delegate(ref string key, ref string value) { if (metaData == null) { return(false); } if (!e.MoveNext()) { return(false); } key = (string)e.Key; value = (string)e.Value; return(true); }; KUrlListFromMimeData(addfn, (IntPtr)GCHandle.Alloc(mimeData), dictfn); return(list); }
public static List <string> MimeDataTypes() { List <string> ret = new List <string>(); SmokeMarshallers.FromIntPtr fn = delegate(IntPtr ptr) { GCHandle handle = (GCHandle)ptr; ret.Add((string)handle.Target); handle.Free(); }; KUrlListMimeDataTypes(fn); return(ret); }
static extern void KUrlListFromMimeData(SmokeMarshallers.FromIntPtr addfn, IntPtr mimeData, GetNextDictionaryEntryFn getNextDictionaryEntry);
static extern void KUrlListMimeDataTypes(SmokeMarshallers.FromIntPtr fn);