blob: b3a0df31a1b591db52412316f93eefeab9c911dd [file] [log] [blame]
// Copyright 2016 The Fuchsia 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 fuchsia.sys;
// An interface for controlling an environment.
//
// Closing this interface implicitly kills the controlled environment unless
// the `Detach` method has been called.
//
// If the environment is destroyed, this interface will be closed.
//
// Typically obtained via `Environment.CreateNestedEnvironment`.
protocol EnvironmentController {
// Terminates the environment.
//
// When an `Environment` is terminated, all applications launched
// in the environment (and in all transitively nested environments) are also
// killed.
Kill() -> ();
// Decouples the lifetime of the environment from this controller.
//
// After calling `Detach`, the environment will not be implicitly killed when
// this interface is closed.
Detach();
// Event that is triggered when the environment is created.
-> OnCreated();
};