2020-03-29 18:57:53 +02:00
|
|
|
/*
|
2024-10-04 13:19:50 +02:00
|
|
|
* Copyright (c) 2020, Andreas Kling <andreas@ladybird.org>
|
2020-03-29 18:57:53 +02:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-03-29 18:57:53 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2023-01-01 23:37:35 -05:00
|
|
|
#include <AK/Error.h>
|
|
|
|
|
|
2020-03-29 18:57:53 +02:00
|
|
|
namespace IPC {
|
|
|
|
|
|
2025-07-17 09:47:15 -04:00
|
|
|
class AutoCloseFileDescriptor;
|
2020-03-29 18:57:53 +02:00
|
|
|
class Decoder;
|
|
|
|
|
class Encoder;
|
|
|
|
|
class Message;
|
2024-01-02 20:27:29 -05:00
|
|
|
class MessageBuffer;
|
2020-11-21 21:59:12 +03:00
|
|
|
class File;
|
2021-10-23 21:40:07 +02:00
|
|
|
class Stub;
|
2020-03-29 18:57:53 +02:00
|
|
|
|
2022-11-15 10:01:23 -05:00
|
|
|
template<typename T>
|
2023-01-01 23:37:35 -05:00
|
|
|
ErrorOr<void> encode(Encoder&, T const&);
|
2022-11-15 10:01:23 -05:00
|
|
|
|
|
|
|
|
template<typename T>
|
2022-12-22 20:40:33 -05:00
|
|
|
ErrorOr<T> decode(Decoder&);
|
2022-11-15 10:01:23 -05:00
|
|
|
|
2025-07-17 09:47:15 -04:00
|
|
|
using MessageDataType = Vector<u8, 1024>;
|
|
|
|
|
using MessageFileType = Vector<NonnullRefPtr<AutoCloseFileDescriptor>, 1>;
|
|
|
|
|
|
2020-03-29 18:57:53 +02:00
|
|
|
}
|