naiveproxy/components/mirroring/mojom/mirroring_service.mojom
2018-12-09 21:59:24 -05:00

31 lines
1.3 KiB
Plaintext

// 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/resource_provider.mojom";
import "components/mirroring/mojom/session_observer.mojom";
import "components/mirroring/mojom/session_parameters.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
// This interface is used to control a mirroring session.
interface MirroringService {
// Starts a mirroring session. |max_resolution| is the maximium video
// capturing resolution. |observer| will get notifications about lifecycle
// events. |outbound_channel| is to handle the cast messages from this service
// to the mirroring receiver. |inbound_channel| receives the cast messages
// from the mirroring receiver to this service.
// To stop the session, just close the message pipe.
Start(SessionParameters params,
gfx.mojom.Size max_resolution,
SessionObserver observer,
ResourceProvider resource_provider,
CastMessageChannel outbound_channel,
CastMessageChannel& inbound_channel);
// TODO(xjz): Add interfaces to get the streaming events/stats and mirroring
// logs.
};