X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.cci;h=7e02f9103d575816da3a879b7eabc85978d29953;hb=6cfb0a8ca46d3cb0cc521a75118027ecc3fa4ef1;hp=1aa5b77b2941fe4fc77f923f865ce635ae872029;hpb=0d797005aea3471b1d4311709232ccf2c292f3c5;p=senf.git diff --git a/Utils/Logger/Target.cci b/Utils/Logger/Target.cci index 1aa5b77..7e02f91 100644 --- a/Utils/Logger/Target.cci +++ b/Utils/Logger/Target.cci @@ -1,8 +1,8 @@ // $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 // // This program is free software; you can redistribute it and/or modify @@ -23,9 +23,10 @@ /** \file \brief Target inline non-template implementation */ -//#include "Target.ih" +#include "Target.ih" // Custom includes +#include "AreaRegistry.hh" #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// @@ -33,6 +34,16 @@ /////////////////////////////////////////////////////////////////////////// // senf::log::Target +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 { @@ -45,6 +56,24 @@ prefix_ senf::log::Target::iterator senf::log::Target::end() 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 @@ -59,6 +88,7 @@ prefix_ senf::log::Target::RoutingEntry::RoutingEntry() {} prefix_ bool senf::log::Target::RoutingEntry::operator==(RoutingEntry const & other) + const { return stream_ == other.stream_ && @@ -70,13 +100,13 @@ prefix_ bool senf::log::Target::RoutingEntry::operator==(RoutingEntry const & ot 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() @@ -92,14 +122,27 @@ 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::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); }