xref: /openbmc/phosphor-debug-collector/ramoops_manager.hpp (revision e9ec952ef5f4788c74332b03f0d8d4f041910a47)
1 #pragma once
2 
3 #include "config.h"
4 
5 #include <filesystem>
6 #include <string>
7 #include <vector>
8 
9 namespace phosphor
10 {
11 namespace dump
12 {
13 namespace ramoops
14 {
15 
16 /** @class Manager
17  *  @brief OpenBMC Core manager implementation.
18  */
19 class Manager
20 {
21   public:
22     Manager() = delete;
23     Manager(const Manager&) = default;
24     Manager& operator=(const Manager&) = delete;
25     Manager(Manager&&) = delete;
26     Manager& operator=(Manager&&) = delete;
27     virtual ~Manager() = default;
28 
29     /** @brief Constructor to create ramoops
30      *  @param[in] filePath - Path where the ramoops are stored.
31      */
32     Manager(const std::string& filePath);
33 
34   private:
35     /** @brief Helper function for initiating dump request using
36      *         createDump D-Bus interface.
37      *  @param [in] files - ramoops files list
38      */
39     void createHelper(const std::vector<std::string>& files);
40 
41     /** @brief Create an error indicating ramoops was found
42      *
43      */
44     void createError();
45 };
46 
47 } // namespace ramoops
48 } // namespace dump
49 } // namespace phosphor
50