Remove dynamic exceptions
[anna.git] / source / diameter / codec / EngineImpl.cpp
index 5fff449..9d06706 100644 (file)
@@ -45,7 +45,7 @@ EngineImpl::EngineImpl(const char* className, const stack::Dictionary * dictiona
 //------------------------------------------------------------------------------
 //------------------------------------------------------ EngineImpl::createAvp()
 //------------------------------------------------------------------------------
-Avp* EngineImpl::createAvp(const AvpId *id) throw(anna::RuntimeException) {
+Avp* EngineImpl::createAvp(const AvpId *id) noexcept(false) {
   Avp *result(NULL);
   anna::Guard guard(this, "diameter::codec::EngineImpl::createAvp");
 
@@ -65,7 +65,7 @@ Avp* EngineImpl::createAvp(const AvpId *id) throw(anna::RuntimeException) {
 //------------------------------------------------------------------------------
 //-------------------------------------------------- EngineImpl::createMessage()
 //------------------------------------------------------------------------------
-Message* EngineImpl::createMessage(const CommandId *id) throw(anna::RuntimeException) {
+Message* EngineImpl::createMessage(const CommandId *id) noexcept(false) {
   Message *result(NULL);
   anna::Guard guard(this, "diameter::codec::EngineImpl::createMessage");
 
@@ -85,15 +85,19 @@ Message* EngineImpl::createMessage(const CommandId *id) throw(anna::RuntimeExcep
 //------------------------------------------------------------------------------
 //-------------------------------------------------- EngineImpl::createMessage()
 //------------------------------------------------------------------------------
-Message *EngineImpl::createMessage(const std::string & xmlPathFile) throw(anna::RuntimeException) {
+Message *EngineImpl::createMessage(const std::string & xmlPathFile_or_string, bool pathfile_or_string) noexcept(false) {
   Message *result = createMessage();
-  result->loadXML(xmlPathFile);
+  if (pathfile_or_string)
+    result->loadXMLFile(xmlPathFile_or_string);
+  else
+    result->loadXMLString(xmlPathFile_or_string);
+
   return result;
 }
 
 
 
-std::string EngineImpl::asString(void) const throw() {
+std::string EngineImpl::asString(void) const {
   std::string result = anna::Component::asString();
   result += "\nValidationDepth: ";
   result += asText(a_validationDepth);
@@ -106,7 +110,7 @@ std::string EngineImpl::asString(void) const throw() {
   result += "\nFixMode: ";
   result += asText(a_fixMode);
   result += "\nActivated Dictionary: ";
-  result += a_dictionary ? (a_dictionary->getName()) : "<null>";
+  result += a_dictionary ? (a_dictionary->getName()) : "[null]";
   return result;
 }
 
@@ -114,7 +118,7 @@ std::string EngineImpl::asString(void) const throw() {
 //---------------------------------------------------------- EngineImpl::asXML()
 //------------------------------------------------------------------------------
 anna::xml::Node* EngineImpl::asXML(anna::xml::Node* parent) const
-throw() {
+{
   parent = anna::Component::asXML(parent);
   anna::xml::Node* result = parent->createChild("diameter.codec.EngineImpl");
   result->createAttribute("ValidationDepth", asText(a_validationDepth));
@@ -122,7 +126,7 @@ throw() {
   result->createAttribute("SingleFailedAVP", a_singleFailedAVP ? "yes" : "no");
   result->createAttribute("IgnoreFlags", a_ignoreFlags ? "yes" : "no");
   result->createAttribute("FixMode", asText(a_fixMode));
-  anna::xml::Node* dictionary = result->createChild("EngineImpl.ActivatedDictionary");
+  result->createChild("EngineImpl.ActivatedDictionary");
 
   if(a_dictionary) a_dictionary->asXML(result);
 
@@ -133,7 +137,7 @@ throw() {
 //--------------------------------------------------------- EngineImpl::asText()
 //------------------------------------------------------------------------------
 const char* EngineImpl::asText(const ValidationDepth::_v vd)
-throw() {
+{
   static const char* text [] = { "Complete", "FirstError" };
   return text [vd];
 }
@@ -142,7 +146,7 @@ throw() {
 //--------------------------------------------------------- EngineImpl::asText()
 //------------------------------------------------------------------------------
 const char* EngineImpl::asText(const ValidationMode::_v vm)
-throw() {
+{
   static const char* text [] = { "BeforeEncoding", "AfterDecoding", "Always", "Never" };
   return text [vm];
 }
@@ -151,7 +155,7 @@ throw() {
 //--------------------------------------------------------- EngineImpl::asText()
 //------------------------------------------------------------------------------
 const char* EngineImpl::asText(const FixMode::_v fm)
-throw() {
+{
   static const char* text [] = { "BeforeEncoding", "AfterDecoding", "Always", "Never" };
   return text [fm];
 }
@@ -159,7 +163,7 @@ throw() {
 //------------------------------------------------------------------------------
 //---------------------------------------------- EngineImpl::validationAnomaly()
 //------------------------------------------------------------------------------
-void EngineImpl::validationAnomaly(const std::string & description) const throw(anna::RuntimeException) {
+void EngineImpl::validationAnomaly(const std::string & description) const noexcept(false) {
   std::string msg = "Validation error: ";
 
   if(a_validationDepth == ValidationDepth::FirstError)
@@ -172,7 +176,7 @@ void EngineImpl::validationAnomaly(const std::string & description) const throw(
 //------------------------------------------------------------------------------
 //--------------------------------------------------- EngineImpl::avpIdForName()
 //------------------------------------------------------------------------------
-anna::diameter::AvpId EngineImpl::avpIdForName(const char * name) throw(anna::RuntimeException) {
+anna::diameter::AvpId EngineImpl::avpIdForName(const char * name) noexcept(false) {
   if(!name)
     throw anna::RuntimeException("Provided NULL Avp Logical Name", ANNA_FILE_LOCATION);
 
@@ -197,7 +201,7 @@ anna::diameter::AvpId EngineImpl::avpIdForName(const char * name) throw(anna::Ru
 //------------------------------------------------------------------------------
 //----------------------------------------------- EngineImpl::commandIdForName()
 //------------------------------------------------------------------------------
-anna::diameter::CommandId EngineImpl::commandIdForName(const char * name) throw(anna::RuntimeException) {
+anna::diameter::CommandId EngineImpl::commandIdForName(const char * name) noexcept(false) {
   if(!name)
     throw anna::RuntimeException("Provided NULL Command Logical Name", ANNA_FILE_LOCATION);