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