OpenAssetIO
An abstract API for generalising interactions between a host application and an asset management system
|
Namespaces | |
access | |
Access modes available for API operations. | |
constants | |
Constants used throughout the OpenAssetIO API. | |
errors | |
This namespace contains types related to error handling. | |
hostApi | |
This namespace contains code relevant to anyone wanting to add support for a host application. | |
internal | |
Contains private internal implementation details. | |
log | |
This namespace contains code relevant to message logging within the API. | |
managerApi | |
This namespace contains code relevant to anyone wanting to add support for an asset management system. | |
pluginSystem | |
python | |
Utilities for bridging from C++ to Python. | |
trait | |
Comprises concrete trait views wrapping TraitsData instances. | |
utils | |
Classes | |
class | Context |
The Context object is used to convey information about the calling environment to a manager. More... | |
class | EntityReference |
EntityReference forms a strongly typed wrapper around arbitrary strings to ensure they have been validated by the target manager before being used as an Entity Reference in the various entity related API calls. More... | |
Typedefs | |
using | ContextPtr = std::shared_ptr< Context > |
using | ContextConstPtr = std::shared_ptr< const Context > |
using | EntityReferences = std::vector< EntityReference > |
A list of entity references, used or batch-first functions. More... | |
using | InfoDictionaryValue = std::variant< Bool, Int, Float, Str > |
Types available as values in a InfoDictionary. More... | |
using | InfoDictionary = std::unordered_map< Str, InfoDictionaryValue > |
Dictionary type used for ManagerInterface.info. More... | |
Primitive Types | |
These types are used throughout OpenAssetIO, especially within dictionary-like types such as TraitsData or InfoDictionary. OpenAssetIO must be able to bridge disparate platforms, including serialization of data. It is therefore useful to ensure that our core primitive types are as predictable and portable as possible. The following type list aims to standardise on types that share a common binary layout across platforms. This also gives us a single point to change should we need to switch to a different primitive representation in future, or to switch conditionally for a particular platform. Therefore all use of primitive types by OpenAssetIO hosts and plugins should use these typedefs where possible, to reduce potential find-and-replace pain later. | |
using | Bool = bool |
Boolean value type. More... | |
using | Int = int64_t |
Integer value type. More... | |
using | Float = double |
Real value type. More... | |
using | Str = std::string |
String value type. More... | |
using | StrMap = std::unordered_map< Str, Str > |
Map/Dict of string to string. More... | |
Identifiers | |
using | Identifier = Str |
A host or manager identifier. More... | |
using | Identifiers = std::vector< Identifier > |
A list of identifiers. More... | |
Functions | |
OPENASSETIO_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, const EntityReference &formattable) |
Insertion operator for use with ostreams. More... | |
OPENASSETIO_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, const EntityReferences &formattable) |
Insertion operator for use with ostreams. More... | |
OPENASSETIO_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, const ContextPtr &formattable) |
Insertion operator for use with ostreams. More... | |
OPENASSETIO_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, const ContextConstPtr &formattable) |
Insertion operator for use with ostreams. More... | |
OPENASSETIO_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, const Context &formattable) |
Insertion operator for use with ostreams. More... | |
using Bool = bool |
Boolean value type.
typedef std::shared_ptr< const Context > ContextConstPtr |
typedef std::shared_ptr< Context > ContextPtr |
typedef std::vector< EntityReference > EntityReferences |
A list of entity references, used or batch-first functions.
using Float = double |
Real value type.
using Identifier = Str |
using Identifiers = std::vector<Identifier> |
A list of identifiers.
using InfoDictionary = std::unordered_map<Str, InfoDictionaryValue> |
Dictionary type used for ManagerInterface.info.
using InfoDictionaryValue = std::variant<Bool, Int, Float, Str> |
Types available as values in a InfoDictionary.
using Int = int64_t |
Integer value type.
using Str = std::string |
String value type.
This type is guaranteed to be API compatible with std::string
.
OPENASSETIO_CORE_EXPORT std::ostream& openassetio::v1::operator<< | ( | std::ostream & | out, |
const EntityReference & | formattable | ||
) |
Insertion operator for use with ostreams.
Formats as "an_entity_reference".
OPENASSETIO_CORE_EXPORT std::ostream& openassetio::v1::operator<< | ( | std::ostream & | out, |
const EntityReferences & | formattable | ||
) |
Insertion operator for use with ostreams.
Formats as "['an_entity_reference_1', 'an_entity_reference_2']".
OPENASSETIO_CORE_EXPORT std::ostream& openassetio::v1::operator<< | ( | std::ostream & | out, |
const ContextPtr & | formattable | ||
) |
Insertion operator for use with ostreams.
Formats as "{'locale': {'aTrait': {'aProperty': propertyVal}}, 'managerState': memoryAddress}".
OPENASSETIO_CORE_EXPORT std::ostream& openassetio::v1::operator<< | ( | std::ostream & | out, |
const ContextConstPtr & | formattable | ||
) |
Insertion operator for use with ostreams.
Formats as "{'locale': {'aTrait': {'aProperty': propertyVal}}, 'managerState': memoryAddress}".
OPENASSETIO_CORE_EXPORT std::ostream& openassetio::v1::operator<< | ( | std::ostream & | out, |
const Context & | formattable | ||
) |
Insertion operator for use with ostreams.
Formats as "{'locale': {'aTrait': {'aProperty': propertyVal}}, 'managerState': memoryAddress}".
Copyright 2013-2023 The Foundry Visionmongers Ltd. OpenAssetIO is released under the Apache 2.0 License