public static Task <ulong> LenAsync(NativeHandle entriesHandle) { var tcs = new TaskCompletionSource <ulong>(); MDataEntriesLenCb callback = (_, len) => { // TODO: no result? tcs.SetResult(len); }; AppBindings.MDataEntriesLen(Session.AppPtr, entriesHandle, callback); return(tcs.Task); }
public static Task <ulong> MDataEntriesLenAsync(ulong entriesHandle) { var tcs = new TaskCompletionSource <ulong>(); MDataEntriesLenCb callback = null; callback = (self, len) => { // TODO: no result? tcs.SetResult(len); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); NativeBindings.MDataEntriesLen(Session.AppPtr, entriesHandle, Session.UserData, callback); return(tcs.Task); }
public static extern void MDataEntriesLenNative(IntPtr appPtr, ulong entriesHandle, IntPtr self, MDataEntriesLenCb callback);
public void MDataEntriesLen(IntPtr appPtr, ulong entriesHandle, IntPtr self, MDataEntriesLenCb callback) { MDataEntriesLenNative(appPtr, entriesHandle, self, callback); }
public void MDataEntriesLen(IntPtr appPtr, ulong entriesHandle, MDataEntriesLenCb callback) { MDataEntriesLenNative(appPtr, entriesHandle, callback.ToHandlePtr(), OnMDataEntriesLenCb); }