UNPKG

1.03 kBtext/x-cView Raw
1#include "pch.h"
2#include "Clipboard.h"
3#include <Unicode.h>
4
5namespace NativeClipboard {
6 void ClipboardModule::GetString(React::ReactPromise<std::string>&& promise) noexcept {
7 auto dataPackageView = datatransfer::Clipboard::GetContent();
8 if (dataPackageView.Contains(datatransfer::StandardDataFormats::Text())) {
9 dataPackageView.GetTextAsync().Completed([promise, dataPackageView](IAsyncOperation<winrt::hstring> info, AsyncStatus status) {
10 if (status == AsyncStatus::Completed) {
11 auto text = Microsoft::Common::Unicode::Utf16ToUtf8(info.GetResults());
12 promise.Resolve(text);
13 }
14 else {
15 promise.Reject("Failure");
16 }
17 });
18 return;
19 }
20 promise.Resolve("");
21 }
22
23 void ClipboardModule::SetString(std::string const& str) noexcept
24 {
25 datatransfer::DataPackage dataPackage{};
26 dataPackage.SetText(Microsoft::Common::Unicode::Utf8ToUtf16(str));
27 datatransfer::Clipboard::SetContent(dataPackage);
28 }
29}
\No newline at end of file