Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/asset/timeline.hpp"
this new Timeline API was invented about 2010 and remained in half finished state ever since.
we need some actual interface, beyond just creating timelines!
Definition at line 91 of file timeline.hpp.
Static Public Member Functions | |
static PTimeline | create (Asset::Ident const &idi, RBinding const &sequenceBinding) |
create and register a new Timeline instance | |
Static Public Member Functions inherited from AutoRegistered< Timeline > | |
static PTarget | create () |
factory for creating smart-ptr managed TAR instances, automatically registered with the element-tracking registry. | |
static void | deactivateRegistryLink () |
static bool | is_attached_to (Registry const &someRegistry) |
static void | setRegistryInstance (Registry ®istry_to_use) |
Protected Member Functions | |
virtual void | unlink () |
release all links to other Asset objects held internally. More... | |
Protected Member Functions inherited from Struct | |
Struct (const Asset::Ident &idi) | |
Protected Member Functions inherited from Asset | |
Asset (const Ident &idi) | |
Asset is a Interface class; usually, objects of concrete subclasses are created via specialised Factories. More... | |
virtual | ~Asset ()=0 |
void | defineDependency (PAsset parent) |
establish a connection between this and the given parent asset, denoting we are in some way dependent on the parent. More... | |
void | defineDependency (Asset &parent) |
virtual void | unlink (IDA target) |
variant of unlink() dropping only the links to the given specific Asset, leaving all other links intact. More... | |
Private Types | |
typedef mobject::session::RBinding | RBinding |
Private Member Functions | |
Timeline (Ident const &, RBinding const &) | |
Private Attributes | |
RBinding | boundSequence_ |
Additional Inherited Members | |
Public Types inherited from AutoRegistered< Timeline > | |
typedef P< Timeline > | PTarget |
typedef lib::ElementTracker< Timeline > | Registry |
typedef lib::OptionalRef< Registry > | RegistryLink |
Public Member Functions inherited from Struct | |
virtual const ID< Struct > & | getID () const |
< More... | |
Public Member Functions inherited from Asset | |
bool | enable (bool on=true) |
change the enabled status of this asset. More... | |
const vector< PAsset > & | getDependant () const |
All the other assets requiring this asset to be functional. More... | |
const vector< PAsset > & | getParents () const |
List of entities this asset depends on or requires to be functional. More... | |
bool | isActive () const |
weather this asset is switched on and consequently included in the fixture and participates in rendering More... | |
virtual | operator string () const |
bool | operator< (Asset const &oa) const |
bool | operator== (Asset const &oa) const |
Public Member Functions inherited from AutoRegistered< Timeline > | |
void | detach () |
detach this element from the element-tracking registry. More... | |
Static Public Attributes inherited from Struct | |
static StructFactory | retrieve |
storage for the static StructFactory instance | |
Public Attributes inherited from Asset | |
const Ident | ident |
Asset identification tuple. | |
Protected Attributes inherited from Asset | |
vector< PAsset > | dependants |
bool | enabled |
set< string > | groups |
additional classification, selections or departments this asset belongs to. More... | |
const ID< Asset > | id |
Asset primary key. | |
const string | longDesc |
user visible qualification of the thing, unit or concept represented by this asset. More... | |
vector< PAsset > | parents |
const string | shortDesc |
user visible Name-ID. More... | |
Static Protected Attributes inherited from AutoRegistered< Timeline > | |
static RegistryLink | getRegistry |
storage for the functor to link an AutoRegistered entity to the corresponding registration service | |
Definition at line 33 of file timeline.cpp.
Referenced by Timeline::create().
|
protectedvirtual |
release all links to other Asset objects held internally.
release all links to other dependent asset objects held internally and advise all parent assets to do so with the link to this asset.
The lifecycle of Asset objects is managed by smart pointers and the Asset manager. Calling unlink()
breaks interconnections to other Assets in the central Object network comprising the session. Especially, the downward links to dependent entities are released, while the primary (upward) smart-ptr links to our prerequisites are still retained. The rationale is, after releasing these redundant or cyclic interlinking, when the AssetManager removes its DB entry for this asset, the smart pointer goes out of scope and causes unwinding of the whole dependency chain.
Reimplemented from Asset.
Definition at line 56 of file timeline.cpp.
References AutoRegistered< TAR >::detach(), MORef< MO >::purge(), and Asset::unlink().