xref: /linux/tools/net/sunrpc/xdrgen/generators/passthru.py (revision 1fd1dc41724319406b0aff221a352a400b0ddfc5)
1#!/usr/bin/env python3
2# ex: set filetype=python:
3
4"""Generate code for XDR pass-through lines"""
5
6from generators import SourceGenerator, create_jinja2_environment
7from xdr_ast import _XdrPassthru
8
9
10class XdrPassthruGenerator(SourceGenerator):
11    """Generate source code for XDR pass-through content"""
12
13    def __init__(self, language: str, peer: str):
14        """Initialize an instance of this class"""
15        self.environment = create_jinja2_environment(language, "passthru")
16        self.peer = peer
17
18    def emit_definition(self, node: _XdrPassthru) -> None:
19        """Emit one pass-through line"""
20        template = self.environment.get_template("definition.j2")
21        print(template.render(content=node.content))
22
23    def emit_decoder(self, node: _XdrPassthru) -> None:
24        """Emit one pass-through line"""
25        template = self.environment.get_template("source.j2")
26        print(template.render(content=node.content))
27