Exemple #1
0
        public static Task <(NativeHandle, NativeHandle)> EncGenerateKeyPairAsync()
        {
            var tcs = new TaskCompletionSource <(NativeHandle, NativeHandle)>();
            EncGenerateKeyPairCb callback = (_, result, encPubKeyH, encSecKeyH) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }

                tcs.SetResult((new NativeHandle(encPubKeyH, EncPubKeyFreeAsync), new NativeHandle(encSecKeyH, EncSecretKeyFreeAsync)));
            };
Exemple #2
0
        public static Task <Tuple <ulong, ulong> > EncGenerateKeyPairAsync()
        {
            var tcs = new TaskCompletionSource <Tuple <ulong, ulong> >();
            EncGenerateKeyPairCb callback = null;

            callback = (pVoid, result, encPubKeyH, encSecKeyH) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    CallbackManager.Unregister(callback);
                    return;
                }

                tcs.SetResult(Tuple.Create(encPubKeyH, encSecKeyH));
                CallbackManager.Unregister(callback);
            };

            CallbackManager.Register(callback);
            NativeBindings.EncGenerateKeyPair(Session.AppPtr, Session.UserData, callback);

            return(tcs.Task);
        }
Exemple #3
0
 public static extern void EncGenerateKeyPairNative(IntPtr appPtr, IntPtr self, EncGenerateKeyPairCb callback);
Exemple #4
0
 public void EncGenerateKeyPair(IntPtr appPtr, IntPtr self, EncGenerateKeyPairCb callback)
 {
     EncGenerateKeyPairNative(appPtr, self, callback);
 }
 public void EncGenerateKeyPair(IntPtr appPtr, EncGenerateKeyPairCb callback)
 {
     EncGenerateKeyPairNative(appPtr, callback.ToHandlePtr(), OnEncGenerateKeyPairCb);
 }