Add policy::Table class

This class holds the error log policy data defined by
IBM's service people.  The raw data is stored in a JSON
file on the BMC, and loaded into the class on construction.

The policy data is a map of error messages (i.e.  the
xyz.openbmc_project.Foo.Error.Bar strings) to a list of
policy details structures.

Each details structure has:
* a search modifier - used to find the specific details
  entry for a specific error log message.
* a message - a customer facing description of the error
* an event ID - an ID defined by IBM that can be used to
                locate information about the error online.

An example of an entry of the JSON data it consumes is:
  {
    "dtls":[
      {
        "CEID":"ID 1",
        "mod":"mod 1",
        "msg":"Error 1"
      },
      {
        "CEID":"ID 2",
        "mod":"mod 2",
        "msg":"Error 2 "
      }
    ],
    "err":"xyz.openbmc_project.Error.Test1"
  }

A future commit will add the ability to find an entry.

Change-Id: I9869c15799914acf9cbc9d91ff714edb6e2512ef
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
4 files changed
tree: 0911842fa552c3c9eeec470916068535aa9d8b2e
  1. .gitignore
  2. bootstrap.sh
  3. configure.ac
  4. dbus.cpp
  5. dbus.hpp
  6. interfaces.hpp
  7. LICENSE
  8. main.cpp
  9. Makefile.am
  10. manager.cpp
  11. manager.hpp
  12. policy_table.cpp
  13. policy_table.hpp
  14. README.md
README.md

Provides IBM specific error logging functionality.

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To clean the repository run `./bootstrap.sh clean`.