template <>

class WireServer

Defined at line 905 of file fidling/gen/sdk/fidl/fuchsia.session.scene/fuchsia.session.scene/cpp/fidl/fuchsia.session.scene/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_session_scene::Manager>|

and |::fidl::ServerEnd

<

::fuchsia_session_scene::Manager>|).

Public Methods

void SetRootView (::fuchsia_session_scene::wire::ManagerSetRootViewRequest * request, SetRootViewCompleter::Sync & completer)

Sets the root view of the scene graph to the view provided by `view_provider`.

Subsequent calls will replace the view tree with the one starting at the new root view.

The root view is shared between all clients of `Manager`.

Returns a `fuchsia.ui.views.ViewRef` referencing the view provided by `view_provider`.

If this ViewRef cannot be returned (e.g. in Flatland case, if the ViewCreationToken is

dropped before it is given to Scenic), then the connection to the `Manager` will be closed.

The client can expect that:

(1) Its root view will be focused once it's connected to the scene.

(2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation.

NOTE: the ViewRef is only returned after the child view is connected to the scene graph.

Therefore, the caller must guarantee that the child view will eventually be connected before

waiting for the ViewRef; if the child view doesn't connect, it is possible to deadlock.

void PresentRootViewLegacy (::fuchsia_session_scene::wire::ManagerPresentRootViewLegacyRequest * request, PresentRootViewLegacyCompleter::Sync & completer)

Presents a view tree to the display, via the provided view holder token.

This call will present the view using the legacy GFX API.

Subsequent calls will replace the view tree with the one starting at the new root viewport.

The root view is shared between all clients of `Manager`.

The client can expect that:

(1) Its root view will be focused once it's connected to the scene.

(2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation.

NOTE: this method returns only after the child view is connected to the scene graph.

Therefore, the caller must guarantee that the child view will eventually be connected before

waiting for the return; if the child view doesn't connect, it is possible to deadlock.

void PresentRootView (::fuchsia_session_scene::wire::ManagerPresentRootViewRequest * request, PresentRootViewCompleter::Sync & completer)

Presents a view tree to the display, via the provided viewport token.

Subsequent calls will replace the view tree with the one starting at the new root viewport.

The root view is shared between all clients of `Manager`.

The client can expect that:

(1) Its root view will be focused once it's connected to the scene.

(2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation.

NOTE: this method returns only after the child view is connected to the scene graph.

Therefore, the caller must guarantee that the child view will eventually be connected before

waiting for the return; if the child view doesn't connect, it is possible to deadlock.

void WireServer ()

Defined at line 908 of file fidling/gen/sdk/fidl/fuchsia.session.scene/fuchsia.session.scene/cpp/fidl/fuchsia.session.scene/cpp/wire_messaging.h

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

Defined at line 909 of file fidling/gen/sdk/fidl/fuchsia.session.scene/fuchsia.session.scene/cpp/fidl/fuchsia.session.scene/cpp/wire_messaging.h