class FakeHandleTable

Defined at line 125 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

FakeHandleTable manipulates handle-related syscalls to use the fake handles

vended by the fake-object library. All fake object instances are expected to be

added to the FakeHandleTable singleton.

See https://fuchsia.dev/fuchsia-src/concepts/kernel/handles for more details on handles.

Public Methods

bool IsValidFakeHandle (zx_handle_t handle)

Returns true if |handle| routes to a fake object added to a FakeHandleTable. This function

is used decide whether the real or fake function should be called based on the handle.

Defined at line 18 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

zx::result<zx_handle_t> Add (std::shared_ptr<FakeObject> obj)

Creates and adds a fake handle for |obj| into FakeHandleTable. |obj| is moved and stored

into FakeHandleTable.

Defined at line 50 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

zx::result<std::shared_ptr<FakeObject>> Get (zx_handle_t handle)

Returns a shared pointer to the FakeObject that maps to |handle|.

Defined at line 36 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

zx::result<> Remove (zx_handle_t handle)

Remove the handle from FakeHandleTable.

Defined at line 78 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

void Clear ()

Removes all handles in FakeHandleTable.

Defined at line 93 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

void Dump ()

Prints information on all the handles in FakeHandleTable.

Defined at line 98 of file ../../sdk/lib/driver/fake-object/cpp/fake-handle.cc

void FakeHandleTable ()

Defined at line 127 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

void ~FakeHandleTable ()

Defined at line 128 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

void FakeHandleTable (const FakeHandleTable & )

Defined at line 130 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

FakeHandleTable & operator= (const FakeHandleTable & )

Defined at line 131 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

void FakeHandleTable (FakeHandleTable && )

Defined at line 132 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

FakeHandleTable & operator= (FakeHandleTable && )

Defined at line 133 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

template <typename ObjectCallback>
void ForEach (zx_obj_type_t type, const ObjectCallback cb)

Walks the handle table and calls |cb| on each handle that matches the

provided |type|. Stops walking the table when |cb| returns false.

|cb| must NOT attempt to acquire the lock, so this method is not suitable

for internal methods.

Defined at line 158 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h

size_t size ()

Defined at line 172 of file ../../sdk/lib/driver/fake-object/cpp/fake-object.h