00001 #include "Conventions/Reactor.h"
00002 #include <cctype>
00003 #include <string>
00004 #include <algorithm>
00005
00006 using namespace std;
00007
00008 const char* Reactor::AsString(Reactor::Reactor_t core)
00009 {
00012
00013 switch(core) {
00014 case kUnknown: return "Unknown";
00015 case kDayaBayA: return "DayaBayA";
00016 case kDayaBayB: return "DayaBayB";
00017 case kLingAoIA: return "LingAoIA";
00018 case kLingAoIB: return "LingAoIB";
00019 case kLingAoIIA:return "LingAoIIA";
00020 case kLingAoIIB:return "LingAoIIB";
00021 default: return "?Unknown?";
00022 };
00023 }
00024
00025 Reactor::Reactor_t Reactor::FromString(const char* str)
00026 {
00027 string s = str;
00028 std::transform(s.begin(),s.end(),s.begin(),::tolower);
00029
00030 using namespace Reactor;
00031
00032 if (s.find("dayabaya") != string::npos) return kDayaBayA;
00033 if (s.find("dayabayb") != string::npos) return kDayaBayB;
00034 if (s.find("lingaoia") != string::npos) return kLingAoIA;
00035 if (s.find("lingaoib") != string::npos) return kLingAoIB;
00036 if (s.find("lingaoiia") != string::npos) return kLingAoIIA;
00037 if (s.find("lingaoiib") != string::npos) return kLingAoIIB;
00038 return kUnknown;
00039 }