private IntPtr SvnClientGetCommitLogWrapper(out IntPtr log_message, out IntPtr tmp_file, IntPtr commit_items, IntPtr baton, IntPtr pool) { log_message = IntPtr.Zero; tmp_file = IntPtr.Zero; SvnError err = SvnError.NoError; SvnClient.GetCommitLog func = mFunc as SvnClient.GetCommitLog; try { AprString logMessage; SvnPath tmpFile; Debug.Write(String.Format("[Callback:{0}]SvnClientGetCommitLog({1},{2:X},{3})...", func.Method.Name, new AprArray(commit_items), baton.ToInt32(), new AprPool(pool))); err = func(out logMessage, out tmpFile, new AprArray(commit_items, typeof(SvnClientCommitItem)), baton, new AprPool(pool)); Debug.WriteLine(String.Format("Done({0},{1})", logMessage, tmpFile)); log_message = logMessage; tmp_file = tmpFile; } catch (SvnException e) { err = SvnError.Create(e.AprErr, SvnError.NoError, e.Message); } catch (Exception e) { err = SvnError.Create(215000, SvnError.NoError, e.Message); } return(err); }
// svn_client_get_commit_log_t Wrapper public SvnDelegate(SvnClient.GetCommitLog func) { mFunc = func; mWrapperFunc = new Svn.svn_client_get_commit_log_t(SvnClientGetCommitLogWrapper); }