blob: 9cca2fd47a5557844d263c110e99e7a831bdc369 [file] [log] [blame]
#pragma once
#include "interfaces.hpp"
#include "manager.hpp"
namespace ibm
{
namespace logging
{
/**
* @class Delete
*
* Implements the xyz.openbmc_project.Collect.DeleteAll interface
* that will delete all ibm-logging entries.
*/
class DeleteAll : public DeleteAllObject
{
public:
DeleteAll() = delete;
DeleteAll(const DeleteAll&) = delete;
DeleteAll& operator=(const DeleteAll&) = delete;
DeleteAll(DeleteAll&&) = default;
DeleteAll& operator=(DeleteAll&&) = default;
virtual ~DeleteAll() = default;
/**
* Constructor
*
* @param[in] bus - the D-Bus bus object
* @param[in] path - the object path
* @param[in] manager - the Manager object
*/
DeleteAll(sdbusplus::bus::bus& bus, const std::string& path,
Manager& manager) :
DeleteAllObject(bus, path.c_str()),
manager(manager)
{
}
/**
* The Delete D-Bus method
*/
inline void deleteAll() override
{
manager.eraseAll();
}
private:
/**
* The Manager object
*/
Manager& manager;
};
}
}