This is an automated email from the git hooks/post-receive script. hmmr-guest pushed a commit to branch WIP in repository aghermann.
commit 3755a8a5f0d0593594c8266e60b1ba081d6a80e1 Author: Andrei Zavada <[email protected]> Date: Sun Oct 13 20:59:54 2013 +0300 introduce logging facility to libconfig interface --- upstream/src/aghermann/expdesign/dirlevel.cc | 4 ++-- upstream/src/aghermann/expdesign/loadsave.cc | 4 ++-- upstream/src/aghermann/ui/mw/loadsave.cc | 5 ++-- upstream/src/aghermann/ui/sf/sf.cc | 9 +++---- upstream/src/common/config-validate.hh | 33 ++++++++++++++------------ 5 files changed, 30 insertions(+), 25 deletions(-) diff --git a/upstream/src/aghermann/expdesign/dirlevel.cc b/upstream/src/aghermann/expdesign/dirlevel.cc index 952c912..481d95a 100644 --- a/upstream/src/aghermann/expdesign/dirlevel.cc +++ b/upstream/src/aghermann/expdesign/dirlevel.cc @@ -85,7 +85,7 @@ load() try { C.readFile( path().c_str()); - config.get( C); + config.get( C, agh::global::default_log_facility); saved = true; return 0; @@ -111,7 +111,7 @@ save() try { libconfig::Config C; - config.put( C); + config.put( C, agh::global::default_log_facility); C.writeFile( p.c_str()); saved = true; diff --git a/upstream/src/aghermann/expdesign/loadsave.cc b/upstream/src/aghermann/expdesign/loadsave.cc index 4e82752..d406e26 100644 --- a/upstream/src/aghermann/expdesign/loadsave.cc +++ b/upstream/src/aghermann/expdesign/loadsave.cc @@ -29,7 +29,7 @@ load_settings() try { conf.readFile( EXPD_FILE); - config.get( conf); + config.get( conf, agh::global::default_log_facility); for ( size_t t = 0; t < ach::TTunable::_basic_tunables; ++t ) { auto& A = conf.lookup(string("tunable.") + ach::tunable_name(t)); @@ -101,7 +101,7 @@ CExpDesign:: save_settings() { libconfig::Config C; - config.put( C); + config.put( C, agh::global::default_log_facility); // only save _agh_basic_tunables_ for ( size_t t = 0; t < ach::TTunable::_basic_tunables; ++t ) diff --git a/upstream/src/aghermann/ui/mw/loadsave.cc b/upstream/src/aghermann/ui/mw/loadsave.cc index 5d54a76..771fc0f 100644 --- a/upstream/src/aghermann/ui/mw/loadsave.cc +++ b/upstream/src/aghermann/ui/mw/loadsave.cc @@ -13,6 +13,7 @@ #include "project_strings.h" #include "common/config-validate.hh" +#include "aghermann/globals.hh" #include "aghermann/ui/globals.hh" #include "mw.hh" @@ -85,7 +86,7 @@ load_settings() try { conf.readFile( CONF_FILE); - config.get( conf); + config.get( conf, agh::global::default_log_facility); try { auto& SC = conf.lookup("ScoreCodes"); @@ -158,7 +159,7 @@ save_settings() _aghtt_placeholder = AghT(); _aghdd_placeholder = AghD(); - config.put( conf); + config.put( conf, agh::global::default_log_facility); agh::confval::put( conf, "ScoreCodes", ext_score_codes); diff --git a/upstream/src/aghermann/ui/sf/sf.cc b/upstream/src/aghermann/ui/sf/sf.cc index 5f60f5c..67ce3d9 100644 --- a/upstream/src/aghermann/ui/sf/sf.cc +++ b/upstream/src/aghermann/ui/sf/sf.cc @@ -15,6 +15,7 @@ #include "common/config-validate.hh" #include "common/fs.hh" #include "libmetrics/bands.hh" +#include "aghermann/globals.hh" #include "aghermann/ica/ica.hh" #include "aghermann/expdesign/subject.hh" #include "aghermann/ui/misc.hh" @@ -740,10 +741,10 @@ load_montage() } catch (libconfig::FileIOException ex) { return; } - config.get( conf); + config.get( conf, agh::global::default_log_facility); for ( auto &h : channels ) { - h.config.get( conf); + h.config.get( conf, agh::global::default_log_facility); // postprocess a little h.selection_start = h.selection_start_time * h.samplerate(); @@ -767,10 +768,10 @@ SScoringFacility:: save_montage() { libconfig::Config conf; - config.put( conf); + config.put( conf, agh::global::default_log_facility); for ( auto &h : channels ) - h.config.put( conf); + h.config.put( conf, agh::global::default_log_facility); try { conf.writeFile ( diff --git a/upstream/src/common/config-validate.hh b/upstream/src/common/config-validate.hh index 306c305..da52bcd 100644 --- a/upstream/src/common/config-validate.hh +++ b/upstream/src/common/config-validate.hh @@ -22,6 +22,7 @@ #include <libconfig.h++> #include "string.hh" +#include "log-facility.hh" #include "lang.hh" #if HAVE_CONFIG_H && !defined(VERSION) @@ -63,16 +64,16 @@ ensure_path( libconfig::Setting& S, libconfig::Setting::Type type, const string& template <typename T> void -put( libconfig::Config& C, const string& key, const T& value) +put( libconfig::Config& C, const string& key, const T& value, agh::log::CLogFacility* lo = nullptr) { ensure_path( C.getRoot(), libconfig_type_id<T>(), key) = value; } template <> // specialise for size_t inline void -put( libconfig::Config& C, const string& key, const size_t& value) +put( libconfig::Config& C, const string& key, const size_t& value, agh::log::CLogFacility* lo) { - if ( value > INT_MAX ) - fprintf( stderr, "Value being saved is way too big for any practical purpose (unintialized?): %zu\n", value); + if ( value > INT_MAX && lo ) + lo->msg( agh::log::TLevel::warning, LOG_SOURCE_ISSUER, "Value being saved is way too big for any practical purpose (unintialized?): %zu", value); ensure_path( C.getRoot(), libconfig_type_id<int>(), key) = (int)value; } @@ -98,8 +99,8 @@ put( libconfig::Config& C, const string& key, const array<T, N>& vl) struct IValidator { - virtual void get( const libconfig::Config&) const = 0; - virtual void put( libconfig::Config&) const = 0; + virtual void get( const libconfig::Config&, agh::log::CLogFacility*) const = 0; + virtual void put( libconfig::Config&, agh::log::CLogFacility*) const = 0; virtual ~IValidator() {} // -Wdelete-non-virtual-dtor }; @@ -133,18 +134,19 @@ struct SValidator : IValidator { : key (_key), rcp (_rcp), valf (_valf) {} - void get( const libconfig::Config& C) const + void get( const libconfig::Config& C, agh::log::CLogFacility* lo = nullptr) const { T tmp; if ( not C.lookupValue( key, tmp) ) { - fprintf( stderr, "SValidator::get(): key %s not found\n", key.c_str()); + if ( lo ) + lo->msg( agh::log::TLevel::warning, LOG_SOURCE_ISSUER, "key %s not found", key.c_str()); return; // leave at default } if ( not valf(tmp) ) throw invalid_argument( string("Bad value for \"") + key + "\""); *rcp = tmp; } - void put( libconfig::Config& C) const + void put( libconfig::Config& C, agh::log::CLogFacility* lo = nullptr) const { confval::put( C, key, *rcp); } @@ -173,11 +175,12 @@ struct SValidator : IValidator { template <> inline void SValidator<size_t>:: -get( const libconfig::Config& C) const +get( const libconfig::Config& C, agh::log::CLogFacility* lo) const { int tmp; // libconfig doesn't deal in unsigned values if ( not C.lookupValue( key, tmp) ) { - fprintf( stderr, "SValidator::get(): key %s not found\n", key.c_str()); + if (lo) + lo->msg( agh::log::TLevel::warning, LOG_SOURCE_ISSUER, "key %s not found", key.c_str()); return; // leave at default } if ( not valf(tmp) ) @@ -234,15 +237,15 @@ class CConfigKeys { CConfigKeys& operator()( const K& k, V* v, const F& f) { return S.push_back( new SValidator<V>(k, v, f)), *this; } - void get( libconfig::Config& C) + void get( libconfig::Config& C, agh::log::CLogFacility* lo) { for ( auto& K : S ) - K->get( C); + K->get( C, lo); } - void put( libconfig::Config& C) + void put( libconfig::Config& C, agh::log::CLogFacility* lo) { for ( auto& K : S ) - K->put( C); + K->put( C, lo); } }; -- Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
