Crate android_looper [−] [src]
From android docs:
Class used to run a message loop for a thread. Threads by default do not have a message loop associated with them; to create one, call prepare() in the thread that is to run the loop, and then loop() to have it process messages until the loop is stopped.
Library design conventions
This library is a minimal safe wrapper for what otherwise be unsafe ffi bindings. There are few conventions used here that are good to know to make the best use of it.
Safety does not include the correct destruction order
While this library may provide the RAII
wrappers (see bellow), it will not keep
track of wrapper dependencies. Doing it at this level would require Rc
machinery that
may cause several problems: force users to use Rc
or Arc
, complicate implementation,
no longer be zero-cost.
Instead, the users are encouraged to build wrappers around these different type kinds (listed bellow) that manage resources as needed for each use case.
Not-copyable struct Object
kind
This is RAII type
that wraps a low-level resource, provides methods to manipulate it and also destroys it when
it goes out of scope. It may also have convenience methods from_handle
as constructor and method
forget
to get back the handle and disable the RAII
.
Copyable struct/enum Object
kind
Used for tracking intermediate glue information, usually replaces or wraps cumbersome C
unions,
types or enums.
Copyable struct ObjectRef
kind
Wraps a low level handle(s) and provides methods to manipulate it/them. Used in situations where the handle lifetime is controlled by another object or it is some kind of global singleton. In such cases the method calls themselves may return errors when called on expired or invalid handle.
Modules
error |
Looper Error and Result. |
Structs
AcquiredLooper |
|
LooperRef |
Reference to a looper. |
Enums
LooperPrepareOpts |
Option for for |
Type Definitions
LooperHandle |