summaryrefslogtreecommitdiffstats
path: root/src/monitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/monitor.cpp')
-rw-r--r--src/monitor.cpp108
1 files changed, 0 insertions, 108 deletions
diff --git a/src/monitor.cpp b/src/monitor.cpp
deleted file mode 100644
index 2d4d649..0000000
--- a/src/monitor.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Copyright © 2017 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "monitor.hpp"
-
-namespace phosphor
-{
-namespace dbus
-{
-namespace monitoring
-{
-
-Monitor::Monitor(sdbusplus::bus::bus& bus) :
- bus(bus)
-{
- // Process thru given events that are type 'signal'
- for (auto& event : events)
- {
- for (auto& pEvent : std::get<std::vector<std::shared_ptr<Event>>>(event))
- {
- if (pEvent->trigger != Event::Trigger::SIGNAL)
- {
- continue;
- }
-
- auto signalEvent = static_cast<SignalEvent*>(pEvent.get());
- eventArgs.emplace_back(std::make_unique<eventArg>(this,
- signalEvent,
- &event));
- matches.emplace_back(bus,
- signalEvent->signature,
- handleSignal,
- eventArgs.back().get());
- }
- }
-}
-
-void Monitor::processStart() noexcept
-{
- sdbusplus::message::message nullMsg{nullptr};
-
- // Process thru given events that are type 'start'
- for (auto& event : events)
- {
- for (auto& pEvent : std::get<std::vector<std::shared_ptr<Event>>>(event))
- {
- if (pEvent->trigger == Event::Trigger::START)
- {
- handleEvent(nullMsg, *pEvent, event);
- }
- }
- }
-}
-
-int Monitor::handleSignal(sd_bus_message* msg,
- void* data,
- sd_bus_error* err)
-{
- auto sdbpMsg = sdbusplus::message::message(msg);
- auto& eventArg = *static_cast<Monitor::eventArg*>(data);
- std::get<0>(eventArg)->handleEvent(
- sdbpMsg,
- static_cast<const SignalEvent&>(*std::get<1>(eventArg)),
- *std::get<2>(eventArg));
- return 0;
-}
-
-void Monitor::handleEvent(sdbusplus::message::message& msg,
- const Event& event,
- const std::tuple<std::vector<std::shared_ptr<Event>>,
- std::vector<Action>>& eventDef)
-{
- // Iterate over conditions
- for (auto& cond : event)
- {
- if (!cond(bus, msg, *this))
- {
- continue;
- }
- // Perform defined actions
- for (auto& act : std::get<1>(eventDef))
- {
- act(bus, *this);
- }
- return;
- }
-}
-
-const std::vector<
- std::tuple<
- std::vector<std::shared_ptr<Event>>,
- std::vector<Action>>> Monitor::events;
-
-} // namespace monitoring
-} // namespace dbus
-} // namespace phosphor
OpenPOWER on IntegriCloud