summaryrefslogtreecommitdiffstats
path: root/tools/sdbusplus/method.py
blob: 49a382b9168140a4a7a99746e3a6fc1dfb91be06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from .property import Property
from .namedelement import NamedElement
from .renderer import Renderer


class Method(NamedElement, Renderer):
    def __init__(self, **kwargs):
        self.parameters = \
            [Property(**p) for p in kwargs.pop('parameters', [])]
        self.returns = \
            [Property(**r) for r in kwargs.pop('returns', [])]
        self.errors = kwargs.pop('errors', [])

        super(Method, self).__init__(**kwargs)

    def markdown(self, loader):
        return self.render(loader, "method.mako.md", method=self)

    def cpp_prototype(self, loader, interface, ptype):
        return self.render(loader, "method.mako.prototype.hpp", method=self,
                           interface=interface, ptype=ptype, post=str.rstrip)
OpenPOWER on IntegriCloud