Exemplo n.º 1
0
        public IActionResult GetClipboardData()
        {
            IDataObject dataObject = null;

            _synchronizationContext.Current.Send(state => dataObject = Clipboard.GetDataObject(), null);

            return(Ok(ClipboardDataExtensions.FromDataObject(dataObject)));
        }
Exemplo n.º 2
0
        private void ClipboardWatcherOnClipboardUpdated(object sender, IDataObject e)
        {
            var dto = ClipboardDataExtensions.FromDataObject(e);

            if (dto.Equals(_currentClipboardData))
            {
                return;
            }

            _currentClipboardData = dto;
            _channel.Interface.SetData(dto);
        }
Exemplo n.º 3
0
        public async Task Enable()
        {
            var currentClipboardData = Clipboard.GetDataObject();

            _channel = await ClipboardManagerResource.GetClipboardNotificationChannel(_restClient);

            _channel.Interface.ClipboardUpdated += InterfaceOnClipboardUpdated;
            await _channel.Interface.SetData(ClipboardDataExtensions.FromDataObject(currentClipboardData));

            await _channel.Interface.Listen();

            _clipboardWatcher.ClipboardUpdated += ClipboardWatcherOnClipboardUpdated;
        }
Exemplo n.º 4
0
        private void ClipboardWatcherOnClipboardUpdated(object sender, IDataObject e)
        {
            var dto = ClipboardDataExtensions.FromDataObject(e);

            if (dto.Equals(_currentClipboardData))
            {
                return;
            }

            _currentClipboardData = dto;
            var handler = ClipboardUpdated;

            handler?.Invoke(this, dto);
        }