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)
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 
28 #ifndef STEAM_MOBJECT_SESSION_ROOT_H
29 #define STEAM_MOBJECT_SESSION_ROOT_H
30 
33 #include "lib/idi/entry-id.hpp"
34 
35 
36 namespace lumiera {
37 namespace query {
38  class DefsManager;
39 }}
40 
41 namespace steam {
42 namespace mobject {
43 namespace session {
44 
45 
46 
60  class Root : public Meta
61  {
62  lumiera::query::DefsManager& defaults_;
63 
66 
67  string
68  initShortID() const
69  {
70  return buildShortID("Root","(✼)");
71  }
72 
73  virtual bool isValid() const;
74 
75  public:
77 
78  static lib::idi::EntryID<Root> getID();
79  static lib::idi::EntryID<Root> getAssetID();
80 
81 
83 
84  };
85 
86 
87  } // namespace mobject::session
88 
92 
93 }} // namespace steam::mobject
94 #endif
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Definition: trait.hpp:82
High-level model root element, corresponding to the global session wide scope.
Definition: root.hpp:60
typed symbolic and hash ID for asset-like position accounting.
Definition: entry-id.hpp:126
Base class of all BuilderTools, used according to the visitor pattern: each Tool contains the concret...
Definition: buildertool.hpp:97
Steam-Layer implementation namespace root.
Namespace of Session and user visible high-level objects.
Definition: sequence.hpp:65
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:104
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:222