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) Lumiera.org
5
2008, Hermann Vosseler <Ichthyostega@web.de>
6
7
This program is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License as
9
published by the Free Software Foundation; either version 2 of
10
the License, or (at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21
* *****************************************************/
22
23
29
#include "
steam/assetmanager.hpp
"
30
#include "
steam/asset/meta.hpp
"
31
#include "
lib/util.hpp
"
32
33
using
lib::idi::EntryID
;
34
35
namespace
steam
{
36
namespace
asset
{
37
38
using
meta::Descriptor;
39
40
namespace
// Implementation details
41
{
43
}
44
45
namespace
meta {
46
47
Descriptor::~Descriptor
() { }
// emit VTable here...
48
49
}
50
51
53
MetaFactory
Meta::create
;
54
55
56
63
template
<
class
MA>
64
meta::Builder<MA>
65
MetaFactory::operator()
(
EntryID<MA>
elementIdentity)
66
{
67
return
meta::Builder<MA>
(elementIdentity.getSym());
68
}
69
70
80
template
<
class
MA>
81
meta::Builder<MA>
82
MetaFactory::operator()
(
Descriptor
const
& prototype,
EntryID<MA>
elementIdentity)
83
{
84
UNIMPLEMENTED (
"Meta-Factory: extend or supersede existing meta asset"
);
85
}
86
87
88
89
}}
// namespace steam::asset
90
91
92
93
94
/**************************************************/
95
/* explicit instantiations of the factory methods */
96
/**************************************************/
97
98
#include "
steam/asset/meta/time-grid.hpp
"
99
#include "
steam/asset/meta/error-log.hpp
"
100
101
102
namespace
steam
{
103
namespace
asset
{
104
105
using
meta::Descriptor
;
106
using
meta::Builder
;
107
using
meta::TimeGrid
;
108
109
template
Builder<TimeGrid>
MetaFactory::operator()
(
EntryID<TimeGrid>
);
110
template
Builder<TimeGrid>
MetaFactory::operator()
(
Descriptor
const
&,
EntryID<TimeGrid>
);
111
112
using
meta::ErrorLog
;
113
114
template
Builder<ErrorLog>
MetaFactory::operator()
(
EntryID<ErrorLog>
);
115
template
Builder<ErrorLog>
MetaFactory::operator()
(
Descriptor
const
&,
EntryID<ErrorLog>
);
116
117
}}
// namespace steam::asset
steam::asset::meta::TimeGrid
Interface: a grid and scale definition for time quantisation.
Definition:
time-grid.hpp:86
steam::asset::MetaFactory
Factory specialised for creating Metadata Asset objects.
Definition:
asset/meta.hpp:158
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:135
steam
Steam-Layer implementation namespace root.
Definition:
dummy-player-facade.h:46
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:123
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:47
steam::asset::meta::Builder
Building and configuring a meta asset.
Definition:
asset/meta.hpp:109
steam::asset::meta::Descriptor
Interface: the unspecific, reflective base of meta assets.
Definition:
asset/meta.hpp:90
steam::asset::MetaFactory::operator()
meta::Builder< MA > operator()(lib::idi::EntryID< MA > elementIdentity)
Generic factory method for Metadata Asset instances.
Definition:
asset/meta.cpp:65
steam::asset
The asset subsystem of the Steam-Layer.
Definition:
wrapperptr.hpp:44
steam::asset::meta::ErrorLog
Receive, collect, filter and possibly persist incident records.
Definition:
error-log.hpp:74
steam
asset
meta.cpp
Generated on Sat Apr 20 2024 02:03:40 for Lumiera by
1.8.13