public static extern void AppRegisteredNative( string appId, IntPtr ffiAuthGrantedPtr, IntPtr networkUserData, IntPtr userData, NetObsCallback netObsCb, AppRegisteredCallback appRegCb);
public static Task <bool> AppRegisteredAsync(string appId, AuthGranted authGranted) { return(Task.Run( () => { var tcs = new TaskCompletionSource <bool>(); var authGrantedFfi = new AuthGrantedFfi { AccessContainer = authGranted.AccessContainer, AppKeys = authGranted.AppKeys, BootStrapConfigPtr = authGranted.BootStrapConfig.ToIntPtr(), BootStrapConfigLen = (IntPtr)authGranted.BootStrapConfig.Count }; var authGrantedFfiPtr = CommonUtils.Helpers.StructToPtr(authGrantedFfi); AppRegisteredCallback callback = null; callback = (ptr, result, appPtr) => { if (result.ErrorCode != 0) { tcs.SetException(result.ToException()); CallbackManager.Unregister(callback); return; } AppPtr = appPtr; tcs.SetResult(true); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); NativeBindings.AppRegistered(appId, authGrantedFfiPtr, IntPtr.Zero, UserData, NetObs, callback); Marshal.FreeHGlobal(authGrantedFfi.BootStrapConfigPtr); Marshal.FreeHGlobal(authGrantedFfiPtr); return tcs.Task; })); }
public void AppRegistered( string appId, IntPtr ffiAuthGrantedPtr, IntPtr networkUserData, IntPtr userData, NetObsCallback netObsCb, AppRegisteredCallback appRegCb) { AppRegisteredNative(appId, ffiAuthGrantedPtr, networkUserData, userData, netObsCb, appRegCb); }