Parse match rules

The 'pimgen.py' parser will parse one or more yaml files containing
inventory manager match rules and generate the required c++ header
file.

Change-Id: Id3b116450bd56487e266590dd339b93db9bc7d27
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
4 files changed
tree: 68c53d2d748f832ac81ca2afcf7a5cfa2463909f
  1. examples/
  2. app.cpp
  3. bootstrap.sh
  4. configure.ac
  5. LICENSE
  6. Makefile.am
  7. pimgen.py
  8. README.md
README.md

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.

YAML

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. An example can be found in the examples directory.

The following top level YAML tags are supported:

  • description - An optional description of the file.
  • events - One or more events that PIM should monitor.

events Supported event tags are:

  • name - A globally unique event name.
  • type - The event type. Supported types are: match.

Subsequent tags are defined by the event type.


match Supported match tags are:

  • signature - A DBus match specification.

Building

After running pimgen.py, build PIM using the following steps:

    ./bootstrap.sh
    ./configure ${CONFIGURE_FLAGS}
    make

To clean the repository run:

 ./bootstrap.sh clean