blob: 7982bce203338fa111252d9f76fa2067e1cf4f68 [file] [log] [blame]
George Liuff92ffe2021-02-09 15:01:53 +08001#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
11namespace fs = std::filesystem;
12using namespace phosphor::logging;
13
14namespace phosphor
15{
16namespace dump
17{
18namespace ramoops
19{
20
21/** @class Manager
22 * @brief OpenBMC Core manager implementation.
23 */
24class 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