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