blob: bf496725201e9f696d3f50e251f9436440a49405 [file] [log] [blame]
// Copyright 2016 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 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|.
interface 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();
};