]> granicus.if.org Git - icinga2/commitdiff
Cleaned up Service::StateFromString function.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 7 Sep 2012 07:47:58 +0000 (09:47 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 7 Sep 2012 07:47:58 +0000 (09:47 +0200)
cib/service.cpp

index e8d6c74fdfdc015cc37328a68e61e2f96373a948..26bdcd1150b582617ab888f0795c8f20abf81e38 100644 (file)
@@ -391,24 +391,16 @@ void Service::ApplyCheckResult(const Dictionary::Ptr& cr)
 
 ServiceState Service::StateFromString(const String& state)
 {
-       /* TODO: make this thread-safe */
-       static map<String, ServiceState> stateLookup;
-
-       if (stateLookup.empty()) {
-               stateLookup["ok"] = StateOK;
-               stateLookup["warning"] = StateWarning;
-               stateLookup["critical"] = StateCritical;
-               stateLookup["uncheckable"] = StateUncheckable;
-               stateLookup["unknown"] = StateUnknown;
-       }
-
-       map<String, ServiceState>::iterator it;
-       it = stateLookup.find(state);
-
-       if (it == stateLookup.end())
-               return StateUnknown;
+       if (state == "ok")
+               return StateOK;
+       else if (state == "warning")
+               return StateWarning;
+       else if (state == "critical")
+               return StateCritical;
+       else if (state == "uncheckable")
+               return StateUncheckable;
        else
-               return it->second;
+               return StateUnknown;
 }
 
 String Service::StateToString(ServiceState state)