commit | c93bcc978a48ab72c9c0193f89ae7eda61e2a996 | [log] [tgz] |
---|---|---|
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | Sat Jan 21 16:23:39 2017 -0500 |
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | Tue Jan 24 14:39:00 2017 -0500 |
tree | 10d6ed79efb8a352647bc74bd9f6a3bdb0140e20 | |
parent | 5d9cb05ccc20a0356c9bf4f77613d942b5467197 [diff] |
pimgen: Switch to new Mako templates A substantial structural update to pimgen. The existing template and supporting code is difficult to enhance. Given that the code being generated by pimgen is primarily a large map, with map elements being initialized by simple types, initializers lists or the result of method calls - structure pimgen types in a way that track these givens. yaml: Simplify the yaml structures. MethodCall: become an argument. Mako: Simplify main template. Use new convenience types. Use new decorator types. Remove unused function throughout. Change-Id: I1c3c16776ef8d5d7e005142999817e0371f9ce89 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Phosphor Inventory Manager (PIM) is an implementation of the xyz.openbmc_project.Inventory.Manager DBus interface, and supporting tools. PIM uses a combination of build-time YAML files and run-time calls to the Notify method of the Manager interface to provide a generalized inventory state management solution.
PIM includes a YAML parser (pimgen.py). For PIM to do anything useful, a set of YAML files must be provided externally that tell it what to do. Examples can be found in the examples directory.
The following top level YAML tags are supported:
events
Supported event tags are:
Subsequent tags are defined by the event type.
match
Supported match tags are:
filters
Supported filter tags are:
Subsequent tags are defined by the filter type.
The available filters provided by PIM are:
propertyChangedTo
Supported arguments for the propertyChangedTo filter are:
actions
Supported action tags are:
Subsequent tags are defined by the action type.
The available actions provided by PIM are:
destroyObject
Supported arguments for the destroyObject action are:
setProperty
Supported arguments for the setProperty action are:
After running pimgen.py, build PIM using the following steps:
./bootstrap.sh ./configure ${CONFIGURE_FLAGS} make
To clean the repository run:
./bootstrap.sh clean