X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdiameter%2Fcodec%2FEngineManager.cpp;h=f3f505e5a0122bbc708c220b303b51c361aed735;hb=e782294456d0877aa8fc05aa931291ac79808eb3;hp=68add2b110797f9d3e2ee57e5da5943c77dae76b;hpb=e80e62a5cf9aacad1a9551c68c432147ef98cd29;p=anna.git diff --git a/source/diameter/codec/EngineManager.cpp b/source/diameter/codec/EngineManager.cpp index 68add2b..f3f505e 100644 --- a/source/diameter/codec/EngineManager.cpp +++ b/source/diameter/codec/EngineManager.cpp @@ -8,9 +8,12 @@ // Project #include +#include #include #include #include +#include + using namespace anna::diameter::codec; @@ -19,10 +22,22 @@ Engine *EngineManager::getCodecEngine(const ApplicationId &appid) const throw() if (it != a_appid_codec_engines.end()) return it->second; - return NULL; + // Just in case: + return getMonoStackCodecEngine(); } void EngineManager::registerCodecEngine(const ApplicationId &appid, Engine* engine) throw() { if (!engine) return; // nothing done a_appid_codec_engines[appid] = engine; } + +anna::xml::Node* EngineManager::asXML(anna::xml::Node* parent) const +throw() { + anna::xml::Node* result = parent->createChild("EngineManager"); + appid_codec_engines_it it_min(a_appid_codec_engines.begin()); + appid_codec_engines_it it_max(a_appid_codec_engines.end()); + for (appid_codec_engines_it it = it_min; it != it_max; it++) + it->second->asXML(result); + + return result; +}