00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef DNS_H
00017 #define DNS_H
00018
00019 #ifdef HAVE_CONFIG_H
00020 #include "config.h"
00021 #endif
00022
00023 #include "Logger.h"
00024 #include "Exception.h"
00025 #include "global.h"
00026
00027 #include "DnsRecord.h"
00028
00029 enum DnsRecordType {A, CNAME, NS, MX, ANY};
00030
00035 class Dns
00036 {
00037 public:
00039 Dns(Logger *log);
00040
00042 virtual ~Dns() { };
00043
00045 virtual void addDnsRecord(int id, const char *dname, DnsRecordType type,
00046 const char *data) = 0;
00048 virtual void delDnsRecords(char *dname) = 0;
00049 virtual void delDnsRecord(int id, const char *dname, DnsRecordType type,
00050 const char *data) = 0;
00051
00052 virtual void updateDnsRecord(int id, const char *dname, DnsRecordType type,
00053 const char *data) = 0;
00054
00055 protected:
00057 Dns() { };
00058
00059 private:
00060 Logger *log;
00061 };
00062
00063 #endif // DNS_H