xref: /linux/tools/net/sunrpc/xdrgen/generators/header_bottom.py (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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