class CapabilityStore
Defined at line 44 of file fidling/gen/sdk/fidl/fuchsia.component.sandbox/fuchsia.component.sandbox/cpp/fidl/fuchsia.component.sandbox/cpp/markers.h
Protocol that represents the concept of a "capability store", a repository
for [Capability]s that are held by the component framework runtime.
[CapabilityStore] serves as the main bridge between the component runtime and clients
that enables them to operate on and exchange [Capability]s. A [CapabilityStore] instance
contains a set of [Capability]s, each of which has a [CapabilityId] assigned by the client.
Normally, a program would not exchange a [CapabilityStore] or [CapabilityId] with other
programs -- a [CapabilityStore] connection and its enclosed capabilities are intended to
be "local" to a program. Instead, if a program wishes to exchange a [Capability] with other
programs, it should [Export] the [Capability] out of the store, send the [Capability] to the
target program, which can then [Import] the capability into its own store.
[CapabilityStore] is also used to manage capability lifetimes. The lifetime of a capability is
scoped to the [CapabilityStore] in which it resides; i.e. to drop the [CapabilityStore]
connections to release the capabilities instead it. In addition, [CapabilityStore] supports a
[Drop] API to drop an individual [Capability] reference. (Note that it is possible for a
some capabilities, like [DictionaryRef], to have multiple references, in which case all of
the references must be dropped for the underlying resource to be released.)
A note about semantics: the [CapabilityStore] APIs do not return [CapabilityId]s, because
[CapabilityId]s are assigned by the client. Instead, when a method would semantically return
a capability, this is expressed by taking the destination [CapabilityId] as an output parameter.
Public Members
static Openness kOpenness
static const char[] kDiscoverableName
Records
-
class ConnectorCreate -
class ConnectorOpen -
class CreateServiceAggregate -
class DictionaryCopy -
class DictionaryCreate -
class DictionaryDrain -
class DictionaryEnumerate -
class DictionaryGet -
class DictionaryInsert -
class DictionaryKeys -
class DictionaryLegacyExport -
class DictionaryLegacyImport -
class DictionaryRemove -
class DirConnectorCreate -
class DirConnectorOpen -
class Drop -
class Duplicate -
class Export -
class Import