blob: f9b086244008a1250bf8e064acc2a0904f900c08 [file] [log] [blame]
George Liuff92ffe2021-02-09 15:01:53 +08001#pragma once
2
3#include "config.h"
4
George Liuff92ffe2021-02-09 15:01:53 +08005#include <filesystem>
6#include <string>
7#include <vector>
8
George Liuff92ffe2021-02-09 15:01:53 +08009namespace phosphor
10{
11namespace dump
12{
13namespace ramoops
14{
15
16/** @class Manager
17 * @brief OpenBMC Core manager implementation.
18 */
19class 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
Dhruvaraj Subhashchandran1615b822023-05-31 15:29:15 -050036 * createDump D-Bus interface.
George Liuff92ffe2021-02-09 15:01:53 +080037 * @param [in] files - ramoops files list
38 */
39 void createHelper(const std::vector<std::string>& files);
Andrew Geissler7d069302023-11-09 13:25:31 -060040
41 /** @brief Create an error indicating ramoops was found
42 *
43 */
44 void createError();
George Liuff92ffe2021-02-09 15:01:53 +080045};
46
47} // namespace ramoops
48} // namespace dump
49} // namespace phosphor