private int GitProgressHandler(IntPtr str, int len, IntPtr data) { ProgressHandler onProgress = Progress; bool shouldContinue = true; if (onProgress != null) { string message = LaxUtf8Marshaler.FromNative(str, len); shouldContinue = onProgress(message); } return Proxy.ConvertResultToCancelFlag(shouldContinue); }