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) for the
10          given path.
11      parameters:
12          - name: path
13            type: object_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 GetObject
31          method.
32      parameters:
33          - name: path
34            type: object_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[object_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 sutbtree and
51          services is of the type returned by the GetObject method.
52      parameters:
53          - name: subtree
54            type: object_path
55            description: >
56                The subtree path for which the result should be fetched.
57          - name: depth
58            type: int32
59            description: >
60                The maximum subtree depth for which results should be fetched.
61                For unconstrained fetches use a depth of zero.
62          - name: interfaces
63            type: array[string]
64            description: >
65                An array of result set constraining interfaces.
66      returns:
67          - name: objects
68            type: dict[object_path,dict[string,array[string]]]
69            description: >
70                A dictionary of path -> services.
71      errors:
72          - xyz.openbmc_project.Common.Error.ResourceNotFound
73    - name: GetSubTreePaths
74      description: >
75          Obtain an array of paths where array elements are in subtree.
76      parameters:
77          - name: subtree
78            type: object_path
79            description: >
80                The subtree path for which the result should be fetched.
81          - name: depth
82            type: int32
83            description: >
84                The maximum subtree depth for which results should be fetched.
85                For unconstrained fetches use a depth of zero.
86          - name: interfaces
87            type: array[string]
88            description: >
89                An array of result set constraining interfaces.
90      returns:
91          - name: paths
92            type: array[object_path]
93            description: >
94                An array of paths.
95      errors:
96          - xyz.openbmc_project.Common.Error.ResourceNotFound
97    - name: GetAssociatedSubTree
98      description: >
99          Same as GetSubTree, but only return the dbus paths that are an
100          association endpoint on associatedPath
101      parameters:
102          - name: associatedPath
103            type: object_path
104            description: >
105                The path where the associated endpoint is fetched from.
106          - name: subtree
107            type: object_path
108            description: >
109                The subtree path for which the result should be fetched.
110          - name: depth
111            type: int32
112            description: >
113                The maximum subtree depth for which results should be fetched.
114                For unconstrained fetches use a depth of zero.
115          - name: interfaces
116            type: array[string]
117            description: >
118                An array of result set constraining interfaces.
119      returns:
120          - name: objects
121            type: dict[object_path,dict[string,array[string]]]
122            description: >
123                A dictionary of path -> services.
124      errors:
125          - xyz.openbmc_project.Common.Error.ResourceNotFound
126    - name: GetAssociatedSubTreePaths
127      description: >
128          Same as GetSubTreePaths, but only return the dbus paths that are an
129          association endpoint on associatedPath
130      parameters:
131          - name: associatedPath
132            type: object_path
133            description: >
134                The path where the associated endpoint is fetched from.
135          - name: subtree
136            type: object_path
137            description: >
138                The subtree path for which the result should be fetched.
139          - name: depth
140            type: int32
141            description: >
142                The maximum subtree depth for which results should be fetched.
143                For unconstrained fetches use a depth of zero.
144          - name: interfaces
145            type: array[string]
146            description: >
147                An array of result set constraining interfaces.
148      returns:
149          - name: paths
150            type: array[object_path]
151            description: >
152                An array of paths.
153      errors:
154          - xyz.openbmc_project.Common.Error.ResourceNotFound
155