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 
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:
86 
87  static lib::idi::EntryID<Root> getID();
88  static lib::idi::EntryID<Root> getAssetID();
89 
90 
92 
93  };
94 
95 
96  } // namespace mobject::session
97 
101 
102 }} // namespace steam::mobject
103 #endif
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Definition: trait.hpp:91
High-level model root element, corresponding to the global session wide scope.
Definition: root.hpp:69
typed symbolic and hash ID for asset-like position accounting.
Definition: entry-id.hpp:135
Base class of all BuilderTools, used according to the visitor pattern: each Tool contains the concret...
Steam-Layer implementation namespace root.
Namespace of Session and user visible high-level objects.
Definition: sequence.hpp:74
Organise a collection of preconfigured default objects.
Visiting-tool mechanism configured specifically for the Builder.
Intermediate Asset interface: metadata and processing instructions.
Meta-MObject doesn&#39;t represent real Media Content, but rather all sorts of Processing Instructions an...
Lumiera public interface.
Definition: advice.cpp:113
Bare symbolic and hash ID used for accounting of asset like entries.
#define DEFINE_PROCESSABLE_BY(TOOL)
mark a Visitable subclass as actually treat-able by some "visiting tool" base interface.
Definition: visitor.hpp:231