public static KMimeType FindByPath(string path, long mode, bool fast_mode, ref int accuracy)
{
StackItem[] stack = new StackItem[5];
#if DEBUG
stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(path);
#else
stack[1].s_class = (IntPtr) GCHandle.Alloc(path);
#endif
stack[2].s_long = mode;
stack[3].s_bool = fast_mode;
stack[4].s_int = accuracy;
staticInterceptor.Invoke("findByPath$$$$", "findByPath(const QString&, mode_t, bool, int*)", stack);
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[1].s_class);
#else
((GCHandle) stack[1].s_class).Free();
#endif
accuracy = stack[4].s_int;
object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
((GCHandle) stack[0].s_class).Free();
#endif
return (KMimeType) returnValue;
}