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