X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdiameter%2Fcodec%2Ftme%2FAvp.cpp;h=e5acc021acf2c102b191bcbf17c7d56fe5ea4d9e;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=82a8d591b3637c21a89b8f137bf52fe085bebc63;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/source/diameter/codec/tme/Avp.cpp b/source/diameter/codec/tme/Avp.cpp index 82a8d59..e5acc02 100644 --- a/source/diameter/codec/tme/Avp.cpp +++ b/source/diameter/codec/tme/Avp.cpp @@ -1,42 +1,14 @@ -// 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 // // Local #include -#include +//#include #include #include @@ -48,24 +20,6 @@ using namespace anna; using namespace anna::diameter::codec::tme; - -//------------------------------------------------------------------------------ -//------------------------------------------------------------------- Avp::Avp() -//------------------------------------------------------------------------------ -Avp::Avp() { - initialize(); -} - - -//------------------------------------------------------------------------------ -//------------------------------------------------------------------- Avp::Avp() -//------------------------------------------------------------------------------ -Avp::Avp(AvpId id) { - initialize(); - setId(id); -} - - //------------------------------------------------------------------------------ //------------------------------------------------------------------ Avp::~Avp() //------------------------------------------------------------------------------ @@ -74,18 +28,21 @@ Avp::~Avp() { } -//------------------------------------------------------------------------------ -//------------------------------------------------------------- Avp::getEngine() -//------------------------------------------------------------------------------ -anna::diameter::codec::Engine * Avp::getEngine() const throw(anna::RuntimeException) { - return a_engine ? a_engine : (a_engine = (anna::diameter::codec::Engine *)anna::functions::component (ANNA_FILE_LOCATION)); -} +////------------------------------------------------------------------------------ +////------------------------------------------------------------- Avp::getEngine() +////------------------------------------------------------------------------------ +//anna::diameter::codec::Engine * Avp::getEngine() const noexcept(false) { +// if(!a_engine) +// throw anna::RuntimeException("Invalid codec engine reference (NULL)", ANNA_FILE_LOCATION); +// +// return a_engine; +//} //------------------------------------------------------------------------------ //---------------------------------------------------- Avp::initializeByFormat() //------------------------------------------------------------------------------ -void Avp::initializeByFormat() throw() { +void Avp::initializeByFormat() { a_ISDNNumber = NULL; a_ISDNAddress = NULL; a_Unsigned16 = NULL; @@ -95,7 +52,7 @@ void Avp::initializeByFormat() throw() { //------------------------------------------------------------------------------ //--------------------------------------------------------- Avp::clearByFormat() //------------------------------------------------------------------------------ -void Avp::clearByFormat() throw() { +void Avp::clearByFormat() { delete a_ISDNNumber; delete a_ISDNAddress; delete a_Unsigned16; @@ -105,7 +62,7 @@ void Avp::clearByFormat() throw() { //------------------------------------------------------------------------------ //---------------------------------------------------- Avp::allocationByFormat() //------------------------------------------------------------------------------ -void Avp::allocationByFormat(const stack::Format *stackFormat) throw() { +void Avp::allocationByFormat(const stack::Format *stackFormat) { if(stackFormat->getName() == "ISDNNumber") a_ISDNNumber = new ISDNNumber(); else if(stackFormat->getName() == "ISDNAddress") a_ISDNAddress = new ISDNAddress(); else if(stackFormat->getName() == "Unsigned16") a_Unsigned16 = new Unsigned16(); @@ -115,7 +72,7 @@ void Avp::allocationByFormat(const stack::Format *stackFormat) throw() { //------------------------------------------------------------------------------ //----------------------------------------------------- Avp::getLengthByFormat() //------------------------------------------------------------------------------ -U24 Avp::getLengthByFormat(const stack::Format *stackFormat) const throw() { +U24 Avp::getLengthByFormat(const stack::Format *stackFormat) const { U24 result = 0; if(stackFormat->getName() == "ISDNNumber") result += a_ISDNNumber->getSize(); @@ -129,7 +86,7 @@ U24 Avp::getLengthByFormat(const stack::Format *stackFormat) const throw() { //------------------------------------------------------------------------------ //------------------------------------------------ Avp::decodeDataPartByFormat() //------------------------------------------------------------------------------ -void Avp::decodeDataPartByFormat(const char * buffer, int size, const stack::Format *stackFormat) throw(anna::RuntimeException) { +void Avp::decodeDataPartByFormat(const char * buffer, int size, const stack::Format *stackFormat) noexcept(false) { if(stackFormat->getName() == "ISDNNumber") a_ISDNNumber->decode(buffer, size); else if(stackFormat->getName() == "ISDNAddress") a_ISDNAddress->decode(buffer, size); else if(stackFormat->getName() == "Unsigned16") a_Unsigned16->decode(buffer, size); @@ -139,7 +96,7 @@ void Avp::decodeDataPartByFormat(const char * buffer, int size, const stack::For //------------------------------------------------------------------------------ //---------------------------------------------------------- Avp::codeByFormat() //------------------------------------------------------------------------------ -void Avp::codeByFormat(char* dataPart, const stack::Format *stackFormat) const throw(anna::RuntimeException) { +void Avp::codeByFormat(char* dataPart, const stack::Format *stackFormat) const noexcept(false) { int dataBytes; if(stackFormat->getName() == "ISDNNumber") a_ISDNNumber->code(dataPart, dataBytes); @@ -151,7 +108,7 @@ void Avp::codeByFormat(char* dataPart, const stack::Format *stackFormat) const t //------------------------------------------------------------------------------ //---------------------------------------------------- Avp::getXMLdataByFormat() //------------------------------------------------------------------------------ -std::string Avp::getXMLdataByFormat(bool & isHex, const stack::Format *stackFormat) const throw() { +std::string Avp::getXMLdataByFormat(bool & isHex, const stack::Format *stackFormat) const { std::string result; if(stackFormat->getName() == "ISDNNumber") { @@ -169,7 +126,7 @@ std::string Avp::getXMLdataByFormat(bool & isHex, const stack::Format *stackForm //------------------------------------------------------------------------------ //------------------------------------------------------- Avp::fromXMLByFormat() //------------------------------------------------------------------------------ -void Avp::fromXMLByFormat(const anna::xml::Attribute* data, const anna::xml::Attribute* hexData, const stack::Format *stackFormat) throw(anna::RuntimeException) { +void Avp::fromXMLByFormat(const anna::xml::Attribute* data, const anna::xml::Attribute* hexData, const stack::Format *stackFormat) noexcept(false) { if(stackFormat->getName() == "ISDNNumber") { if(data) a_ISDNNumber->fromPrintableString(data->getValue().c_str()); else if(hexData) a_ISDNNumber->fromHexString(hexData->getValue());