1 #pragma once 2 3 #include "config.h" 4 5 #include <filesystem> 6 #include <string> 7 #include <vector> 8 9 namespace phosphor 10 { 11 namespace dump 12 { 13 namespace ramoops 14 { 15 16 /** @class Manager 17 * @brief OpenBMC Core manager implementation. 18 */ 19 class 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 36 * createDump D-Bus interface. 37 * @param [in] files - ramoops files list 38 */ 39 void createHelper(const std::vector<std::string>& files); 40 41 /** @brief Create an error indicating ramoops was found 42 * 43 */ 44 void createError(); 45 }; 46 47 } // namespace ramoops 48 } // namespace dump 49 } // namespace phosphor 50