blob: c886c6b4105df6aa3d2cdc71936df6a8f488ab0f [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.
1: 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.
2: Detach();
// Event that is triggered when the environment is created.
3: -> OnCreated();
};