X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.cci;h=da1ee4ed73f7008614f32b997387ef7ca0dd58f6;hb=82ad2ed94c12c3e53097fef92978de8c28239fab;hp=1d6f6d926c4d7eade4006ce73b2dd4dfbaceaeb9;hpb=ac86c2bb40746fbedf70a19af3307e5da642b04a;p=senf.git diff --git a/Utils/Logger/Target.cci b/Utils/Logger/Target.cci index 1d6f6d9..da1ee4e 100644 --- a/Utils/Logger/Target.cci +++ b/Utils/Logger/Target.cci @@ -23,7 +23,7 @@ /** \file \brief Target inline non-template implementation */ -//#include "Target.ih" +#include "Target.ih" // Custom includes @@ -92,18 +92,45 @@ prefix_ senf::log::Target::action_t senf::log::Target::RoutingEntry::action() } /////////////////////////////////////////////////////////////////////////// -// senf::log::TargetRegistry +// senf::log::detail::TargetRegistry -prefix_ void senf::log::TargetRegistry::registerTarget(Target * target) +prefix_ void senf::log::detail::TargetRegistry::write(StreamBase const & stream, + AreaBase const & area, unsigned level, + std::string msg) +{ + area.write((*timeSource_)(), stream, level, msg); +} + +prefix_ void senf::log::detail::TargetRegistry::timeSource(std::auto_ptr source) +{ + timeSource_.reset(source.release()); +} + +//////////////////////////////////////// +// private members + +prefix_ senf::log::detail::TargetRegistry::TargetRegistry() + : timeSource_(new SystemTimeSource()) +{} + +prefix_ void senf::log::detail::TargetRegistry::registerTarget(Target * target) { targets_.insert(target); } -prefix_ void senf::log::TargetRegistry::unregisterTarget(Target * target) +prefix_ void senf::log::detail::TargetRegistry::unregisterTarget(Target * target) { targets_.erase(target); } +/////////////////////////////////////////////////////////////////////////// +// namespace senf::log members + +prefix_ void senf::log::timeSource(std::auto_ptr source) +{ + detail::TargetRegistry::instance().timeSource(source); +} + /////////////////////////////cci.e/////////////////////////////////////// #undef prefix_