// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
/** \file
\brief Target inline non-template implementation */
-//#include "Target.ih"
+#include "Target.ih"
// Custom includes
-#include <algorithm>
+#include "AreaRegistry.hh"
#define prefix_ inline
///////////////////////////////cci.p///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// senf::log::Target
-prefix_ iterator senf::log::Target::begin()
+prefix_ void senf::log::Target::route(action_t action, int index)
+{
+ route(0, 0, NONE::value, action, index);
+}
+
+prefix_ void senf::log::Target::unroute(action_t action)
+{
+ unroute(0, 0, NONE::value, action);
+}
+
+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_ senf::log::Target::RoutingEntry const & senf::log::Target::operator[](size_type i)
+ const
+{
+ return rib_[i];
+}
+
+prefix_ senf::log::Target::size_type senf::log::Target::size()
+ const
+{
+ return rib_.size();
+}
+
+prefix_ bool senf::log::Target::empty()
+ const
+{
+ return rib_.empty();
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::log::Target::RoutingEntry
{}
prefix_ bool senf::log::Target::RoutingEntry::operator==(RoutingEntry const & other)
+ const
{
return
stream_ == other.stream_ &&
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::routed()
{
- targets_.insert(target);
+ fallbackRouting_ = false;
}
-prefix_ void senf::log::TargetRegistry::unregisterTarget(Target * target)
+prefix_ bool senf::log::detail::TargetRegistry::fallbackRouting()
+{
+ return fallbackRouting_;
+}
+
+prefix_ senf::console::ScopedDirectory<> & senf::log::detail::TargetRegistry::consoleDir()
+{
+ return consoleDir_();
+}
+
+////////////////////////////////////////
+// private members
+
+prefix_ void senf::log::detail::TargetRegistry::unregisterTarget(Target * target)
{
targets_.erase(target);
}