template <>

class WireServer

Defined at line 2379 of file fidling/gen/sdk/fidl/fuchsia.debugger/fuchsia.debugger/cpp/fidl/fuchsia.debugger/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_debugger::DebugAgent>|

and |::fidl::ServerEnd

<

::fuchsia_debugger::DebugAgent>|).

Public Methods

void Connect (::fuchsia_debugger::wire::DebugAgentConnectRequest * request, ConnectCompleter::Sync & completer)

Hand the DebugAgent a socket that connects it to the debugger. This

will return ZX_ERR_ALREADY_BOUND if a connection already exists. When

the socket is closed, the DebugAgent will exit.

void GetAttachedProcesses (::fuchsia_debugger::wire::DebugAgentGetAttachedProcessesRequest * request, GetAttachedProcessesCompleter::Sync & completer)

Iterator over all processes that this agent is attached to. Note this is

not the same as the set of installed filters, but rather the set of

filters that matched and were later successfully attached.

void AttachTo (::fuchsia_debugger::wire::Filter * request, AttachToCompleter::Sync & completer)

Use the given filter to attach to any existing or subsequently created

components. This method will return the number of matches that were

present at the time of calling this method. All attached processes will

be detached when this agent is destroyed.

|filter| will be inspected for validity, with corresponding errors

returned. If the filter is invalid, no attaches will occur and the

filter will not be installed.

|num_matches| will contain the number of matches that were found

immediately upon filter installation if there was no error, that is, the

number of processes immediately within (or recursively in this realm, if

the option is specified) this component's corresponding job. Note that

filters may be installed _before_ any components are actually resolved

and matched, so this number may be 0. This return value may be safely

ignored.

Invalid filters will return an error, see Filter above for details on

how to construct a filter.

void GetProcessInfo (::fuchsia_debugger::wire::DebugAgentGetProcessInfoRequest * request, GetProcessInfoCompleter::Sync & completer)

The given server_end of the iterator will iterate over all threads, of

all attached processes. The options parameter may be passed to filter

the already attached processes and to express interest in what should be

yielded by the iterator. Including a filter is recommended if DebugAgent

is attached to a large number of processes. Note that this filter will

not cause any new processes to be attached and will not be saved after

this method returns. It is purely to reduce the bounds of the iterator.

The threads will be suspended for the duration of information capture,

which could be interrupted by other system processes, see

|ProcessInfoIterator| for an example.

void GetMinidumps (::fuchsia_debugger::wire::DebugAgentGetMinidumpsRequest * request, GetMinidumpsCompleter::Sync & completer)

Collect minidumps for all attached processes. |options| may contain a

filter to reduce the number of minidumps that are yielded by the

iterator.

void WireServer ()

Defined at line 2382 of file fidling/gen/sdk/fidl/fuchsia.debugger/fuchsia.debugger/cpp/fidl/fuchsia.debugger/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 2383 of file fidling/gen/sdk/fidl/fuchsia.debugger/fuchsia.debugger/cpp/fidl/fuchsia.debugger/cpp/wire_messaging.h