Restore Callout objects

Restore any saved Callout objects when the application starts
up and creates its interfaces for all existing error logs.

For each error log, it will look in the save directory for it
to find any saved Callout files.  If there is one, it will
restore a Callout object from it.

The default path it looks in is:
/var/lib/ibm-logging/errors/N/callouts/ where N is an error
log entry ID.

The code will look for all numerically named files in that
directory to restore.  If it is unsuccessful, it will delete
the file since it is corrupt and move on to the next one.

Tested: Restart ibm-log-manager and check that the callout
        objects were preserved via looking at D-Bus.

Resolves openbmc/openbmc#2973

Change-Id: I8bc1dac3748a39e2c3a33d763e75ff90e5da668e
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
2 files changed
tree: d68a83562709fb75b89406bba8b942cccf6d08e2
  1. test/
  2. .clang-format
  3. .gitignore
  4. bootstrap.sh
  5. callout.cpp
  6. callout.hpp
  7. condense_policy.py
  8. configure.ac
  9. create_error_reports.py
  10. dbus.cpp
  11. dbus.hpp
  12. interfaces.hpp
  13. LICENSE
  14. main.cpp
  15. MAINTAINERS
  16. Makefile.am
  17. manager.cpp
  18. manager.hpp
  19. policy_find.cpp
  20. policy_find.hpp
  21. policy_table.cpp
  22. policy_table.hpp
  23. 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`.