/* * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. */ #pragma once #include #include #include #include "context.hpp" namespace turbine { ox::String getClipboardText(class Context &ctx) noexcept; void setClipboardText(class Context &ctx, ox::CRStringView text) noexcept; template void setClipboardObject([[maybe_unused]] class Context &ctx, [[maybe_unused]] ox::UniquePtr obj) noexcept { ctx.clipboard = std::move(obj); } template ox::Result getClipboardObject([[maybe_unused]] class Context &ctx) noexcept { if (ctx.clipboard && ctx.clipboard->typeMatch(T::TypeName, T::TypeVersion)) { return static_cast(ctx.clipboard.get()); } return OxError(1); } }