Open Search
    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