X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdiameter%2Fcodec%2FAvp.cpp;h=79b04b0f9b8598d14289e5db6b1d21291171a1ff;hb=84c30c372cf2926a138a6d51a52d56f3b2a63804;hp=bb65e38b3972d95ac3a1758e3e1458784cafc403;hpb=129500a50678c43ff28fb0054d6197899b8c0b2c;p=anna.git diff --git a/source/diameter/codec/Avp.cpp b/source/diameter/codec/Avp.cpp index bb65e38..79b04b0 100644 --- a/source/diameter/codec/Avp.cpp +++ b/source/diameter/codec/Avp.cpp @@ -55,7 +55,7 @@ const U8 Avp::PBitMask(0x20); //------------------------------------------------------------------------------ //------------------------------------------------------------------- Avp::Avp() //------------------------------------------------------------------------------ -Avp::Avp() { +Avp::Avp(Engine *engine) : a_engine(engine) { initialize(); } @@ -63,7 +63,7 @@ Avp::Avp() { //------------------------------------------------------------------------------ //------------------------------------------------------------------- Avp::Avp() //------------------------------------------------------------------------------ -Avp::Avp(AvpId id) { +Avp::Avp(AvpId id, Engine *engine) : a_engine(engine) { initialize(); setId(id); } @@ -180,7 +180,7 @@ avp_iterator Avp::avp_find(avp_container &avps, AvpId id, unsigned int position) //---------------------------------------------------------------- Avp::addAvp() //------------------------------------------------------------------------------ Avp * Avp::addAvp(avp_container &avps, int &insertionPositionForChilds, AvpId id, Engine *engine) throw() { - Avp * result = engine->allocateAvp(); + Avp * result = engine->createAvp(NULL); result->setId(id); addChild(avps, insertionPositionForChilds, result); return result; @@ -667,7 +667,7 @@ void Avp::decodeDataPart(const char * buffer, int size, const parent_t & parent, while(avpPos < size) { try { - avp = getEngine()->allocateAvp(); + avp = getEngine()->createAvp(NULL); db.assign(buffer + avpPos, size - avpPos /* is valid to pass total size (indeed i don't know the real avp size) because it will be limited and this has deep copy disabled (no memory is reserved) */); avp -> decode(db, me, answer); } catch(anna::RuntimeException &ex) { @@ -1505,7 +1505,7 @@ void Avp::fromXML(const anna::xml::Node* avpNode) throw(anna::RuntimeException) } try { - avp = getEngine()->allocateAvp(); + avp = getEngine()->createAvp(NULL); avp -> fromXML(*it); } catch(anna::RuntimeException &ex) { getEngine()->releaseAvp(avp);