X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdiameter%2Fstack%2FCommand.hpp;h=737537e5bb295882ca44a5bf4c50d6ffef82fb3f;hb=f34b8069233e9e09208339bb79d8576c1ff962e1;hp=5bf6d7b08e571e4fc6b1752c47d1f1eee25943fc;hpb=39033fd99e58e994a5e98c1060dcc79e0d81f9c9;p=anna.git diff --git a/include/anna/diameter/stack/Command.hpp b/include/anna/diameter/stack/Command.hpp index 5bf6d7b..737537e 100644 --- a/include/anna/diameter/stack/Command.hpp +++ b/include/anna/diameter/stack/Command.hpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// http://redmine.teslayout.com/projects/anna-suite -// -// 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 the copyright holder 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 // #ifndef anna_diameter_stack_Command_hpp @@ -94,13 +66,13 @@ private: bool a_allowFixedRule; int a_avprulePosition; - void _initializeRules() throw() { + void _initializeRules() { a_avprules.clear(); a_allowFixedRule = true; a_avprulePosition = 0; } - void _initialize(const Dictionary *d) throw() { + void _initialize(const Dictionary *d) { a_dictionary = d; _initializeRules(); } @@ -112,42 +84,41 @@ public: // get - const CommandId & getId(void) const throw() { return a_id; } - const std::string & getName(void) const throw() { return a_name; } + const CommandId & getId(void) const { return a_id; } + const std::string & getName(void) const { return a_name; } // containers - const_avprule_iterator avprule_begin() const throw() { return a_avprules.begin(); } - const_avprule_iterator avprule_end() const throw() { return a_avprules.end(); } - int avprule_size() const throw() { return a_avprules.size(); } + const_avprule_iterator avprule_begin() const { return a_avprules.begin(); } + const_avprule_iterator avprule_end() const { return a_avprules.end(); } + int avprule_size() const { return a_avprules.size(); } // helpers - bool isEmpty(void) const throw() { return (!a_avprules.size()); } - bool isRequest(void) const throw() { return (a_id.second); } - bool isAnswer(void) const throw() { return (!a_id.second); } - bool isChild(const AvpId & avp) const throw(); + bool isEmpty(void) const { return (!a_avprules.size()); } + bool isRequest(void) const { return (a_id.second); } + bool isAnswer(void) const { return (!a_id.second); } + bool isChild(const AvpId & avp) const ; - std::string asString(void) const throw(); - anna::xml::Node* asXML(anna::xml::Node* parent) const throw(); + std::string asString(void) const ; + anna::xml::Node* asXML(anna::xml::Node* parent) const ; // operators // set - void initialize(const Dictionary *d = NULL) throw() { _initialize(d); } - void setCode(const U24 & c) throw(anna::RuntimeException) { - if(c < 0) throw anna::RuntimeException("Negative command-code not allowed", ANNA_FILE_LOCATION); + void initialize(const Dictionary *d = NULL) { _initialize(d); } + void setCode(const U24 & c) noexcept(false) { a_id.first = c; } - void setRequest(bool r = true) throw() { a_id.second = r; } - void setAnswer(bool a = true) throw() { a_id.second = a; } - void setName(const std::string & n) throw(anna::RuntimeException) { + void setRequest(bool r = true) { a_id.second = r; } + void setAnswer(bool a = true) { a_id.second = a; } + void setName(const std::string & n) noexcept(false) { if(n == "") throw anna::RuntimeException("Empty command-name string not allowed", ANNA_FILE_LOCATION); a_name = n; } - void addAvpRule(const AvpRule & avpRule) throw(anna::RuntimeException); + void addAvpRule(const AvpRule & avpRule) noexcept(false); };