| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module mojo_base.mojom; |
| |
| // Convenience helper to wrap the pairing of a receiving associated interface |
| // endpoint and the name of the interface expected by the remote endpoint. |
| // |
| // This should be used sparingly, in cases where APIs need to dynamically pass |
| // different types of asspcoated receivers that cannot or should not be known at |
| // compile time. |
| struct GenericPendingAssociatedReceiver { |
| // The name of the interface which defines the messages to be received by |
| // `receiver`. |
| string interface_name; |
| |
| // A generic associated interface receiver which is actually expected to |
| // receive messages defined by the interface named by `interface_name` above. |
| pending_associated_receiver<GenericAssociatedInterface> receiver; |
| }; |
| |
| // A generic placeholder interface for the associated endpoint to be passed by a |
| // GenericPendingAssociatedReceiver. |
| interface GenericAssociatedInterface {}; |