From 76979e7475f66de5f3f2e0d52a52339102749fe5 Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Fri, 27 Sep 2013 14:55:11 +0200 Subject: [PATCH] allow reuse of DomainInfo::kind enum --- pdns/backends/gsql/gsqlbackend.cc | 7 +------ pdns/dnsbackend.hh | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index e13d60050f..1c62dd2c0a 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 { -- 2.47.2