private IntPtr SvnStreamReadWrapper(IntPtr baton, IntPtr buffer, ref uint len) { SvnError err = SvnError.NoError; SvnStream.ReadFunc func = mFunc as SvnStream.ReadFunc; try { Debug.Write(String.Format("[Callback:{0}]SvnStreamReadFunc({1:X},{2:X},{3})...", func.Method.Name, baton.ToInt32(), buffer.ToInt32(), len)); int slen = unchecked ((int)len); err = func(baton, buffer, ref slen); len = unchecked ((uint)slen); Debug.WriteLine(String.Format("Done({0})", len)); } 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_read_fn_t Wrapper public SvnDelegate(SvnStream.ReadFunc func) { mFunc = func; mWrapperFunc = new Svn.svn_read_fn_t(SvnStreamReadWrapper); }