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