X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=source%2Fcore%2Foam%2FCounterScope.cpp;h=88425587b7181d853413bd477460544c283454b6;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=56d6995b2385be79e5108998c130f056315dd20b;hpb=4e12ac57e93c052f716a6305ad8fc099c45899d1;p=anna.git diff --git a/source/core/oam/CounterScope.cpp b/source/core/oam/CounterScope.cpp index 56d6995..8842558 100644 --- a/source/core/oam/CounterScope.cpp +++ b/source/core/oam/CounterScope.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not 'N' Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// https://bitbucket.org/testillano/anna -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // #include @@ -43,7 +15,6 @@ #include -#include #include #include @@ -62,7 +33,7 @@ using namespace anna; if (a_counters [index] == NULL) { \ string msg (asString ()); \ msg += functions::asText (" | CounterId: ", index); \ - msg += " | Counter Id is not defined"; \ + msg += " | Counter Id is not defined yet"; \ throw RuntimeException (msg, __FILE__, __LINE__); \ } @@ -75,7 +46,7 @@ oam::CounterScope::~CounterScope() { } void oam::CounterScope::create(const int counter, const char* name) -throw(RuntimeException) { +noexcept(false) { test_range(counter); if(a_counters [counter] != NULL) { @@ -99,42 +70,40 @@ throw(RuntimeException) { } oam::Counter::type_t oam::CounterScope::increment(const int counter, const oam::Counter::type_t value) -throw(RuntimeException) { +noexcept(false) { test_range(counter); test_instance(counter); a_counters [counter]->a_value += value; a_counters [counter]->a_accValue += value; LOGINFORMATION(a_counters [counter]->debug()); - a_counterManager.activateTimer(); return a_counters [counter]->a_value; } oam::Counter::type_t oam::CounterScope::assign(const int counter, const oam::Counter::type_t value) -throw(RuntimeException) { +noexcept(false) { test_range(counter); test_instance(counter); a_counters [counter]->a_value = value; a_counters [counter]->a_accValue = value; LOGINFORMATION(a_counters [counter]->debug()); - a_counterManager.activateTimer(); return value; } oam::Counter::type_t oam::CounterScope::getValue(const int counter) const -throw(RuntimeException) { +noexcept(false) { test_range(counter); test_instance(counter); return a_counters [counter]->a_value; } -Unsigned64 oam::CounterScope::getAccValue(const int counter) const -throw(RuntimeException) { +U64 oam::CounterScope::getAccValue(const int counter) const +noexcept(false) { test_range(counter); test_instance(counter); return a_counters [counter]->a_accValue; } -int oam::CounterScope::resetAccValues() throw(RuntimeException) { +int oam::CounterScope::resetAccValues() noexcept(false) { int result = 0; // affected counters for(int ii = 0; ii < MaxCounter; ii ++) @@ -145,14 +114,14 @@ int oam::CounterScope::resetAccValues() throw(RuntimeException) { } const oam::Counter* oam::CounterScope::getCounter(const int counter) const -throw(RuntimeException) { +noexcept(false) { test_range(counter); test_instance(counter); return a_counters [counter]; } string oam::CounterScope::asString() const -throw() { +{ string result("oam::CounterScope { Id: "); result += functions::asString(a_id); result += " | Name: "; @@ -161,7 +130,7 @@ throw() { } xml::Node* oam::CounterScope::asXML(xml::Node* parent) const -throw(RuntimeException) { +noexcept(false) { xml::Node* result = parent->createChild("Scope"); xml::Node* counter; @@ -179,25 +148,3 @@ throw(RuntimeException) { return result; } -/* -[0x7fbfffea90]: timex::Engine | Callers: timex::Engine::activate [2],timex::Engine::tick [69] - [0x79bf60, 2]: oam::CounterManager | Callers: MyInterface::receive [4],anna::oam::CounterManager::record [2] - [0x7fbfffea90, 2]: timex::Engine | Callers: timex::Engine::activate [2],timex::Engine::tick [69] - ------ Loop detected [ Level=2 | Loop: 3 ] ------- -*/ -oam::CounterScope::Safe::Safe(timex::Engine* ttcc, oam::CounterScope& counterScope, const char* whatis) : - a_counterScope(counterScope) { - if(ttcc != NULL) - a_guards [0] = new Guard(ttcc, "timex::Engine from oam::CounterScope::Safe::Safe"); - else - a_guards [0] = NULL; - - a_guards [1] = new Guard(counterScope, whatis); -} - -oam::CounterScope::Safe::~Safe() -throw() { - delete a_guards [1]; - delete a_guards [0]; -} -