X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdiameter%2Fcodec%2Ftme%2FAvp.hpp;h=971e76c01e372114d26c867a8e925a68bc37a185;hb=HEAD;hp=b4a1917797cc2db59e876f73287d25e5bb8838aa;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/include/anna/diameter/codec/tme/Avp.hpp b/include/anna/diameter/codec/tme/Avp.hpp index b4a1917..971e76c 100644 --- a/include/anna/diameter/codec/tme/Avp.hpp +++ b/include/anna/diameter/codec/tme/Avp.hpp @@ -41,11 +41,13 @@ class ISDNAddress; namespace codec { +class Engine; + namespace tme { class Avp; class Message; -class Engine; +//class Engine; using namespace helpers::tme::codectypes; @@ -61,33 +63,36 @@ class Avp : public anna::diameter::codec::Avp { ISDNAddress *a_ISDNAddress; Unsigned16 *a_Unsigned16; - virtual void initializeByFormat() throw(); - virtual U24 getLengthByFormat(const anna::diameter::stack::Format *stackFormat) const throw(); - virtual std::string getXMLdataByFormat(bool & isHex, const anna::diameter::stack::Format *stackFormat) const throw(); - virtual void fromXMLByFormat(const anna::xml::Attribute* data, const anna::xml::Attribute* hexData, const anna::diameter::stack::Format *stackFormat) throw(anna::RuntimeException); - virtual void codeByFormat(char* dataPart, const anna::diameter::stack::Format *stackFormat) const throw(anna::RuntimeException); - virtual void decodeDataPartByFormat(const char * buffer, int size, const anna::diameter::stack::Format *stackFormat) throw(anna::RuntimeException); - virtual void allocationByFormat(const anna::diameter::stack::Format *stackFormat) throw(); - virtual void clearByFormat() throw(); + virtual void initializeByFormat() ; + virtual U24 getLengthByFormat(const anna::diameter::stack::Format *stackFormat) const ; + virtual std::string getXMLdataByFormat(bool & isHex, const anna::diameter::stack::Format *stackFormat) const ; + virtual void fromXMLByFormat(const anna::xml::Attribute* data, const anna::xml::Attribute* hexData, const anna::diameter::stack::Format *stackFormat) noexcept(false); + virtual void codeByFormat(char* dataPart, const anna::diameter::stack::Format *stackFormat) const noexcept(false); + virtual void decodeDataPartByFormat(const char * buffer, int size, const anna::diameter::stack::Format *stackFormat) noexcept(false); + virtual void allocationByFormat(const anna::diameter::stack::Format *stackFormat) ; + virtual void clearByFormat() ; -protected: +//protected: - /** Codec Engine getter: avoids have to create base engine when using its child */ - virtual anna::diameter::codec::Engine * getEngine() const throw(anna::RuntimeException); +// /** Codec Engine getter: avoids have to create base engine when using its child */ +// virtual anna::diameter::codec::Engine * getEngine() const noexcept(false); public: /** * Default constructor + * @param engine Codec engine used */ - Avp(); + Avp(Engine *engine = NULL) : anna::diameter::codec::Avp(engine) {;} /** * Identified constructor - * @param id Avp identifier as pair (code,vendorID). + * @param id Avp identifier as pair (code,vendor-id). + * @param engine Codec engine used */ - Avp(AvpId id); + Avp(AvpId id, Engine *engine = NULL) : anna::diameter::codec::Avp(id, engine) {;} + /** * Destructor @@ -96,25 +101,25 @@ public: /** Access content for ISDNNumber Avp in order to set data part */ - ISDNNumber * getISDNNumber() throw(anna::RuntimeException) { assertFormat("ISDNNumber"); return a_ISDNNumber; } + ISDNNumber * getISDNNumber() noexcept(false) { assertFormat("ISDNNumber"); return a_ISDNNumber; } /** Access content for ISDNAddress Avp in order to set data part */ - ISDNAddress * getISDNAddress() throw(anna::RuntimeException) { assertFormat("ISDNAddress"); return a_ISDNAddress; } + ISDNAddress * getISDNAddress() noexcept(false) { assertFormat("ISDNAddress"); return a_ISDNAddress; } /** Access content for Unsigned16 Avp in order to set data part */ - Unsigned16 * getUnsigned16() throw(anna::RuntimeException) { assertFormat("Unsigned16"); return a_Unsigned16; } + Unsigned16 * getUnsigned16() noexcept(false) { assertFormat("Unsigned16"); return a_Unsigned16; } /** Access content for ISDNNumber Avp */ - const ISDNNumber * getISDNNumber() const throw(anna::RuntimeException) { assertFormat("ISDNNumber"); return a_ISDNNumber; } + const ISDNNumber * getISDNNumber() const noexcept(false) { assertFormat("ISDNNumber"); return a_ISDNNumber; } /** Access content for ISDNAddress Avp */ - const ISDNAddress * getISDNAddress() const throw(anna::RuntimeException) { assertFormat("ISDNAddress"); return a_ISDNAddress; } + const ISDNAddress * getISDNAddress() const noexcept(false) { assertFormat("ISDNAddress"); return a_ISDNAddress; } /** Access content for Unsigned16 Avp */ - const Unsigned16 * getUnsigned16() const throw(anna::RuntimeException) { assertFormat("Unsigned16"); return a_Unsigned16; } + const Unsigned16 * getUnsigned16() const noexcept(false) { assertFormat("Unsigned16"); return a_Unsigned16; } friend class Message; - friend class Engine; + friend class anna::diameter::codec::Engine; }; }