|
@@ -28,7 +28,7 @@ re_typecode = re.compile('([\da-z]+)_(\d+)')
|
|
|
classcode2txt = {}
|
|
|
typecode2txt = {}
|
|
|
typeandclass = []
|
|
|
-new_rdatafactory_users = []
|
|
|
+new_rdatafactory_users = ['aaaa']
|
|
|
generic_code = 65536 # something larger than any code value
|
|
|
rdata_declarations = ''
|
|
|
class_definitions = ''
|
|
@@ -117,6 +117,9 @@ class AbstractMessageRenderer;\n\n'''
|
|
|
explicit ''' + type_utxt + '''(const std::string& type_str);
|
|
|
''' + type_utxt + '''(isc::util::InputBuffer& buffer, size_t rdata_len);
|
|
|
''' + type_utxt + '''(const ''' + type_utxt + '''& other);
|
|
|
+ ''' + type_utxt + '''(
|
|
|
+ MasterLexer& lexer, const Name* name,
|
|
|
+ MasterLoader::Options options, MasterLoaderCallbacks& callbacks);
|
|
|
virtual std::string toText() const;
|
|
|
virtual void toWire(isc::util::OutputBuffer& buffer) const;
|
|
|
virtual void toWire(AbstractMessageRenderer& renderer) const;
|
|
@@ -204,17 +207,33 @@ def generate_rdatadef(file, basemtime):
|
|
|
rdata_deffile.write(class_definitions)
|
|
|
rdata_deffile.close()
|
|
|
|
|
|
-def generate_rdatahdr(file, declarations, basemtime):
|
|
|
+def generate_rdatahdr(file, heading, declarations, basemtime):
|
|
|
if not need_generate(file, basemtime):
|
|
|
print('skip generating ' + file);
|
|
|
return
|
|
|
+ heading += '''
|
|
|
+#ifndef DNS_RDATACLASS_H
|
|
|
+#define DNS_RDATACLASS_H 1
|
|
|
+
|
|
|
+#include <dns/master_loader.h>
|
|
|
+
|
|
|
+namespace isc {
|
|
|
+namespace dns {
|
|
|
+class Name;
|
|
|
+class MasterLexer;
|
|
|
+class MasterLoaderCallbacks;
|
|
|
+}
|
|
|
+}
|
|
|
+'''
|
|
|
declarations += '''
|
|
|
+#endif // DNS_RDATACLASS_H
|
|
|
+
|
|
|
// Local Variables:
|
|
|
// mode: c++
|
|
|
// End:
|
|
|
'''
|
|
|
rdata_header = open(file, 'w')
|
|
|
- rdata_header.write(heading_txt)
|
|
|
+ rdata_header.write(heading)
|
|
|
rdata_header.write(declarations)
|
|
|
rdata_header.close()
|
|
|
|
|
@@ -306,8 +325,8 @@ if __name__ == "__main__":
|
|
|
try:
|
|
|
import_definitions(classcode2txt, typecode2txt, typeandclass)
|
|
|
generate_rdatadef('@builddir@/rdataclass.cc', rdatadef_mtime)
|
|
|
- generate_rdatahdr('@builddir@/rdataclass.h', rdata_declarations,
|
|
|
- rdatahdr_mtime)
|
|
|
+ generate_rdatahdr('@builddir@/rdataclass.h', heading_txt,
|
|
|
+ rdata_declarations, rdatahdr_mtime)
|
|
|
generate_typeclasscode('rrtype', rdatahdr_mtime, typecode2txt, 'Type')
|
|
|
generate_typeclasscode('rrclass', classdir_mtime,
|
|
|
classcode2txt, 'Class')
|