Open Search
    AssetIdentifierInterface Class Reference

    #include <assets.h>

    Inheritance diagram for AssetIdentifierInterface:

    Detailed Description

    The base interface of AssetBaseInterface and AssetLinkInterface. It contains their common methods to obtain type, identifier and version.

    Public Member Functions

    MAXON_METHOD const IdGetTypeId () const
     
    MAXON_METHOD const IdAndVersionGetIdAndVersion () const
     
    MAXON_FUNCTION const IdGetId () const
     
    MAXON_FUNCTION const IdGetVersion () const
     

    Static Public Attributes

    static constexpr LiteralId VIRTUAL
     

    Private Member Functions

     MAXON_INTERFACE (AssetIdentifierInterface, MAXON_REFERENCE_COPY_ON_WRITE, "net.maxon.interface.assetidentifier")
     

    Member Function Documentation

    ◆ MAXON_INTERFACE()

    MAXON_INTERFACE ( AssetIdentifierInterface  ,
    MAXON_REFERENCE_COPY_ON_WRITE  ,
    "net.maxon.interface.assetidentifier"   
    )
    private

    ◆ GetTypeId()

    MAXON_METHOD const Id& GetTypeId ( ) const

    Returns the identifier of the AssetType of this asset.

    Returns
    Identifier of the AssetType of this asset.

    ◆ GetIdAndVersion()

    MAXON_METHOD const IdAndVersion& GetIdAndVersion ( ) const

    Returns the identifier and version of this asset as a tuple.

    Returns
    (identifier, version) of this asset.

    ◆ GetId()

    MAXON_FUNCTION const Id& GetId ( ) const

    Returns the identifier of this asset. Asset identifiers have to be globally unique.

    Returns
    Asset identifier (empty for an Asset which doesn't belong to a repository).

    ◆ GetVersion()

    MAXON_FUNCTION const Id& GetVersion ( ) const

    Returns the version of this asset. Version identifiers are assigned by repositories when assets are stored, typically this is a hash value derived from the asset content or a UUID. In general two assets should have equal version identifiers only if they have equal content.

    Returns
    Asset version identifier (empty for an Asset which doesn't belong to a repository).

    Member Data Documentation

    ◆ VIRTUAL

    constexpr LiteralId VIRTUAL
    staticconstexpr

    VIRTUAL is used as version identifier for assets which can't be re-obtained from a repository by their identifier. The typical use case is for dynamically created assets which get an identifier just for clarity, but not to actually identify them. References to virtual assets can't be serialized.