2 PowerDNS Versatile Database Driven Nameserver
3 Copyright (C) 2002-2007 PowerDNS.COM BV
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License version 2
7 as published by the Free Software Foundation
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 #include "namespaces.hh"
31 BindDomainInfo() : d_dev(0), d_ino(0)
36 name=filename=type="";
45 vector<string> masters;
46 set<string> alsoNotify;
52 bool operator<(const BindDomainInfo& b) const
54 return make_pair(d_dev, d_ino) < make_pair(b.d_dev, b.d_ino);
58 extern const char *bind_directory;
63 BindParser() : d_dir("."), d_verbose(false)
66 extern int include_stack_ptr;
69 bind_directory=d_dir.c_str();
78 void parse(const string &fname);
79 void commit(BindDomainInfo DI);
80 void setDirectory(const string &dir);
81 const string &getDirectory();
82 const vector<BindDomainInfo>& getDomains();
83 void setVerbose(bool verbose);
84 void addAlsoNotify(const string &host);
85 set<string> & getAlsoNotify() { return this->alsoNotify; }
89 typedef map<string,string> zonedomain_t;
90 set<string> alsoNotify;
91 vector<BindDomainInfo> d_zonedomains;
94 #endif /* BINDPARSER_HH */