diff --git a/src/app/clusters/refrigerator-alarm-server/refrigerator-alarm-server.cpp b/src/app/clusters/refrigerator-alarm-server/refrigerator-alarm-server.cpp index ff29f84fb95ba9..d358213773dc1c 100644 --- a/src/app/clusters/refrigerator-alarm-server/refrigerator-alarm-server.cpp +++ b/src/app/clusters/refrigerator-alarm-server/refrigerator-alarm-server.cpp @@ -17,8 +17,8 @@ */ #include -#include #include +#include #include #include @@ -30,39 +30,32 @@ using namespace chip::app::Clusters::RefrigeratorAlarm::Attributes; using namespace chip::DeviceLayer; using chip::Protocols::InteractionModel::Status; -static Status resetHandler(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const chip::BitMask alarms, const chip::Optional> mask); +static Status resetHandler(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, + const chip::BitMask alarms, const chip::Optional> mask); -static Status resetHandler(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const chip::BitMask alarms, const chip::Optional> mask) +static Status resetHandler(CommandHandler * commandObj, const ConcreteCommandPath & commandPath, const BitMask & alarms, + const Optional> & mask) { EndpointId endpoint = commandPath.mEndpointId; EmberAfStatus status; chip::BitMask state = 0; - status = State::Get(endpoint, &state); + status = State::Get(endpoint, &state); if (status != EMBER_ZCL_STATUS_SUCCESS) { return Status::Failure; } - - uint32_t alarmValue = alarms.Raw(); - uint32_t stateValue = state.Raw(); - - // Flip the bits of alarms (i.e. ~alarms) - alarmValue = 0xFFFF ^ alarmValue; - // Reset state from active to inactive - stateValue = stateValue & alarmValue; - - state.SetRaw(stateValue); + state.Clear(alarms); status = State::Set(endpoint, state); if (status != EMBER_ZCL_STATUS_SUCCESS) { return Status::Failure; } - if(mask.HasValue()) + if (mask.HasValue()) { - status = Mask::Set(endpoint, mask.Value()); + status = Mask::Set(endpoint, mask.Value()); if (status != EMBER_ZCL_STATUS_SUCCESS) { return Status::Failure; @@ -70,13 +63,13 @@ static Status resetHandler(app::CommandHandler * commandObj, const app::Concrete } return Status::Success; - } /********************************************************** * Callbacks Implementation *********************************************************/ -bool emberAfRefrigeratorAlarmClusterResetCallback(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const Commands::Reset::DecodableType & commandData) +bool emberAfRefrigeratorAlarmClusterResetCallback(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, + const Commands::Reset::DecodableType & commandData) { auto & alarms = commandData.alarms; auto & mask = commandData.mask;