blob: 02b23525e2437873f31bbcf7e07a240e9c0dd9db [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// no-include-guard-because-multiply-included
#define IPCZ_MSG_BEGIN_INTERFACE(name)
#define IPCZ_MSG_END_INTERFACE()
#define IPCZ_MSG_ID(x)
#define IPCZ_MSG_VERSION(x)
#define IPCZ_MSG_BEGIN(name, id_decl, version_decl) \
name::name() = default; \
name::name(decltype(kIncoming)) : MessageWithParams(kIncoming) {} \
name::~name() = default; \
bool name::Deserialize(const DriverTransport::RawMessage& message, \
const DriverTransport& transport) { \
return DeserializeFromTransport(sizeof(ParamsType), kVersion, \
absl::MakeSpan(kMetadata), message, \
transport); \
} \
bool name::DeserializeRelayed(absl::Span<const uint8_t> data, \
absl::Span<DriverObject> objects) { \
return DeserializeFromRelay(sizeof(ParamsType), kVersion, \
absl::MakeSpan(kMetadata), data, objects); \
} \
constexpr internal::ParamMetadata name::kMetadata[];
#define IPCZ_MSG_END()
#define IPCZ_MSG_PARAM(type, name)
#define IPCZ_MSG_PARAM_ARRAY(type, name)
#define IPCZ_MSG_PARAM_DRIVER_OBJECT(name)
#define IPCZ_MSG_PARAM_DRIVER_OBJECT_ARRAY(name)