trigger.hpp (94f71c5190b64bb47aa34cdce4eb4cca71d36faa) trigger.hpp (b4ef22e4d365bde35a7fce7950033c9271c68ce7)
1#pragma once
2
3#include "interfaces/json_storage.hpp"
1#pragma once
2
3#include "interfaces/json_storage.hpp"
4#include "interfaces/report_manager.hpp"
4#include "interfaces/threshold.hpp"
5#include "interfaces/trigger.hpp"
6#include "interfaces/trigger_factory.hpp"
7#include "interfaces/trigger_manager.hpp"
8#include "types/trigger_types.hpp"
9
10#include <boost/asio/io_context.hpp>
11#include <sdbusplus/asio/object_server.hpp>

--- 6 unchanged lines hidden (view full) ---

18 Trigger(boost::asio::io_context& ioc,
19 const std::shared_ptr<sdbusplus::asio::object_server>& objServer,
20 const std::string& id, const std::string& name,
21 const std::vector<TriggerAction>& triggerActions,
22 const std::shared_ptr<std::vector<std::string>> reportIds,
23 std::vector<std::shared_ptr<interfaces::Threshold>>&& thresholds,
24 interfaces::TriggerManager& triggerManager,
25 interfaces::JsonStorage& triggerStorage,
5#include "interfaces/threshold.hpp"
6#include "interfaces/trigger.hpp"
7#include "interfaces/trigger_factory.hpp"
8#include "interfaces/trigger_manager.hpp"
9#include "types/trigger_types.hpp"
10
11#include <boost/asio/io_context.hpp>
12#include <sdbusplus/asio/object_server.hpp>

--- 6 unchanged lines hidden (view full) ---

19 Trigger(boost::asio::io_context& ioc,
20 const std::shared_ptr<sdbusplus::asio::object_server>& objServer,
21 const std::string& id, const std::string& name,
22 const std::vector<TriggerAction>& triggerActions,
23 const std::shared_ptr<std::vector<std::string>> reportIds,
24 std::vector<std::shared_ptr<interfaces::Threshold>>&& thresholds,
25 interfaces::TriggerManager& triggerManager,
26 interfaces::JsonStorage& triggerStorage,
26 const interfaces::TriggerFactory& triggerFactory,
27 Sensors sensorsIn);
27 const interfaces::TriggerFactory& triggerFactory, Sensors sensorsIn,
28 interfaces::ReportManager& reportManager);
28
29 Trigger(const Trigger&) = delete;
30 Trigger(Trigger&&) = delete;
31 Trigger& operator=(const Trigger&) = delete;
32 Trigger& operator=(Trigger&&) = delete;
33
34 std::string getId() const override
35 {
36 return id;
37 }
38
39 std::string getPath() const override
40 {
41 return path;
42 }
43
44 bool storeConfiguration() const;
45
29
30 Trigger(const Trigger&) = delete;
31 Trigger(Trigger&&) = delete;
32 Trigger& operator=(const Trigger&) = delete;
33 Trigger& operator=(Trigger&&) = delete;
34
35 std::string getId() const override
36 {
37 return id;
38 }
39
40 std::string getPath() const override
41 {
42 return path;
43 }
44
45 bool storeConfiguration() const;
46
47 const std::vector<std::string>& getReportIds() const override
48 {
49 return *reportIds;
50 }
51
46 private:
47 std::string id;
48 std::string name;
49 std::vector<TriggerAction> triggerActions;
50 std::string path;
51 bool persistent = false;
52 std::shared_ptr<std::vector<std::string>> reportIds;
53 std::unique_ptr<sdbusplus::asio::dbus_interface> deleteIface;
54 std::unique_ptr<sdbusplus::asio::dbus_interface> triggerIface;
55 std::vector<std::shared_ptr<interfaces::Threshold>> thresholds;
56
57 interfaces::JsonStorage::FilePath fileName;
58 interfaces::JsonStorage& triggerStorage;
59 Sensors sensors;
52 private:
53 std::string id;
54 std::string name;
55 std::vector<TriggerAction> triggerActions;
56 std::string path;
57 bool persistent = false;
58 std::shared_ptr<std::vector<std::string>> reportIds;
59 std::unique_ptr<sdbusplus::asio::dbus_interface> deleteIface;
60 std::unique_ptr<sdbusplus::asio::dbus_interface> triggerIface;
61 std::vector<std::shared_ptr<interfaces::Threshold>> thresholds;
62
63 interfaces::JsonStorage::FilePath fileName;
64 interfaces::JsonStorage& triggerStorage;
65 Sensors sensors;
66 interfaces::ReportManager& reportManager;
60
67
68 void
69 updateTriggerIdsInReports(const std::vector<std::string>& newReportIds);
70
61 public:
62 static constexpr const char* triggerIfaceName =
63 "xyz.openbmc_project.Telemetry.Trigger";
64 static constexpr const char* triggerDir =
65 "/xyz/openbmc_project/Telemetry/Triggers/";
66 static constexpr const char* deleteIfaceName =
67 "xyz.openbmc_project.Object.Delete";
68 static constexpr size_t triggerVersion = 1;
69};
71 public:
72 static constexpr const char* triggerIfaceName =
73 "xyz.openbmc_project.Telemetry.Trigger";
74 static constexpr const char* triggerDir =
75 "/xyz/openbmc_project/Telemetry/Triggers/";
76 static constexpr const char* deleteIfaceName =
77 "xyz.openbmc_project.Object.Delete";
78 static constexpr size_t triggerVersion = 1;
79};