assets.h File Reference

Classes

struct  AssetDependencyStruct
 
class  AssetMetaDataInterface
 
class  AssetTypeInterface
 
class  AssetIdentifierInterface
 
class  AssetLinkInterface
 
class  AssetRepositoryInterface
 
class  DerivedAssetRepositoryDataInterface
 
class  AssetBaseInterface
 
class  AssetDescriptionInterface
 
class  AssetBaseWithUpdateInterface
 
class  AssetReferenceInterface
 
struct  AssetVersionValidityData
 
struct  AssetLicenseValidityData
 
class  AssetInterface
 
class  UpdatableAssetInterface
 
class  UpdatableAssetRepositoryInterface
 
class  CompactableAssetRepositoryInterface
 
class  FileAssetInterface
 

Namespaces

 maxon
 
 maxon::ASSETMETADATA
 
 maxon::ASSETREPOSITORYPROPERTIES
 
 maxon::ASSETTYPEPROPERTIES
 
 maxon::ASSETTYPEPROPERTIES::SUPPORTS
 
 maxon::AssetTypes
 
 maxon::AssetRepositoryTypes
 

Typedefs

using VersionRange = Tuple< Float, Float >
 
using AssetUsageType = Tuple< UniversalDateTime, Int >
 
using OutputStreamDecoratorFactory = Delegate< Result< OutputStreamRef >(const OutputStreamRef &stream)>
 
using AssetRepositoryUpdate = Tuple< AssetDescription, BaseArray< AssetBase > >
 
using BuiltinAssetReceiver = Delegate< Result< Bool >(const Asset &asset, const DataDictionary &meta, const Url &metaUrl)>
 
using BuiltinAssetLoaderNew = Delegate< Result< Bool >(const Block< const Id > &types, const Id &aid, ASSET_FIND_MODE findMode, const BuiltinAssetReceiver &receiver)>
 
using BuiltinAssetLoader = Delegate< Result< Bool >(const Block< const Id > &types, const Id &aid, ASSET_FIND_MODE findMode, const ValueReceiver< const Asset &, const DataDictionary & > &receiver)>
 
using DndAsset = Tuple< AssetDescription, Url, String >
 

Enumerations

enum class  ASSETLICENSETYPE : UInt64 {
  NONE ,
  ENABLE_IN_SUBSCRIPTION ,
  SHOW_IN_SUBSCRIPTION ,
  ENABLE_IN_PERPETUAL ,
  SHOW_IN_PERPETUAL ,
  ENABLE_IN_TRIAL ,
  SHOW_IN_TRIAL ,
  ENABLE_IN_LITE ,
  SHOW_IN_LITE ,
  ENABLE_IN_STUDENT ,
  SHOW_IN_STUDENT ,
  ENABLE_IN_EDUCATION ,
  SHOW_IN_EDUCATION ,
  ENABLE_IN_CINEWARE ,
  SHOW_IN_CINEWARE ,
  ONLY_IN_MAXONONE ,
  ENABLE_IN_ALL ,
  SHOW_IN_ALL ,
  ALLBITS
}
 
enum class  ASSET_FIND_MODE {
  NONE ,
  LATEST ,
  ALL ,
  WITHOUT_BASES ,
  WITH_DELETED ,
  PREFIX ,
  RANDOMIZED_ORDER ,
  CHECK_CANCELLATION ,
  PRIVATE_QUERY_REPOSITORY_VISIBILITY
}
 
enum class  ASSET_VERSION_VALIDITY {
  VALID ,
  INVALID_HIGHER_VERSION_REQUIRED ,
  INVALID_LOWER_VERSION_REQUIRED
}
 
enum class  ASSET_LICENSE_VALIDITY {
  VALID ,
  INVALID_LICENSE_HIDDEN ,
  INVALID_LICENSE_VISIBLE
}
 
enum class  REPOSITORYINDEXSTATE {
  NONE ,
  PENDING ,
  RUNNING ,
  EXISTS
}
 

Functions

 MAXON_RESOURCE_DATABASE_SCOPE ("net.maxon.assetmetadata")
 
 MAXON_ATTRIBUTE (UniversalDateTime, ASSET_TIMESTAMP, "net.maxon.asset.timestamp")
 
 MAXON_ATTRIBUTE (UInt64, ASSET_SIZE, "net.maxon.asset.size")
 
 MAXON_ATTRIBUTE (String, ASSET_VERSIONTAG, "net.maxon.asset.versiontag")
 
 MAXON_ATTRIBUTE (Url, ASSET_PREVIEWIMAGEURL, "net.maxon.asset.previewimageurl")
 
 MAXON_ATTRIBUTE (Url, ASSET_PREVIEWANIMURL, "net.maxon.asset.previewanimurl")
 
 MAXON_ATTRIBUTE (Url, PROXYGEOMETRY, "net.maxon.assetmetadata.proxygeometry")
 
 MAXON_ATTRIBUTE (String, ASSET_SORT, "net.maxon.asset.sort")
 
class DataDescription MAXON_FORWARD ("maxon/datadescription.h")
 
class DataDescriptionDefinition MAXON_FORWARD ("maxon/datadescriptiondefinition.h")
 
enum maxon::ASSETLICENSETYPE UInt64 MAXON_ENUM_FLAGS (ASSETLICENSETYPE)
 
 MAXON_ATTRIBUTE (Bool, SKIP_ON_SEARCH, "net.maxon.assetrepository.skipinsearch")
 
 MAXON_ATTRIBUTE (Bool, EXPORT_ON_SAVE_PROJECT, "net.maxon.assetrepository.exportonsaveproject")
 
 MAXON_ATTRIBUTE (Int, CATEGORYCOUNT, "net.maxon.assetrepository.categorycount")
 
 MAXON_ATTRIBUTE (Int, ASSETCOUNT, "net.maxon.assetrepository.assetcount")
 
 MAXON_ATTRIBUTE (Int64, ASSETSIZE, "net.maxon.assetrepository.assetsize")
 
 MAXON_ATTRIBUTE (DataDictionary, DETAILCOUNT, "net.maxon.assetrepository.detailcount")
 
 MAXON_DATATYPE (AssetDependencyStruct, "net.maxon.datatype.asset.dependencystruct")
 
 MAXON_ATTRIBUTE (Array< AssetDependencyStruct >, Dependencies, "net.maxon.asset.dependencies.2")
 
 MAXON_ATTRIBUTE (VersionRange, ValidVersionRange, "net.maxon.asset.validversion")
 
 MAXON_ATTRIBUTE (ASSETLICENSETYPE, ValidLicenseType, "net.maxon.asset.validlicensetype")
 
 MAXON_ATTRIBUTE (DataDictionary, MetaProperties, "net.maxon.asset.metaproperties")
 
 MAXON_ATTRIBUTE (AssetUsageType, Usage, "net.maxon.asset.usage")
 
class OutputStreamRef MAXON_FORWARD ("maxon/iostreams.h")
 
 MAXON_ATTRIBUTE (Bool, VERSIONS, "net.maxon.assettypeproperties.support.versions")
 
 MAXON_DECLARATION (Class< AssetType >, AssetTypeBaseComponent, "net.maxon.component.assettypebase")
 
 MAXON_REGISTRY (AssetType, AssetTypes, "net.maxon.registry.assettypes")
 
enum maxon::ASSET_FIND_MODE MAXON_ENUM_FLAGS (ASSET_FIND_MODE)
 
enum maxon::ASSET_VERSION_VALIDITY MAXON_ENUM_LIST (ASSET_VERSION_VALIDITY)
 
enum maxon::ASSET_LICENSE_VALIDITY MAXON_ENUM_LIST (ASSET_LICENSE_VALIDITY)
 
 MAXON_DECLARATION (ComponentDescriptor, AssetBaseComponent, "net.maxon.component.assetbase")
 
enum maxon::REPOSITORYINDEXSTATE MAXON_ENUM_LIST (REPOSITORYINDEXSTATE)
 
 MAXON_DECLARATION (AssetType, File, "net.maxon.assettype.file")
 
 MAXON_REGISTRY (BuiltinAssetLoaderNew, BuiltinAssetLoadersNew, "net.maxon.registry.builtinassetloaders2")
 
 MAXON_REGISTRY (BuiltinAssetLoader, BuiltinAssetLoaders, "net.maxon.registry.builtinassetloaders")
 
 MAXON_REGISTRY (Class< AssetRepositoryRef >, AssetRepositoryTypes, "net.maxon.registry.assetrepositorytypes")
 
 MAXON_DECLARATION (Class< AssetRepositoryRef >, AssetDatabase, "net.maxon.assets.repositorytype.database")
 
 MAXON_DECLARATION (Class< AssetRepositoryRef >, AssetRepositoryDecoratorBaseClass, "net.maxon.class.assetrepositorydecoratorbase")
 
 MAXON_DECLARATION (Class< AssetRepositoryRef >, WeakAssetRepositoryDecoratorClass, "net.maxon.class.weakassetrepositorydecorator")
 
Url GetAssetUrl (const DndAsset &asset)
 
Result< void > UpdateAssetUsage (const AssetDescription &asset, Bool incCount=true, Bool updateDate=true)
 
Result< IdAndVersion > IdToIdAndVersion (const Id &id)
 
Result< Id > IdAndVersionToId (const IdAndVersion &assetId)
 
Result< Tuple< AssetRepositoryRef, IdAndVersion, Bool > > IdToIdAndVersionWithRepository (const Id &id, const AssetRepositoryRef &lookupRepository)
 
Result< Id > IdAndVersionToIdWithRepository (const IdAndVersion &assetId, const AssetRepositoryRef &repository)
 

Variables

constexpr LiteralId URLSCHEME_ASSET
 
constexpr LiteralId URLSCHEME_ASSETDB
 
constexpr LiteralId URLSCHEME_META
 
constexpr LiteralId URLSCHEME_METASQ
 
 NONE
 
 ENABLE_IN_SUBSCRIPTION
 
 SHOW_IN_SUBSCRIPTION
 
 ENABLE_IN_PERPETUAL
 
 SHOW_IN_PERPETUAL
 
 ENABLE_IN_TRIAL
 
 SHOW_IN_TRIAL
 
 ENABLE_IN_LITE
 
 SHOW_IN_LITE
 
 ENABLE_IN_STUDENT
 
 SHOW_IN_STUDENT
 
 ENABLE_IN_EDUCATION
 
 SHOW_IN_EDUCATION
 
 ENABLE_IN_CINEWARE
 
 SHOW_IN_CINEWARE
 
 ONLY_IN_MAXONONE
 
 ENABLE_IN_ALL
 
 SHOW_IN_ALL
 
 ALLBITS
 
static constexpr LiteralId ID_MISSINGASSETS
 
 READ_ONLY
 
 PERSISTENT
 
 VERSION
 
 DERIVED
 
 USER
 
 MASK
 
 IGNORE_READ_ONLY
 
 LATEST
 
 ALL
 
 WITHOUT_BASES
 
 WITH_DELETED
 
 PREFIX
 
 RANDOMIZED_ORDER
 
 CHECK_CANCELLATION
 
 PRIVATE_QUERY_REPOSITORY_VISIBILITY
 
 VALID
 
 INVALID_HIGHER_VERSION_REQUIRED
 
 INVALID_LOWER_VERSION_REQUIRED
 
 INVALID_LICENSE_HIDDEN
 
 INVALID_LICENSE_VISIBLE
 
 PENDING
 
 RUNNING
 
 EXISTS
 

Variable Documentation

◆ NONE

NONE

No flag set.

◆ ENABLE_IN_SUBSCRIPTION

ENABLE_IN_SUBSCRIPTION

◆ SHOW_IN_SUBSCRIPTION

SHOW_IN_SUBSCRIPTION

◆ ENABLE_IN_PERPETUAL

ENABLE_IN_PERPETUAL

◆ SHOW_IN_PERPETUAL

SHOW_IN_PERPETUAL

◆ ENABLE_IN_TRIAL

ENABLE_IN_TRIAL

◆ SHOW_IN_TRIAL

SHOW_IN_TRIAL

◆ ENABLE_IN_LITE

ENABLE_IN_LITE

◆ SHOW_IN_LITE

SHOW_IN_LITE

◆ ENABLE_IN_STUDENT

ENABLE_IN_STUDENT

◆ SHOW_IN_STUDENT

SHOW_IN_STUDENT

◆ ENABLE_IN_EDUCATION

ENABLE_IN_EDUCATION

◆ SHOW_IN_EDUCATION

SHOW_IN_EDUCATION

◆ ENABLE_IN_CINEWARE

ENABLE_IN_CINEWARE

◆ SHOW_IN_CINEWARE

SHOW_IN_CINEWARE

◆ ONLY_IN_MAXONONE

ONLY_IN_MAXONONE

◆ ENABLE_IN_ALL

ENABLE_IN_ALL

◆ SHOW_IN_ALL

SHOW_IN_ALL

◆ ALLBITS

ALLBITS

◆ READ_ONLY

READ_ONLY

The meta data is read-only, for example the AssetTimeStamp.

◆ PERSISTENT

PERSISTENT

The meta data is persistent.

◆ VERSION

VERSION

The meta data is tied to the version so that it isn't copied to a new version, for example the AssetVersionTag.

◆ DERIVED

DERIVED

The meta data is derived from the asset and other meta data.

◆ USER

USER

The meta data should be stored in user folder.

◆ MASK

MASK

A mask for all regular flags.

◆ IGNORE_READ_ONLY

IGNORE_READ_ONLY

This flag is only used as argument for AssetRepositoryInterface::StoreMetaData to ignore the READ_ONLY flag.

◆ LATEST

LATEST

Set this flag to obtain only the latest version of the asset.

◆ ALL

ALL

Set this flag to obtain all versions of the asset.

◆ WITHOUT_BASES

WITHOUT_BASES

Set this flag if the asset shouldn't be looked up in base repositories.

◆ WITH_DELETED

WITH_DELETED

Set this flag to also find deleted assets.

◆ PREFIX

PREFIX

Set this flag to include assets for which the given identifier is a prefix of their identifier.

◆ RANDOMIZED_ORDER

RANDOMIZED_ORDER

Set this flag when you want to get assets in randomized order, this is useful for parallelized code.

◆ CHECK_CANCELLATION

CHECK_CANCELLATION

Set this flag when you want to check if the job is cancelled. if cancelled a OperationCancelledError is returned.

◆ PRIVATE_QUERY_REPOSITORY_VISIBILITY

PRIVATE_QUERY_REPOSITORY_VISIBILITY

Private: if this flag is given then the delegate is called at the beginning of each findasset if the repository, the const AssetDescription& points to a const AssetRespsitoryRef&.

◆ VALID

VALID

Valid asset version.

Valid asset license.

◆ INVALID_HIGHER_VERSION_REQUIRED

INVALID_HIGHER_VERSION_REQUIRED

Invalid asset version: app version is too low: higher version required.

◆ INVALID_LOWER_VERSION_REQUIRED

INVALID_LOWER_VERSION_REQUIRED

< Invalid asset version: app version is too high: lower version required.

◆ INVALID_LICENSE_HIDDEN

INVALID_LICENSE_HIDDEN

Invalid asset license and it's hidden.

◆ INVALID_LICENSE_VISIBLE

INVALID_LICENSE_VISIBLE

< Invalid asset license but it's visible.

◆ PENDING

PENDING

◆ RUNNING

RUNNING

◆ EXISTS

EXISTS