/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace IPC { struct MessageBuffer { Vector data; Vector fds; }; class Message { public: virtual ~Message(); virtual u32 endpoint_magic() const = 0; virtual int message_id() const = 0; virtual const char* message_name() const = 0; virtual MessageBuffer encode() const = 0; protected: Message(); }; }