/** \file
\brief Target inline non-template implementation */
-//#include "Target.ih"
+#include "Target.ih"
// Custom includes
-#include <algorithm>
#define prefix_ inline
///////////////////////////////cci.p///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// senf::log::Target
-prefix_ iterator senf::log::Target::begin()
+prefix_ senf::log::Target::iterator senf::log::Target::begin()
const
{
return rib_.begin();
}
-prefix_ iterator senf::log::Target::end()
+prefix_ senf::log::Target::iterator senf::log::Target::end()
const
{
return rib_.end();
prefix_ std::string senf::log::Target::RoutingEntry::stream()
const
{
- return stream_->v_name();
+ return stream_ ? stream_->v_name() : "";
}
prefix_ std::string senf::log::Target::RoutingEntry::area()
const
{
- return area_->v_name();
+ return area_ ? area_->v_name() : "";
}
prefix_ unsigned senf::log::Target::RoutingEntry::level()
}
///////////////////////////////////////////////////////////////////////////
-// senf::log::TargetRegistry
+// senf::log::detail::TargetRegistry
-prefix_ void senf::log::TargetRegistry::registerTarget(Target * target)
+prefix_ void senf::log::detail::TargetRegistry::timeSource(std::auto_ptr<TimeSource> source)
+{
+ timeSource_.reset(source.release());
+}
+
+prefix_ void senf::log::detail::TargetRegistry::routed()
+{
+ fallbackRouting_ = false;
+}
+
+////////////////////////////////////////
+// private members
+
+prefix_ senf::log::detail::TargetRegistry::TargetRegistry()
+ : timeSource_(new SystemTimeSource()), fallbackRouting_(true)
+{}
+
+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<TimeSource> source)
+{
+ detail::TargetRegistry::instance().timeSource(source);
+}
+
/////////////////////////////cci.e///////////////////////////////////////
#undef prefix_