コード例 #1
0
ファイル: Crypto.cs プロジェクト: arlm/safe_mobile
        public static Task <ulong> EncSecretKeyNewAsync(List <byte> asymSecKeyBytes)
        {
            var tcs                    = new TaskCompletionSource <ulong>();
            var asymSecKeyPtr          = asymSecKeyBytes.ToIntPtr();
            EncSecretKeyNewCb callback = null;

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

                tcs.SetResult(encSecKeyHandle);
                CallbackManager.Unregister(callback);
            };

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

            return(tcs.Task);
        }
コード例 #2
0
 public static extern void EncSecretKeyNewNative(IntPtr appPtr, IntPtr asymSecretKey, IntPtr self, EncSecretKeyNewCb callback);
コード例 #3
0
 public void EncSecretKeyNew(IntPtr appPtr, IntPtr asymSecretKey, IntPtr self, EncSecretKeyNewCb callback)
 {
     EncSecretKeyNewNative(appPtr, asymSecretKey, self, callback);
 }