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)
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 
37 #ifndef INTERFACE_CONFIGFACADE_H
38 #define INTERFACE_CONFIGFACADE_H
39 
40 
41 
42 
43 
44 #ifdef __cplusplus /* ============== C++ Interface ================= */
45 
46 #include "lib/depend.hpp"
47 #include "lib/symbol.hpp"
48 
49 #include <string>
50 
51 
52 namespace lumiera {
53 
54  using std::string;
55 
56 
57  /*****************************************************************/
64  class Config
65  {
66  public:
67  static string get (lib::Literal key);
68 
70 
71 
72  private:
73  Config();
74  ~Config();
75  friend class lib::DependencyFactory<Config>;
76  };
77 
78 
79 
80 } // namespace lumiera
81 
82 
83 
84 #else /* =========================== C Interface ====================== */
85 
86 
93 const char* lumiera_get_plugin_path_default ();
94 
95 
96 #endif
97 #endif
inline string literal This is a marker type to indicate that
Definition: symbol.hpp:76
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:280
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:64
Lumiera public interface.
Definition: advice.cpp:104
Helper to abstract creation and lifecycle of a dependency.
Definition: depend.hpp:125
static lib::Depend< Config > instance
storage and setup for the single system-wide config facade instance
Definition: config-facade.h:69