1#!/usr/bin/env python3 2# ex: set filetype=python: 3 4"""Generate header bottom boilerplate""" 5 6import os.path 7import time 8 9from generators import Boilerplate, header_guard_infix 10from generators import create_jinja2_environment, get_jinja2_template 11from xdr_ast import Specification 12 13 14class XdrHeaderBottomGenerator(Boilerplate): 15 """Generate header boilerplate""" 16 17 def __init__(self, language: str, peer: str): 18 """Initialize an instance of this class""" 19 self.environment = create_jinja2_environment(language, "header_bottom") 20 self.peer = peer 21 22 def emit_declaration(self, filename: str, root: Specification) -> None: 23 """Emit the bottom header guard""" 24 template = get_jinja2_template(self.environment, "declaration", "header") 25 print(template.render(infix=header_guard_infix(filename))) 26 27 def emit_definition(self, filename: str, root: Specification) -> None: 28 """Emit the bottom header guard""" 29 template = get_jinja2_template(self.environment, "definition", "header") 30 print(template.render(infix=header_guard_infix(filename))) 31 32 def emit_source(self, filename: str, root: Specification) -> None: 33 pass 34