Lumiera
0.pre.03
»edit your freedom«
root.hpp
Go to the documentation of this file.
1
/*
2
ROOT.hpp - root element of the high-level model, global session scope
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
37
#ifndef STEAM_MOBJECT_SESSION_ROOT_H
38
#define STEAM_MOBJECT_SESSION_ROOT_H
39
40
#include "
steam/mobject/session/meta.hpp
"
41
#include "
steam/mobject/builder/buildertool.hpp
"
42
#include "
lib/idi/entry-id.hpp
"
43
44
45
namespace
lumiera
{
46
namespace
query {
47
class
DefsManager;
48
}}
49
50
namespace
steam
{
51
namespace
mobject {
52
namespace
session
{
53
54
55
69
class
Root
:
public
Meta
70
{
71
lumiera::query::DefsManager
& defaults_;
72
75
76
string
77
initShortID()
const
78
{
79
return
buildShortID(
"Root"
,
"(✼)"
);
80
}
81
82
virtual
bool
isValid()
const
;
83
84
public
:
85
Root
(
lumiera::query::DefsManager
&);
86
87
static
lib::idi::EntryID<Root>
getID();
88
static
lib::idi::EntryID<Root>
getAssetID();
89
90
91
DEFINE_PROCESSABLE_BY
(
builder::BuilderTool
);
92
93
};
94
95
96
}
// namespace mobject::session
97
99
template
class
Placement<session::Root, session::Meta>
;
100
typedef
Placement<session::Root, session::Meta>
PRoot
;
101
102
}}
// namespace steam::mobject
103
#endif
steam::mobject::Placement
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Definition:
trait.hpp:91
steam::mobject::session::Root
High-level model root element, corresponding to the global session wide scope.
Definition:
root.hpp:69
lib::idi::EntryID
typed symbolic and hash ID for asset-like position accounting.
Definition:
entry-id.hpp:135
steam::mobject::builder::BuilderTool
Base class of all BuilderTools, used according to the visitor pattern: each Tool contains the concret...
Definition:
buildertool.hpp:106
steam
Steam-Layer implementation namespace root.
Definition:
dummy-player-facade.h:46
steam::mobject::session
Namespace of Session and user visible high-level objects.
Definition:
sequence.hpp:74
lumiera::query::DefsManager
Organise a collection of preconfigured default objects.
Definition:
defs-manager.hpp:138
buildertool.hpp
Visiting-tool mechanism configured specifically for the Builder.
meta.hpp
Intermediate Asset interface: metadata and processing instructions.
steam::mobject::session::Meta
Meta-MObject doesn't represent real Media Content, but rather all sorts of Processing Instructions an...
Definition:
mobject/session/meta.hpp:49
lumiera
Lumiera public interface.
Definition:
advice.cpp:113
entry-id.hpp
Bare symbolic and hash ID used for accounting of asset like entries.
DEFINE_PROCESSABLE_BY
#define DEFINE_PROCESSABLE_BY(TOOL)
mark a Visitable subclass as actually treat-able by some "visiting tool" base interface.
Definition:
visitor.hpp:231
steam
mobject
session
root.hpp
Generated on Sat Apr 20 2024 02:03:41 for Lumiera by
1.8.13