| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module mirroring.mojom; |
| |
| import "components/mirroring/mojom/cast_message_channel.mojom"; |
| import "components/mirroring/mojom/session_observer.mojom"; |
| import "components/mirroring/mojom/session_parameters.mojom"; |
| |
| // This interface is used to start a mirroring session through the Mirroring |
| // Service. |
| interface MirroringServiceHost { |
| // Starts a mirroring session through the Mirroring Service. |observer| gets |
| // notifications about lifecycle events. |outbound_channel| is provided to |
| // handle the messages to the mirroring receiver. |inbound_channel| receives |
| // the messages from the mirroring receiver to the Mirroring Service. |
| // To stop the session, just close the message pipe. |
| Start(SessionParameters params, |
| pending_remote<SessionObserver> observer, |
| pending_remote<CastMessageChannel> outbound_channel, |
| pending_receiver<CastMessageChannel> inbound_channel); |
| |
| // TODO(crbug.com/1015461): Add interfaces to get the streaming events/stats |
| // and mirroring logs. |
| }; |