Lumiera
0.pre.03
»edit your freedom«
asset/meta.cpp
Go to the documentation of this file.
1
/*
2
Meta(Asset) - key abstraction: metadata and organisational asset
3
4
Copyright (C)
5
2008, Hermann Vosseler <Ichthyostega@web.de>
6
7
**Lumiera** is free software; you can redistribute it and/or modify it
8
under the terms of the GNU General Public License as published by the
9
Free Software Foundation; either version 2 of the License, or (at your
10
option) any later version. See the file COPYING for further details.
11
12
* *****************************************************************/
13
14
20
#include "
steam/assetmanager.hpp
"
21
#include "
steam/asset/meta.hpp
"
22
#include "
lib/util.hpp
"
23
24
using
lib::idi::EntryID
;
25
26
namespace
steam
{
27
namespace
asset
{
28
29
using
meta::Descriptor;
30
31
namespace
// Implementation details
32
{
34
}
35
36
namespace
meta {
37
38
Descriptor::~Descriptor
() { }
// emit VTable here...
39
40
}
41
42
44
MetaFactory
Meta::create
;
45
46
47
54
template
<
class
MA>
55
meta::Builder<MA>
56
MetaFactory::operator()
(
EntryID<MA>
elementIdentity)
57
{
58
return
meta::Builder<MA>
(elementIdentity.getSym());
59
}
60
61
71
template
<
class
MA>
72
meta::Builder<MA>
73
MetaFactory::operator()
(
Descriptor
const
& prototype,
EntryID<MA>
elementIdentity)
74
{
75
UNIMPLEMENTED (
"Meta-Factory: extend or supersede existing meta asset"
);
76
}
77
78
79
80
}}
// namespace steam::asset
81
82
83
84
85
/**************************************************/
86
/* explicit instantiations of the factory methods */
87
/**************************************************/
88
89
#include "
steam/asset/meta/time-grid.hpp
"
90
#include "
steam/asset/meta/error-log.hpp
"
91
92
93
namespace
steam
{
94
namespace
asset
{
95
96
using
meta::Descriptor
;
97
using
meta::Builder
;
98
using
meta::TimeGrid
;
99
100
template
Builder<TimeGrid>
MetaFactory::operator()
(
EntryID<TimeGrid>
);
101
template
Builder<TimeGrid>
MetaFactory::operator()
(
Descriptor
const
&,
EntryID<TimeGrid>
);
102
103
using
meta::ErrorLog
;
104
105
template
Builder<ErrorLog>
MetaFactory::operator()
(
EntryID<ErrorLog>
);
106
template
Builder<ErrorLog>
MetaFactory::operator()
(
Descriptor
const
&,
EntryID<ErrorLog>
);
107
108
}}
// namespace steam::asset
steam::asset::meta::TimeGrid
Interface: a grid and scale definition for time quantisation.
Definition:
time-grid.hpp:77
steam::asset::MetaFactory
Factory specialised for creating Metadata Asset objects.
Definition:
asset/meta.hpp:149
assetmanager.hpp
Steam-Layer Interface: Asset Lookup and Organisation.
lib::idi::EntryID
typed symbolic and hash ID for asset-like position accounting.
Definition:
entry-id.hpp:126
steam
Steam-Layer implementation namespace root.
Definition:
dummy-player-facade.h:37
error-log.hpp
An entity to collect, possibly filter and persist incident records.
steam::asset::Meta::create
static MetaFactory create
storage for the static MetaFactory instance
Definition:
asset/meta.hpp:114
meta.hpp
Internal and organisational metadata.
util.hpp
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
time-grid.hpp
To establish a reference scale for quantised time values.
steam::asset::meta::Descriptor::~Descriptor
virtual ~Descriptor()
this is an Interface
Definition:
asset/meta.cpp:38
steam::asset::meta::Builder
Building and configuring a meta asset.
Definition:
asset/meta.hpp:100
steam::asset::meta::Descriptor
Interface: the unspecific, reflective base of meta assets.
Definition:
asset/meta.hpp:81
steam::asset::MetaFactory::operator()
meta::Builder< MA > operator()(lib::idi::EntryID< MA > elementIdentity)
Generic factory method for Metadata Asset instances.
Definition:
asset/meta.cpp:56
steam::asset
The asset subsystem of the Steam-Layer.
Definition:
wrapperptr.hpp:35
steam::asset::meta::ErrorLog
Receive, collect, filter and possibly persist incident records.
Definition:
error-log.hpp:65
steam
asset
meta.cpp
Generated on Fri Dec 13 2024 05:05:34 for Lumiera by
1.8.13