Path: blob/master/tools/net/sunrpc/xdrgen/generators/header_top.py
26292 views
#!/usr/bin/env python31# ex: set filetype=python:23"""Generate header top boilerplate"""45import os.path6import time78from generators import Boilerplate, header_guard_infix9from generators import create_jinja2_environment, get_jinja2_template10from xdr_ast import Specification111213class XdrHeaderTopGenerator(Boilerplate):14"""Generate header boilerplate"""1516def __init__(self, language: str, peer: str):17"""Initialize an instance of this class"""18self.environment = create_jinja2_environment(language, "header_top")19self.peer = peer2021def emit_declaration(self, filename: str, root: Specification) -> None:22"""Emit the top header guard"""23template = get_jinja2_template(self.environment, "declaration", "header")24print(25template.render(26infix=header_guard_infix(filename),27filename=filename,28mtime=time.ctime(os.path.getmtime(filename)),29)30)3132def emit_definition(self, filename: str, root: Specification) -> None:33"""Emit the top header guard"""34template = get_jinja2_template(self.environment, "definition", "header")35print(36template.render(37infix=header_guard_infix(filename),38filename=filename,39mtime=time.ctime(os.path.getmtime(filename)),40)41)4243def emit_source(self, filename: str, root: Specification) -> None:44pass454647