Пример #1
0
        private static void CryptoAuthDecryptCompletedCallbackMethod(int command_handle, int err, string their_vk, IntPtr msg_data, int msg_len)
        {
            var taskCompletionSource = PendingCommands.Remove <AuthDecryptResult>(command_handle);

            if (!CallbackHelper.CheckCallback(taskCompletionSource, err))
            {
                return;
            }

            var messageBytes = new byte[msg_len];

            Marshal.Copy(msg_data, messageBytes, 0, msg_len);

            var result = new AuthDecryptResult(their_vk, messageBytes);

            taskCompletionSource.SetResult(result);
        }
Пример #2
0
        private static void PackMessageCompletedCallbackMethod(int command_handle, int err, IntPtr msg_data, int msg_len)
        {
            var taskCompletionSource = PendingCommands.Remove <byte[]>(command_handle);

            if (!CallbackHelper.CheckCallback(taskCompletionSource, err))
            {
                return;
            }


            Logger.Info($"  ==> **          got {msg_len} bytes back from indy_pack_message");

            var decryptedMsgBytes = new byte[msg_len];

            Marshal.Copy(msg_data, decryptedMsgBytes, 0, msg_len);

            taskCompletionSource.SetResult(decryptedMsgBytes);
        }