OpenAssetIO
An abstract API for generalising interactions between a host application and an asset management system
|
Access modes available for API operations. More...
Enumerations | |
enum | PolicyAccess : std::underlying_type_t< internal::access::Access > { kRead = internal::access::Access::kRead, kWrite = internal::access::Access::kWrite, kCreateRelated = internal::access::Access::kCreateRelated, kRequired = internal::access::Access::kRequired, kManagerDriven = internal::access::Access::kManagerDriven } |
Access pattern for a manager policy query. More... | |
enum | ResolveAccess : std::underlying_type_t< internal::access::Access > { kRead = internal::access::Access::kRead, kManagerDriven = internal::access::Access::kManagerDriven } |
Access pattern for entity resolution. More... | |
enum | EntityTraitsAccess : std::underlying_type_t< internal::access::Access > { kRead = internal::access::Access::kRead, kWrite = internal::access::Access::kWrite } |
Access pattern for entity trait set queries. More... | |
enum | PublishingAccess : std::underlying_type_t< internal::access::Access > { kWrite = internal::access::Access::kWrite, kCreateRelated = internal::access::Access::kCreateRelated } |
Access pattern for publishing. More... | |
enum | RelationsAccess : std::underlying_type_t< internal::access::Access > { kRead = internal::access::Access::kRead, kWrite = internal::access::Access::kWrite, kCreateRelated = internal::access::Access::kCreateRelated } |
Access pattern for a relationship query. More... | |
enum | DefaultEntityAccess : std::underlying_type_t< internal::access::Access > { kRead = internal::access::Access::kRead, kWrite = internal::access::Access::kWrite, kCreateRelated = internal::access::Access::kCreateRelated } |
Access pattern when querying a sensible default starting entity for further queries. More... | |
Variables | |
constexpr std::array | kAccessNames |
Mapping of access enum value to human-readable name. More... | |
Access modes available for API operations.
|
strong |
Access pattern when querying a sensible default starting entity for further queries.
Enumerator | |
---|---|
kRead |
Indicate that the manager should provide an entity reference that can be queried for existing data. |
kWrite |
Indicate that the manager should provide a reference suitable for publishing to. |
kCreateRelated |
Indicate that the manager should provide an entity reference that will be used to publish one or more new entities to. |
|
strong |
Access pattern for entity trait set queries.
|
strong |
Access pattern for a manager policy query.
Since Manager.managementPolicy / ManagerInterface.managementPolicy is used to determine which functionality is supported by a manager, these constants largely mirror those for the relevant API methods.
Enumerator | |
---|---|
kRead |
Host intends to read data.
|
kWrite |
Host intends to write data. |
kCreateRelated |
Hosts intends to write data for a new entity in relation to another. |
kRequired |
Host wishes to know which subset of traits must have their required properties filled for successful publishing of an entity. Traits are used for both classification of an entity, and communication of properties of that entity. That is, many traits have properties associated with them. When publishing an entity, the entire trait set of that entity must be provided, in order for the manager classify the entity being published. However, it may well be that not all of the properties of those traits need to be set, in order for publishing to succeed. On an individual trait level, some properties will be required and some optional. Determining this currently requires manual inspection of the documentation for that trait. The |
kManagerDriven |
Host wishes to know the subset of traits that have properties the manager can provide for creating new content when publishing an entity. Note that if a manager provides a property for the host to use during publishing, the host should not assume that the manager "remembers" that it provided that property. I.e. the manager-driven property should be published with the rest of the data, especially if the associated trait is is part of the kRequired policy for the entity's trait set.
|
|
strong |
Access pattern for publishing.
|
strong |
Access pattern for a relationship query.
Enumerator | |
---|---|
kRead |
Used to retrieve references to pre-existing related entities. |
kWrite |
Used to retrieve references to related entities, with the intention of writing data to them. For example, during a publish this could be used to retrieve references to the individual components of an entity, allowing the host to ask the manager for details on how and where to update them. This access mode should be used when the related entity already exists, or where the host is unsure whether it exists or not. Otherwise see RelationsAccess::kCreateRelated |
kCreateRelated |
Used to allow the manager to dictate a list of entities that the host should create. For example, during a publish this could be used to decompose a single entity reference into a list of entity references, one for each component that the manager expects to be published, each with a different target location on disk. For querying pre-existing related entities, with the intention of writing new data, see RelationsAccess::kWrite. |
|
strong |
Access pattern for entity resolution.
constexpr std::array kAccessNames |
Mapping of access enum value to human-readable name.
Copyright 2013-2023 The Foundry Visionmongers Ltd. OpenAssetIO is released under the Apache 2.0 License