class Controller

Defined at line 10184 of file fidling/gen/sdk/fidl/fuchsia.component/fuchsia.component/hlcpp/fuchsia/component/cpp/fidl.h

A protocol used to operate on a component.

One may get access to a `Controller` when creating a component with the

`Realm.CreateChild` method. You may also obtain a `Controller` for an

existing child component with the `Realm.OpenController` method.

Public Methods

void ~Controller ()
void Start (::fuchsia::component::StartChildArgs args, ::fidl::InterfaceRequest< ::fuchsia::component::ExecutionController> execution_controller, StartCallback callback)

Start the component, optionally providing additional handles to be given

to the component. Returns INSTANCE_ALREADY_RUNNING if the instance is

currently running.

void IsStarted (IsStartedCallback callback)

Returns true if this instance is currently running.

void OpenExposedDir (::fidl::InterfaceRequest< ::fuchsia::io::Directory> exposed_dir, OpenExposedDirCallback callback)

Opens the exposed directory of the controlled component, through which

capabilities the component exposed via `ComponentDecl.exposes` are

available, on success.

Binding to the exposed directory requires that the component be

resolved, but it will not be started until/unless some capability is

requested that requires it to be.

If this component is destroyed, any outstanding connections to

`exposed_dir` will be closed.

Errors:

- `INSTANCE_CANNOT_RESOLVE`: This component failed to resolve.

void GetExposedDictionary (GetExposedDictionaryCallback callback)

Returns the dictionary containing the component's exposed capabilities.

void GetOutputDictionary (GetOutputDictionaryCallback callback)

Returns a reference to the component's output dictionary, which may be

interacted with by using the fuchsia.component.runtime.Capabilities API.

void Destroy (DestroyCallback callback)

Destroys this component. When this method returns, the component is

either destroyed or in the case of an error no destruction happened.

Errors:

- `ACCESS_DENIED`: Destruction of this component is not allowed.

Currently, this can happen if the component is a static child of its

parent.

- `INTERNAL`: Something prevented destruction from succeeding -- component

manager's logs will contain more detail.

Protected Methods

void handle_unknown_method (uint64_t ordinal, bool method_has_response)

Friends

class Controller_Stub