A struct which represents the bare minimum of an accessible for purposes of caching.
This makes some possibly eronious assumptions about what the sender is.
A struct representing an accessible. To get any information from the cache other than the stored information like role, interfaces, and states, you will need to instantiate an atspi::accessible::AccessibleProxy or other *Proxy type from atspi to query further info.
A composition of an accessible ID and (possibly) a reference
to its CacheItem, if the item has not been dropped from the cache yet.
TODO if desirable, we could make one direction strong references (e.g. have
the parent be an Arc, xor have the children be Arcs). Might even be possible to have both.
BUT - is it even desirable to keep an item pinned in an Arc from its
releatives after it has been removed from the cache?
Convert an atspi::accessible::AccessibleProxy into a crate::CacheItem.
This runs a bunch of long-awaiting code and can take quite some time; use this sparingly.
This takes most properties and some function calls through the AccessibleProxy structure and generates a new CacheItem, which will be written to cache before being sent back.