Lumiera  0.pre.03
»edit your freedom«
config-facade.h
Go to the documentation of this file.
1 /*
2  CONFIGFACADE - C++ convenience wrapper and startup of the config system
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 
46 #ifndef INTERFACE_CONFIGFACADE_H
47 #define INTERFACE_CONFIGFACADE_H
48 
49 
50 
51 
52 
53 #ifdef __cplusplus /* ============== C++ Interface ================= */
54 
55 #include "lib/depend.hpp"
56 #include "lib/symbol.hpp"
57 
58 #include <string>
59 
60 
61 namespace lumiera {
62 
63  using std::string;
64 
65 
66  /*****************************************************************/
73  class Config
74  {
75  public:
76  static string get (lib::Literal key);
77 
79 
80 
81  private:
82  Config();
83  ~Config();
84  friend class lib::DependencyFactory<Config>;
85  };
86 
87 
88 
89 } // namespace lumiera
90 
91 
92 
93 #else /* =========================== C Interface ====================== */
94 
95 
102 const char* lumiera_get_plugin_path_default ();
103 
104 
105 #endif
106 #endif
inline string literal This is a marker type to indicate that
Definition: symbol.hpp:85
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:289
Marker types to indicate a literal string and a Symbol.
Singleton services and Dependency Injection.
C++ wrapper for convenient access to the Lumiera config system.
Definition: config-facade.h:73
Lumiera public interface.
Definition: advice.cpp:113
Helper to abstract creation and lifecycle of a dependency.
Definition: depend.hpp:134
static lib::Depend< Config > instance
storage and setup for the single system-wide config facade instance
Definition: config-facade.h:78