| // mojo/public/interfaces/bindings/tests/validation_test_associated_interfaces.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 MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_VALIDATION_TEST_ASSOCIATED_INTERFACES_MOJOM_H_ |
| #define MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_VALIDATION_TEST_ASSOCIATED_INTERFACES_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 "mojo/public/interfaces/bindings/tests/validation_test_associated_interfaces.mojom-features.h" |
| #include "mojo/public/interfaces/bindings/tests/validation_test_associated_interfaces.mojom-shared.h" |
| #include "mojo/public/interfaces/bindings/tests/validation_test_associated_interfaces.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 mojo::test { |
| |
| class InterfaceXProxy; |
| |
| template <typename ImplRefTraits> |
| class InterfaceXStub; |
| |
| class InterfaceXRequestValidator; |
| |
| |
| // @generated_from: mojo.test.InterfaceX |
| class InterfaceX |
| : public InterfaceXInterfaceBase { |
| 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_ = InterfaceXInterfaceBase; |
| using Proxy_ = InterfaceXProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = InterfaceXStub<ImplRefTraits>; |
| |
| using RequestValidator_ = InterfaceXRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| }; |
| |
| // 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) |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~InterfaceX() = default; |
| }; |
| |
| class AssociatedConformanceTestInterfaceProxy; |
| |
| template <typename ImplRefTraits> |
| class AssociatedConformanceTestInterfaceStub; |
| |
| class AssociatedConformanceTestInterfaceRequestValidator; |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface |
| class AssociatedConformanceTestInterface |
| : public AssociatedConformanceTestInterfaceInterfaceBase { |
| 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_ = true; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = AssociatedConformanceTestInterfaceInterfaceBase; |
| using Proxy_ = AssociatedConformanceTestInterfaceProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = AssociatedConformanceTestInterfaceStub<ImplRefTraits>; |
| |
| using RequestValidator_ = AssociatedConformanceTestInterfaceRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kMethod0MinVersion = 0, |
| kMethod1MinVersion = 0, |
| kMethod2MinVersion = 0, |
| kMethod3MinVersion = 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 Method0_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct Method1_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct Method2_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct Method3_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~AssociatedConformanceTestInterface() = default; |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method0 |
| virtual void Method0(::mojo::PendingAssociatedRemote<InterfaceX> param0) = 0; |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method1 |
| virtual void Method1(::mojo::PendingAssociatedReceiver<InterfaceX> param0) = 0; |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method2 |
| virtual void Method2(::mojo::PendingAssociatedRemote<InterfaceX> param0) = 0; |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method3 |
| virtual void Method3(std::vector<::mojo::PendingAssociatedRemote<InterfaceX>> param0) = 0; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.InterfaceX |
| class InterfaceXProxy |
| : public InterfaceX { |
| public: |
| using InterfaceType = InterfaceX; |
| |
| explicit InterfaceXProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface |
| class AssociatedConformanceTestInterfaceProxy |
| : public AssociatedConformanceTestInterface { |
| public: |
| using InterfaceType = AssociatedConformanceTestInterface; |
| |
| explicit AssociatedConformanceTestInterfaceProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method0 |
| void Method0(::mojo::PendingAssociatedRemote<InterfaceX> param0) final; |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method1 |
| void Method1(::mojo::PendingAssociatedReceiver<InterfaceX> param0) final; |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method2 |
| void Method2(::mojo::PendingAssociatedRemote<InterfaceX> param0) final; |
| |
| // @generated_from: mojo.test.AssociatedConformanceTestInterface.Method3 |
| void Method3(std::vector<::mojo::PendingAssociatedRemote<InterfaceX>> param0) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| class InterfaceXStubDispatch { |
| public: |
| static bool Accept(InterfaceX* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| InterfaceX* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<InterfaceX>> |
| class InterfaceXStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| InterfaceXStub() = default; |
| ~InterfaceXStub() 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 InterfaceXStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return InterfaceXStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class AssociatedConformanceTestInterfaceStubDispatch { |
| public: |
| static bool Accept(AssociatedConformanceTestInterface* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| AssociatedConformanceTestInterface* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<AssociatedConformanceTestInterface>> |
| class AssociatedConformanceTestInterfaceStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| AssociatedConformanceTestInterfaceStub() = default; |
| ~AssociatedConformanceTestInterfaceStub() 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 AssociatedConformanceTestInterfaceStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return AssociatedConformanceTestInterfaceStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class InterfaceXRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class AssociatedConformanceTestInterfaceRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| |
| |
| |
| |
| |
| } // mojo::test |
| |
| namespace mojo { |
| |
| } // namespace mojo |
| |
| #endif // MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_VALIDATION_TEST_ASSOCIATED_INTERFACES_MOJOM_H_
|
|
|
| /* Metadata comment
|
| eyJ0eXBlIjogImt5dGhlMCIsICJtZXRhIjogW3sidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
|
| ZWdpbiI6IDE4MzIsICJlbmQiOiAxODQyLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
|
| c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuSW50ZXJmYWNlWCJ9LCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
|
| ZWdpbiI6IDMwNjgsICJlbmQiOiAzMTAyLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
|
| c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuQXNzb2NpYXRlZENvbmZvcm1hbmNl
|
| VGVzdEludGVyZmFjZSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDQ3MDcsICJlbmQiOiA0NzE0LCAidm5hbWUi
|
| OiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
|
| Y29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRl
|
| c3QuQXNzb2NpYXRlZENvbmZvcm1hbmNlVGVzdEludGVyZmFjZS5NZXRob2QwIn0sICJlZGdlIjog
|
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJl
|
| Z2luIjogNDg2NCwgImVuZCI6IDQ4NzEsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9z
|
| cmMvL21haW4iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5Bc3NvY2lhdGVkQ29uZm9ybWFuY2VU
|
| ZXN0SW50ZXJmYWNlLk1ldGhvZDEifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9
|
| LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA1MDIzLCAiZW5kIjogNTAzMCwg
|
| InZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
|
| c291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAi
|
| bW9qby50ZXN0LkFzc29jaWF0ZWRDb25mb3JtYW5jZVRlc3RJbnRlcmZhY2UuTWV0aG9kMiJ9LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5l
|
| cyIsICJiZWdpbiI6IDUxODAsICJlbmQiOiA1MTg3LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1v
|
| am9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hy
|
| b21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuQXNzb2NpYXRlZENvbmZv
|
| cm1hbmNlVGVzdEludGVyZmFjZS5NZXRob2QzIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNTk1MywgImVuZCI6
|
| IDU5NjAsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0
|
| dXJlIjogIm1vam8udGVzdC5Bc3NvY2lhdGVkQ29uZm9ybWFuY2VUZXN0SW50ZXJmYWNlLk1ldGhv
|
| ZDAifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAiYmVnaW4iOiA2MTAzLCAiZW5kIjogNjExMCwgInZuYW1lIjogeyJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2Vh
|
| cmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkFzc29jaWF0
|
| ZWRDb25mb3JtYW5jZVRlc3RJbnRlcmZhY2UuTWV0aG9kMSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDYyNTUs
|
| ICJlbmQiOiA2MjYyLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJj
|
| aHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwg
|
| InNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuQXNzb2NpYXRlZENvbmZvcm1hbmNlVGVzdEludGVyZmFj
|
| ZS5NZXRob2QyIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNjQwNSwgImVuZCI6IDY0MTIsICJ2bmFtZSI6IHsi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5B
|
| c3NvY2lhdGVkQ29uZm9ybWFuY2VUZXN0SW50ZXJmYWNlLk1ldGhvZDMifSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyJ9XX0=
|
| */ |