root/trunk/pdns/pdns/zoneparser-tng.hh @ 951

Revision 951, 1.3 KB (checked in by ahu, 6 years ago)

teach zoneparser-tng about $INCLUDE and partially implement $GENERATE

Line 
1/*
2    PowerDNS Versatile Database Driven Nameserver
3    Copyright (C) 2005 - 2006 PowerDNS.COM BV
4
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
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17*/
18
19#ifndef PDNS_ZONEPARSER_TNG
20#define PDNS_ZONEPARSER_TNG
21#include <string>
22#include <cstdio>
23#include <stdexcept>
24#include <stack>
25
26using namespace std;
27
28class ZoneParserTNG
29{
30public:
31  ZoneParserTNG(const string& fname, const string& zname="");
32
33  ~ZoneParserTNG();
34
35  bool get(DNSResourceRecord& rr);
36  typedef runtime_error exception;
37private:
38  bool getLine();
39  void stackFile(const std::string& fname);
40  stack<FILE *> d_fps;
41  string d_line;
42  string d_prevqname;
43  string d_zonename;
44  int d_defaultttl;
45};
46
47#endif
Note: See TracBrowser for help on using the browser.