blob: 388f957cf216c8b7ea774817df051e7de896bccc [file] [log] [blame]
// services/audio/public/mojom/system_info.mojom.h is auto generated by mojom_bindings_generator.py, do not edit
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_AUDIO_PUBLIC_MOJOM_SYSTEM_INFO_MOJOM_H_
#define SERVICES_AUDIO_PUBLIC_MOJOM_SYSTEM_INFO_MOJOM_H_
#include <stdint.h>
#include <limits>
#include <optional>
#include <type_traits>
#include <utility>
#include "base/types/cxx23_to_underlying.h"
#include "mojo/public/cpp/bindings/clone_traits.h"
#include "mojo/public/cpp/bindings/equals_traits.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/cpp/bindings/union_traits.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "services/audio/public/mojom/system_info.mojom-features.h" // IWYU pragma: export
#include "services/audio/public/mojom/system_info.mojom-shared.h" // IWYU pragma: export
#include "services/audio/public/mojom/system_info.mojom-forward.h" // IWYU pragma: export
#include "media/mojo/mojom/audio_parameters.mojom.h"
#include "services/audio/public/mojom/audio_device_description.mojom.h"
#include "sandbox/policy/mojom/context.mojom-forward.h"
#include <string>
#include <vector>
#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/lib/message_size_estimator.h"
#include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h"
#ifdef KYTHE_IS_RUNNING
#pragma kythe_inline_metadata "Metadata comment"
#endif
namespace audio::mojom {
class SystemInfoProxy;
template <typename ImplRefTraits>
class SystemInfoStub;
class SystemInfoRequestValidator;
class SystemInfoResponseValidator;
// @generated_from: audio.mojom.SystemInfo
class SystemInfo
: public SystemInfoInterfaceBase {
public:
using IPCStableHashFunction = uint32_t(*)();
static const char Name_[];
static IPCStableHashFunction MessageToMethodInfo_(mojo::Message& message);
static const char* MessageToMethodName_(mojo::Message& message);
static constexpr uint32_t Version_ = 0;
static constexpr bool PassesAssociatedKinds_ = false;
static constexpr bool HasUninterruptableMethods_ = false;
using Base_ = SystemInfoInterfaceBase;
using Proxy_ = SystemInfoProxy;
template <typename ImplRefTraits>
using Stub_ = SystemInfoStub<ImplRefTraits>;
using RequestValidator_ = SystemInfoRequestValidator;
using ResponseValidator_ = SystemInfoResponseValidator;
enum MethodMinVersions : uint32_t {
kGetInputStreamParametersMinVersion = 0,
kGetOutputStreamParametersMinVersion = 0,
kHasInputDevicesMinVersion = 0,
kHasOutputDevicesMinVersion = 0,
kGetInputDeviceDescriptionsMinVersion = 0,
kGetOutputDeviceDescriptionsMinVersion = 0,
kGetAssociatedOutputDeviceIDMinVersion = 0,
kGetInputDeviceInfoMinVersion = 0,
};
// crbug.com/1340245 - this causes binary size bloat on Fuchsia, and we're OK
// with not having this data in traces there.
#if !BUILDFLAG(IS_FUCHSIA)
struct GetInputStreamParameters_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct GetOutputStreamParameters_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct HasInputDevices_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct HasOutputDevices_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct GetInputDeviceDescriptions_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct GetOutputDeviceDescriptions_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct GetAssociatedOutputDeviceID_Sym {
NOINLINE static uint32_t IPCStableHash();
};
struct GetInputDeviceInfo_Sym {
NOINLINE static uint32_t IPCStableHash();
};
#endif // !BUILDFLAG(IS_FUCHSIA)
virtual ~SystemInfo() = default;
using GetInputStreamParametersCallback = base::OnceCallback<void(const std::optional<::media::AudioParameters>&)>;
// @generated_from: audio.mojom.SystemInfo.GetInputStreamParameters
virtual void GetInputStreamParameters(const std::string& device_id, GetInputStreamParametersCallback callback) = 0;
using GetOutputStreamParametersCallback = base::OnceCallback<void(const std::optional<::media::AudioParameters>&)>;
// @generated_from: audio.mojom.SystemInfo.GetOutputStreamParameters
virtual void GetOutputStreamParameters(const std::string& device_id, GetOutputStreamParametersCallback callback) = 0;
using HasInputDevicesCallback = base::OnceCallback<void(bool)>;
// @generated_from: audio.mojom.SystemInfo.HasInputDevices
virtual void HasInputDevices(HasInputDevicesCallback callback) = 0;
using HasOutputDevicesCallback = base::OnceCallback<void(bool)>;
// @generated_from: audio.mojom.SystemInfo.HasOutputDevices
virtual void HasOutputDevices(HasOutputDevicesCallback callback) = 0;
using GetInputDeviceDescriptionsCallback = base::OnceCallback<void(std::vector<::media::AudioDeviceDescription>)>;
// @generated_from: audio.mojom.SystemInfo.GetInputDeviceDescriptions
virtual void GetInputDeviceDescriptions(GetInputDeviceDescriptionsCallback callback) = 0;
using GetOutputDeviceDescriptionsCallback = base::OnceCallback<void(std::vector<::media::AudioDeviceDescription>)>;
// @generated_from: audio.mojom.SystemInfo.GetOutputDeviceDescriptions
virtual void GetOutputDeviceDescriptions(GetOutputDeviceDescriptionsCallback callback) = 0;
using GetAssociatedOutputDeviceIDCallback = base::OnceCallback<void(const std::optional<std::string>&)>;
// @generated_from: audio.mojom.SystemInfo.GetAssociatedOutputDeviceID
virtual void GetAssociatedOutputDeviceID(const std::string& input_device_id, GetAssociatedOutputDeviceIDCallback callback) = 0;
using GetInputDeviceInfoCallback = base::OnceCallback<void(const std::optional<::media::AudioParameters>&, const std::optional<std::string>&)>;
// @generated_from: audio.mojom.SystemInfo.GetInputDeviceInfo
virtual void GetInputDeviceInfo(const std::string& input_device_id, GetInputDeviceInfoCallback callback) = 0;
};
// @generated_from: audio.mojom.SystemInfo
class SystemInfoProxy
: public SystemInfo {
public:
using InterfaceType = SystemInfo;
explicit SystemInfoProxy(mojo::MessageReceiverWithResponder* receiver);
// @generated_from: audio.mojom.SystemInfo.GetInputStreamParameters
void GetInputStreamParameters(const std::string& device_id, GetInputStreamParametersCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.GetOutputStreamParameters
void GetOutputStreamParameters(const std::string& device_id, GetOutputStreamParametersCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.HasInputDevices
void HasInputDevices(HasInputDevicesCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.HasOutputDevices
void HasOutputDevices(HasOutputDevicesCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.GetInputDeviceDescriptions
void GetInputDeviceDescriptions(GetInputDeviceDescriptionsCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.GetOutputDeviceDescriptions
void GetOutputDeviceDescriptions(GetOutputDeviceDescriptionsCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.GetAssociatedOutputDeviceID
void GetAssociatedOutputDeviceID(const std::string& input_device_id, GetAssociatedOutputDeviceIDCallback callback) final;
// @generated_from: audio.mojom.SystemInfo.GetInputDeviceInfo
void GetInputDeviceInfo(const std::string& input_device_id, GetInputDeviceInfoCallback callback) final;
private:
mojo::MessageReceiverWithResponder* receiver_;
};
class SystemInfoStubDispatch {
public:
static bool Accept(SystemInfo* impl, mojo::Message* message);
static bool AcceptWithResponder(
SystemInfo* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder);
};
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<SystemInfo>>
class SystemInfoStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
SystemInfoStub() = default;
~SystemInfoStub() override = default;
void set_sink(ImplPointerType sink) { sink_ = std::move(sink); }
ImplPointerType& sink() { return sink_; }
bool Accept(mojo::Message* message) override {
if (ImplRefTraits::IsNull(sink_))
return false;
return SystemInfoStubDispatch::Accept(
ImplRefTraits::GetRawPointer(&sink_), message);
}
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {
if (ImplRefTraits::IsNull(sink_))
return false;
return SystemInfoStubDispatch::AcceptWithResponder(
ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder));
}
private:
ImplPointerType sink_;
};
class SystemInfoRequestValidator : public mojo::MessageReceiver {
public:
bool Accept(mojo::Message* message) override;
};
class SystemInfoResponseValidator : public mojo::MessageReceiver {
public:
bool Accept(mojo::Message* message) override;
};
} // audio::mojom
namespace mojo {
} // namespace mojo
#endif // SERVICES_AUDIO_PUBLIC_MOJOM_SYSTEM_INFO_MOJOM_H_
/* Metadata comment
eyJ0eXBlIjogImt5dGhlMCIsICJtZXRhIjogW3sidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
ZWdpbiI6IDE5MDgsICJlbmQiOiAxOTE4LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZvIn0sICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
ImJlZ2luIjogNDE0OSwgImVuZCI6IDQxNzMsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20i
LCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1
bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImF1ZGlvLm1vam9tLlN5c3RlbUluZm8uR2V0SW5w
dXRTdHJlYW1QYXJhbWV0ZXJzIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwg
eyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNDQ1OSwgImVuZCI6IDQ0ODQsICJ2
bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
dXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImF1
ZGlvLm1vam9tLlN5c3RlbUluZm8uR2V0T3V0cHV0U3RyZWFtUGFyYW1ldGVycyJ9LCAiZWRnZSI6
ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
ZWdpbiI6IDQ3MDksICJlbmQiOiA0NzI0LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZvLkhhc0lucHV0
RGV2aWNlcyJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJh
bmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDQ5MTEsICJlbmQiOiA0OTI3LCAidm5hbWUiOiB7Imxh
bmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nv
ZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5T
eXN0ZW1JbmZvLkhhc091dHB1dERldmljZXMifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
YXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA1MTc1LCAiZW5kIjog
NTIwMSwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1
cmUiOiAiYXVkaW8ubW9qb20uU3lzdGVtSW5mby5HZXRJbnB1dERldmljZURlc2NyaXB0aW9ucyJ9
LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVm
aW5lcyIsICJiZWdpbiI6IDU0NjEsICJlbmQiOiA1NDg4LCAidm5hbWUiOiB7Imxhbmd1YWdlIjog
Im1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gv
Y2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZv
LkdldE91dHB1dERldmljZURlc2NyaXB0aW9ucyJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2Vu
ZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDU3MzgsICJlbmQi
OiA1NzY1LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25h
dHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZvLkdldEFzc29jaWF0ZWRPdXRwdXREZXZpY2VJ
RCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3Jf
ZGVmaW5lcyIsICJiZWdpbiI6IDYwODEsICJlbmQiOiA2MDk5LCAidm5hbWUiOiB7Imxhbmd1YWdl
IjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFy
Y2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1J
bmZvLkdldElucHV0RGV2aWNlSW5mbyJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
In0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDY0NzQsICJlbmQiOiA2NDk4
LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6
ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZvLkdldElucHV0U3RyZWFtUGFyYW1ldGVycyJ9LCAiZWRn
ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
ICJiZWdpbiI6IDY2NTgsICJlbmQiOiA2NjgzLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9t
IiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21p
dW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5TeXN0ZW1JbmZvLkdldE91
dHB1dFN0cmVhbVBhcmFtZXRlcnMifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9
LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA2ODM0LCAiZW5kIjogNjg0OSwg
InZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAi
YXVkaW8ubW9qb20uU3lzdGVtSW5mby5IYXNJbnB1dERldmljZXMifSwgImVkZ2UiOiAiJS9reXRo
ZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA2
OTYxLCAiZW5kIjogNjk3NywgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMi
OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFp
biIsICJzaWduYXR1cmUiOiAiYXVkaW8ubW9qb20uU3lzdGVtSW5mby5IYXNPdXRwdXREZXZpY2Vz
In0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9k
ZWZpbmVzIiwgImJlZ2luIjogNzEwMCwgImVuZCI6IDcxMjYsICJ2bmFtZSI6IHsibGFuZ3VhZ2Ui
OiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJj
aC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImF1ZGlvLm1vam9tLlN5c3RlbUlu
Zm8uR2V0SW5wdXREZXZpY2VEZXNjcmlwdGlvbnMifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
bmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA3MjYwLCAiZW5k
IjogNzI4NywgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21p
dW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWdu
YXR1cmUiOiAiYXVkaW8ubW9qb20uU3lzdGVtSW5mby5HZXRPdXRwdXREZXZpY2VEZXNjcmlwdGlv
bnMifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9y
X2RlZmluZXMiLCAiYmVnaW4iOiA3NDIyLCAiZW5kIjogNzQ0OSwgInZuYW1lIjogeyJsYW5ndWFn
ZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2Vh
cmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiYXVkaW8ubW9qb20uU3lzdGVt
SW5mby5HZXRBc3NvY2lhdGVkT3V0cHV0RGV2aWNlSUQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
L2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA3NjExLCAi
ZW5kIjogNzYyOSwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hy
b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJz
aWduYXR1cmUiOiAiYXVkaW8ubW9qb20uU3lzdGVtSW5mby5HZXRJbnB1dERldmljZUluZm8ifSwg
ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9XX0=
*/