lumiera_documentation/src/common/configfacade.cpp

87 lines
2 KiB
C++
Raw Normal View History

/*
ConfigFacade - C++ convenience wrapper and startup of the config system
2010-12-17 23:28:49 +01:00
Copyright (C) Lumiera.org
2008, Hermann Vosseler <Ichthyostega@web.de>
2010-12-17 23:28:49 +01:00
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
2010-12-17 23:28:49 +01:00
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
2010-12-17 23:28:49 +01:00
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2010-12-17 23:28:49 +01:00
* *****************************************************/
#include "include/logging.h"
#include "include/lifecycle.h"
#include "include/configfacade.hpp"
extern "C" {
#include "common/config.h"
}
#ifndef LUMIERA_CONFIG_PATH
#error LUMIERA_CONFIG_PATH not defined
#endif
namespace lumiera {
namespace {
void
pull_up_ConfigSystem ()
{
TRACE (common, "booting up config system");
Config::instance();
}
LifecycleHook trigger__ (ON_BASIC_INIT, &pull_up_ConfigSystem);
}
/** storage for the single system-wide config facade instance */
lib::Singleton<Config> Config::instance;
Config::Config ()
{
lumiera_config_init (LUMIERA_CONFIG_PATH);
INFO (config, "Config system ready.");
TODO ("wire Config facade to config interface");
}
Config::~Config()
{
lumiera_config_destroy();
TRACE (common, "config system closed.");
}
const string
Config::get (string const& key)
{
UNIMPLEMENTED ("config facade access to config value");
return string("warwohlnix");
}
} // namespace lumiera