// Copyright 2015 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 extensions.mojom; struct WiFiDisplayMediaPacket { array data; }; // WiFiDisplaySessionService class provides access to the network for // the render-hosted Wi-Fi Display session. interface WiFiDisplaySessionService { SetClient(WiFiDisplaySessionServiceClient client); // Requires connection to a sink using the given authentication information. // Note: 'auth_method' values must correspond to 'enum AuthenticationMethod' // from display_source.idl Connect(int32 sink_id, int32 auth_method, string auth_data); // Drops the established connection to the connected sink. Disconnect(); // Sends a controlling mesage to the connected sink. SendMessage(string message); }; interface WiFiDisplaySessionServiceClient { // Notification of a successfull connection to a sink. OnConnected(string local_ip_address, string sink_ip_address); // Notification of a handled connection request. OnConnectRequestHandled(bool success, string error_message); // Notification of a session termination. OnTerminated(); // Notification of a handled termination request. OnDisconnectRequestHandled(bool success, string error_message); // Notification of an error occurred during the session. // Note: 'type' values must correspond to 'enum ErrorType' // from display_source.idl OnError(int32 type, string description); // Invoked to transmit a controlling message from // the connected sink. OnMessage(string data); }; // This interface is used to send media stream to the // connected sink. interface WiFiDisplayMediaService { // Sets the destination point for sending media stream. SetDesinationPoint(string ip_address, int32 port) => (bool success); // Sends media packet to the destination point. SendMediaPacket(WiFiDisplayMediaPacket packet); };