void lookupEnd() override;
void getAllDomains(vector<DomainInfo>* domains, bool getSerial, bool include_disabled = false) override;
- static DNSBackend* maker();
static std::mutex s_startup_lock;
void setStale(domainid_t domain_id) override;
return oss.str();
}
-//! For the dynamic loader
-DNSBackend* PipeBackend::maker()
-{
- try {
- return new PipeBackend();
- }
- catch (...) {
- g_log << Logger::Error << kBackendId << " Unable to instantiate a pipebackend!" << endl;
- return nullptr;
- }
-}
-
PipeBackend::~PipeBackend()
{
cleanup();
bool list(const ZoneName& target, domainid_t domain_id, bool include_disabled = false) override;
bool get(DNSResourceRecord& r) override;
string directBackendCmd(const string& query) override;
- static DNSBackend* maker();
private:
void launch();
}
}
-DNSBackend* RemoteBackend::maker()
-{
- try {
- return new RemoteBackend();
- }
- catch (...) {
- g_log << Logger::Error << kBackendId << " Unable to instantiate a remotebackend!" << endl;
- return nullptr;
- };
-}
-
class RemoteBackendFactory : public BackendFactory
{
public:
void setStale(domainid_t domain_id) override;
void setFresh(domainid_t domain_id) override;
- static DNSBackend* maker();
-
private:
int build();
std::unique_ptr<Connector> connector;