/* * Copyright (c) 2026, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace IPC { class ReceivedMessageBytes { public: ReceivedMessageBytes(); ReceivedMessageBytes(ReceivedMessageBytes const&); ReceivedMessageBytes(ReceivedMessageBytes&&); ~ReceivedMessageBytes(); ReceivedMessageBytes& operator=(ReceivedMessageBytes const&); ReceivedMessageBytes& operator=(ReceivedMessageBytes&&); static ReceivedMessageBytes from_vector(Vector); #if defined(AK_OS_MACOS) static ReceivedMessageBytes adopt_vm_region(void*, size_t); #endif ReadonlyBytes bytes() const; bool is_empty() const { return bytes().is_empty(); } private: class Impl; explicit ReceivedMessageBytes(NonnullRefPtr); RefPtr m_impl; }; }