1description: >
2    Implement to provide DBus service lookup features.
3
4    Any OpenBMC implementation must provide exactly one implementation of
5    xyz.openbmc_project.ObjectMapper on /xyz/openbmc_project/ObjectMapper.
6methods:
7    - name: GetObject
8      description: >
9          Obtain a dictionary of service -> implemented interface(s)
10          for the given path.
11      parameters:
12        - name: path
13          type: path
14          description: >
15            The object path for which the result should be fetched.
16        - name: interfaces
17          type: array[string]
18          description: >
19            An array of result set constraining interfaces.
20      returns:
21        - name: services
22          type: dict[string,array[string]]
23          description: >
24            A dictionary of service -> implemented interface(s).
25      errors:
26        - xyz.openbmc_project.Common.Error.ResourceNotFound
27    - name: GetAncestors
28      description: >
29          Obtain a dictionary of ancestor -> services where ancestor is an
30          ancestor of path and services is of the type returned by the
31          GetObject method.
32      parameters:
33        - name: path
34          type: path
35          description: >
36            The path for which the result should be fetched.
37        - name: interfaces
38          type: array[string]
39          description: >
40            An array of result set constraining interfaces.
41      returns:
42        - name: ancestors
43          type: dict[path,dict[string,array[string]]]
44          description: >
45            A dictionary of ancestor -> services.
46      errors:
47        - xyz.openbmc_project.Common.Error.ResourceNotFound
48    - name: GetSubTree
49      description: >
50          Obtain a dictionary of path -> services where path is in
51          sutbtree and services is of the type returned by the
52          GetObject method.
53      parameters:
54        - name: subtree
55          type: path
56          description: >
57            The subtree path for which the result should be fetched.
58        - name: depth
59          type: int32
60          description: >
61            The maximum subtree depth for which results should be fetched.
62            For unconstrained fetches use a depth of zero.
63        - name: interfaces
64          type: array[string]
65          description: >
66            An array of result set constraining interfaces.
67      returns:
68        - name: objects
69          type: dict[path,dict[string,array[string]]]
70          description: >
71            A dictionary of path -> services.
72      errors:
73        - xyz.openbmc_project.Common.Error.ResourceNotFound
74    - name: GetSubTreePaths
75      description: >
76          Obtain an array of paths where array elements are in subtree.
77      parameters:
78        - name: subtree
79          type: path
80          description: >
81            The subtree path for which the result should be fetched.
82        - name: depth
83          type: int32
84          description: >
85            The maximum subtree depth for which results should be fetched.
86            For unconstrained fetches use a depth of zero.
87        - name: interfaces
88          type: array[string]
89          description: >
90            An array of result set constraining interfaces.
91      returns:
92        - name: paths
93          type: array[path]
94          description: >
95            An array of paths.
96      errors:
97        - xyz.openbmc_project.Common.Error.ResourceNotFound
98