// 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.

// TODO(crbug.com/1227712): Migrate syntax and remove this.
library chromium.cast;

@discoverable
protocol ApplicationContext {
    /// Returns session_id to use in the AudioConsumer API.
    GetMediaSessionId() -> (struct {
        media_session_id uint64;
    });

    /// 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(resource struct {
        controller client_end:ApplicationController;
    });

    /// 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(struct {
        exit_code int64;
    });
};
