/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace IPC { class Attachment; class AutoCloseFileDescriptor; class Decoder; class Encoder; class Message; class MessageBuffer; class File; class Stub; class TransportHandle; #if defined(AK_OS_MACOS) class MachBootstrapListener; class TransportMachPort; using Transport = TransportMachPort; #elif !defined(AK_OS_WINDOWS) class TransportSocket; using Transport = TransportSocket; #else class TransportSocketWindows; using Transport = TransportSocketWindows; #endif template ErrorOr encode(Encoder&, T const&); template ErrorOr decode(Decoder&); using MessageDataType = Vector; }