summaryrefslogtreecommitdiffstats
path: root/group.cpp
blob: 6c0f06addae32570b9f39780bdb7b95ceac12536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <sdbusplus/message.hpp>
#include "group.hpp"
namespace phosphor
{
namespace led
{

/** @brief Overloaded Property Setter function */
bool Group::asserted(bool value)
{
    // Introducing these to enable gtest.
    Manager::group ledsAssert {};
    Manager::group ledsDeAssert {};

    // Group management is handled by Manager. The populated leds* sets are not
    // really used by production code. They are there to enable gtest for
    // validation.
    auto result = manager.setGroupState(path, value, ledsAssert,
                                        ledsDeAssert);

    // If something does not go right here, then there should be an sdbusplus
    // exception thrown.
    manager.driveLEDs(ledsAssert, ledsDeAssert);

    // Set the base class's asserted to 'true' since the getter
    // operation is handled there.
    return sdbusplus::xyz::openbmc_project::Led::server::
                      Group::asserted(result);
}

} // namespace led
} // namespace phosphor
OpenPOWER on IntegriCloud