blob: 5bfebbd046057683bdf7dd1fb5456d7115f84625 [file] [log] [blame]
// services/audio/public/mojom/device_notifications.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_DEVICE_NOTIFICATIONS_MOJOM_H_
#define SERVICES_AUDIO_PUBLIC_MOJOM_DEVICE_NOTIFICATIONS_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/device_notifications.mojom-features.h" // IWYU pragma: export
#include "services/audio/public/mojom/device_notifications.mojom-shared.h" // IWYU pragma: export
#include "services/audio/public/mojom/device_notifications.mojom-forward.h" // IWYU pragma: export
#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 DeviceListenerProxy;
template <typename ImplRefTraits>
class DeviceListenerStub;
class DeviceListenerRequestValidator;
// @generated_from: audio.mojom.DeviceListener
class DeviceListener
: public DeviceListenerInterfaceBase {
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_ = DeviceListenerInterfaceBase;
using Proxy_ = DeviceListenerProxy;
template <typename ImplRefTraits>
using Stub_ = DeviceListenerStub<ImplRefTraits>;
using RequestValidator_ = DeviceListenerRequestValidator;
using ResponseValidator_ = mojo::PassThroughFilter;
enum MethodMinVersions : uint32_t {
kDevicesChangedMinVersion = 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 DevicesChanged_Sym {
NOINLINE static uint32_t IPCStableHash();
};
#endif // !BUILDFLAG(IS_FUCHSIA)
virtual ~DeviceListener() = default;
// @generated_from: audio.mojom.DeviceListener.DevicesChanged
virtual void DevicesChanged() = 0;
};
class DeviceNotifierProxy;
template <typename ImplRefTraits>
class DeviceNotifierStub;
class DeviceNotifierRequestValidator;
// @generated_from: audio.mojom.DeviceNotifier
class DeviceNotifier
: public DeviceNotifierInterfaceBase {
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_ = DeviceNotifierInterfaceBase;
using Proxy_ = DeviceNotifierProxy;
template <typename ImplRefTraits>
using Stub_ = DeviceNotifierStub<ImplRefTraits>;
using RequestValidator_ = DeviceNotifierRequestValidator;
using ResponseValidator_ = mojo::PassThroughFilter;
enum MethodMinVersions : uint32_t {
kRegisterListenerMinVersion = 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 RegisterListener_Sym {
NOINLINE static uint32_t IPCStableHash();
};
#endif // !BUILDFLAG(IS_FUCHSIA)
virtual ~DeviceNotifier() = default;
// @generated_from: audio.mojom.DeviceNotifier.RegisterListener
virtual void RegisterListener(::mojo::PendingRemote<DeviceListener> listener) = 0;
};
// @generated_from: audio.mojom.DeviceListener
class DeviceListenerProxy
: public DeviceListener {
public:
using InterfaceType = DeviceListener;
explicit DeviceListenerProxy(mojo::MessageReceiverWithResponder* receiver);
// @generated_from: audio.mojom.DeviceListener.DevicesChanged
void DevicesChanged() final;
private:
mojo::MessageReceiverWithResponder* receiver_;
};
// @generated_from: audio.mojom.DeviceNotifier
class DeviceNotifierProxy
: public DeviceNotifier {
public:
using InterfaceType = DeviceNotifier;
explicit DeviceNotifierProxy(mojo::MessageReceiverWithResponder* receiver);
// @generated_from: audio.mojom.DeviceNotifier.RegisterListener
void RegisterListener(::mojo::PendingRemote<DeviceListener> listener) final;
private:
mojo::MessageReceiverWithResponder* receiver_;
};
class DeviceListenerStubDispatch {
public:
static bool Accept(DeviceListener* impl, mojo::Message* message);
static bool AcceptWithResponder(
DeviceListener* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder);
};
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<DeviceListener>>
class DeviceListenerStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
DeviceListenerStub() = default;
~DeviceListenerStub() 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 DeviceListenerStubDispatch::Accept(
ImplRefTraits::GetRawPointer(&sink_), message);
}
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {
if (ImplRefTraits::IsNull(sink_))
return false;
return DeviceListenerStubDispatch::AcceptWithResponder(
ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder));
}
private:
ImplPointerType sink_;
};
class DeviceNotifierStubDispatch {
public:
static bool Accept(DeviceNotifier* impl, mojo::Message* message);
static bool AcceptWithResponder(
DeviceNotifier* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder);
};
template <typename ImplRefTraits =
mojo::RawPtrImplRefTraits<DeviceNotifier>>
class DeviceNotifierStub
: public mojo::MessageReceiverWithResponderStatus {
public:
using ImplPointerType = typename ImplRefTraits::PointerType;
DeviceNotifierStub() = default;
~DeviceNotifierStub() 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 DeviceNotifierStubDispatch::Accept(
ImplRefTraits::GetRawPointer(&sink_), message);
}
bool AcceptWithResponder(
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {
if (ImplRefTraits::IsNull(sink_))
return false;
return DeviceNotifierStubDispatch::AcceptWithResponder(
ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder));
}
private:
ImplPointerType sink_;
};
class DeviceListenerRequestValidator : public mojo::MessageReceiver {
public:
bool Accept(mojo::Message* message) override;
};
class DeviceNotifierRequestValidator : public mojo::MessageReceiver {
public:
bool Accept(mojo::Message* message) override;
};
} // audio::mojom
namespace mojo {
} // namespace mojo
#endif // SERVICES_AUDIO_PUBLIC_MOJOM_DEVICE_NOTIFICATIONS_MOJOM_H_
/* Metadata comment
eyJ0eXBlIjogImt5dGhlMCIsICJtZXRhIjogW3sidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
ZWdpbiI6IDE3NjIsICJlbmQiOiAxNzc2LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5EZXZpY2VMaXN0ZW5lciJ9LCAi
ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5l
cyIsICJiZWdpbiI6IDI5NTksICJlbmQiOiAyOTczLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1v
am9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hy
b21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRpby5tb2pvbS5EZXZpY2VMaXN0ZW5l
ci5EZXZpY2VzQ2hhbmdlZCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsi
dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDMxNjcsICJlbmQiOiAzMTgxLCAidm5h
bWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJhdWRp
by5tb2pvbS5EZXZpY2VOb3RpZmllciJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
In0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDQzNzAsICJlbmQiOiA0Mzg2
LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6
ICJhdWRpby5tb2pvbS5EZXZpY2VOb3RpZmllci5SZWdpc3Rlckxpc3RlbmVyIn0sICJlZGdlIjog
IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJl
Z2luIjogNDc1MCwgImVuZCI6IDQ3NjQsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAi
Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9z
cmMvL21haW4iLCAic2lnbmF0dXJlIjogImF1ZGlvLm1vam9tLkRldmljZUxpc3RlbmVyLkRldmlj
ZXNDaGFuZ2VkIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjog
ImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNTE0NiwgImVuZCI6IDUxNjIsICJ2bmFtZSI6IHsi
bGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
Y29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImF1ZGlvLm1vam9t
LkRldmljZU5vdGlmaWVyLlJlZ2lzdGVyTGlzdGVuZXIifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
L2dlbmVyYXRlcyJ9XX0=
*/