X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdiameter%2Fstack%2FAvpRule.hpp;h=aeef91c15d59d9c650ac1250b08ee9170830e821;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=3187bf0a6846ef162dc6944ab5d8fe43fa81aada;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/include/anna/diameter/stack/AvpRule.hpp b/include/anna/diameter/stack/AvpRule.hpp index 3187bf0..aeef91c 100644 --- a/include/anna/diameter/stack/AvpRule.hpp +++ b/include/anna/diameter/stack/AvpRule.hpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness 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 // #ifndef anna_diameter_stack_AvpRule_hpp @@ -95,7 +67,7 @@ public: * @param v Presence type * @return Presence description */ - static const char* asText(const Presence::_v v) throw(anna::RuntimeException) { + static const char* asText(const Presence::_v v) noexcept(false) { return asCString(v); } }; @@ -103,13 +75,12 @@ public: private: const Dictionary *a_dictionary; - std::string a_avpName; // reference + AvpId a_avpId; // reference Presence::_v a_presence; std::string a_qual; - void _initialize(const Dictionary *d) throw() { + void _initialize(const Dictionary *d) { a_dictionary = d; - a_avpName = ""; a_presence = Presence::None; a_qual = ""; } @@ -122,29 +93,29 @@ public: // get - const std::string & getAvpName(void) const throw() { return a_avpName; } - const Presence::_v & getPresence(void) const throw() { return a_presence; } - const std::string & getQual(void) const throw() { return a_qual; } + std::string getAvpName(void) const ; + const Presence::_v & getPresence(void) const { return a_presence; } + const std::string & getQual(void) const { return a_qual; } // helpers - AvpId getId(void) const throw(); - bool isAny(void) const throw(); // generic Avp - bool isFixed(void) const throw() { return (a_presence == Presence::Fixed); } - bool isMandatory(void) const throw() { return (a_presence == Presence::Mandatory); } - bool isOptional(void) const throw() { return (a_presence == Presence::Optional); } - int getQualMin(void) const throw(); - int getQualMax(void) const throw(); // -1 is infinite + AvpId getId(void) const { return a_avpId; } + bool isAny(void) const ; // generic Avp + bool isFixed(void) const { return (a_presence == Presence::Fixed); } + bool isMandatory(void) const { return (a_presence == Presence::Mandatory); } + bool isOptional(void) const { return (a_presence == Presence::Optional); } + int getQualMin(void) const ; + int getQualMax(void) const ; // -1 is infinite - std::string asString(bool showPair = true) const throw(); - anna::xml::Node* asXML(anna::xml::Node* parent) const throw(); + std::string asString(bool showPair = true) const ; + anna::xml::Node* asXML(anna::xml::Node* parent) const ; // operators // set - void initialize(const Dictionary *d = NULL) throw() { _initialize(d); } - void setAvpName(const std::string & an) throw() { a_avpName = an; } - void setPresence(const Presence::_v & p) throw() { a_presence = p; } - void setQual(const std::string & q) throw(anna::RuntimeException); + void initialize(const Dictionary *d = NULL) { _initialize(d); } + void setAvpId(const AvpId & ai) { a_avpId = ai; } + void setPresence(const Presence::_v & p) { a_presence = p; } + void setQual(const std::string & q) noexcept(false); };