| // Copyright 2019 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. |
| |
| library chromium.cast; |
| |
| [Discoverable] |
| protocol ApplicationContext { |
| /// Returns session_id to use in the AudioConsumer API. |
| GetMediaSessionId() -> (uint64 media_session_id); |
| |
| /// Used by the Agent to receive a controller from the Cast Runner. |
| /// Can only be called at most one time for the lifetime of the Component. |
| SetApplicationController(ApplicationController controller); |
| |
| /// Called if the application component exits gracefully, with the same |
| /// `exit_code` as would be reported via `ComponentController.OnTerminated()`. |
| /// Values less than or equal to zero are `zx.status` codes. |
| /// May be called at most once, immediately prior to termination. |
| [Transitional] |
| OnApplicationExit(int64 exit_code); |
| }; |