From: Christian Hofstaedtler Date: Fri, 27 Sep 2013 12:55:11 +0000 (+0200) Subject: allow reuse of DomainInfo::kind enum X-Git-Tag: rec-3.6.0-rc1~428^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=76979e7475f66de5f3f2e0d52a52339102749fe5;p=pdns allow reuse of DomainInfo::kind enum --- diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index e13d60050..1c62dd2c0 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -143,12 +143,7 @@ bool GSQLBackend::getDomainInfo(const string &domain, DomainInfo &di) L< #endif // WIN32 +#include "misc.hh" #include "qtype.hh" #include "dns.hh" #include #include "namespaces.hh" - + class DNSBackend; struct DomainInfo { @@ -50,7 +51,7 @@ struct DomainInfo uint32_t notified_serial; uint32_t serial; time_t last_check; - enum {Master,Slave,Native} kind; + enum DomainKind { Master, Slave, Native } kind; DNSBackend *backend; bool operator<(const DomainInfo& rhs) const @@ -59,10 +60,26 @@ struct DomainInfo } const char *getKindString() const + { + return DomainInfo::getKindString(kind); + } + + static const char *getKindString(enum DomainKind kind) { const char *kinds[]={"Master", "Slave", "Native"}; return kinds[kind]; } + + static DomainKind stringToKind(const string& kind) + { + if(pdns_iequals(kind,"SLAVE")) + return DomainInfo::Slave; + else if(pdns_iequals(kind,"MASTER")) + return DomainInfo::Master; + else + return DomainInfo::Native; + } + }; struct TSIGKey {