template <>

class WireServer

Defined at line 386 of file fidling/gen/sdk/fidl/fuchsia.ui.pointer/fuchsia.ui.pointer/cpp/fidl/fuchsia.ui.pointer/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_ui_pointer::MouseSource>|

and |::fidl::ServerEnd

<

::fuchsia_ui_pointer::MouseSource>|).

Public Methods

void Watch (WatchCompleter::Sync & completer)

A method for a client to receive mouse pointer events.

This call is formulated as a "hanging get" pattern: the client asks for

a set of recent events, and receives them via the callback. This

pull-based approach ensures that clients consume events at their own

pace; events don't clog up the channel in an unbounded manner.

Flow control. The caller is allowed at most one in-flight |Watch| call

at a time; it is a logical error to have concurrent calls to |Watch|.

Non-compliance results in channel closure.

Client pacing. The server will dispatch events to the caller on a FIFO,

lossless, best-effort basis, but the caller must allocate enough time to

keep up with new events.

Event times. The timestamps on each event in the event vector are *not*

guaranteed monotonic; events from different devices may be injected into

Scenic at different times. Generally, events from a single device are

expected to have monotonically increasing timestamps.

View parameters. Occasionally, changes in view or viewport require

notifying the client. If a |MouseEvent| carries |ViewParameters|, these

parameters apply to successive |MousePointerSample|s until the next

|ViewParameters|.

void WireServer ()

Defined at line 389 of file fidling/gen/sdk/fidl/fuchsia.ui.pointer/fuchsia.ui.pointer/cpp/fidl/fuchsia.ui.pointer/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 390 of file fidling/gen/sdk/fidl/fuchsia.ui.pointer/fuchsia.ui.pointer/cpp/fidl/fuchsia.ui.pointer/cpp/wire_messaging.h