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