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