Skip to content

Commit 32550be

Browse files
committed
♻️ (BLEKit): Add onHumidityRequested agglomerate with onTemperatureRequested
1 parent 31483b9 commit 32550be

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

libs/BLEKit/include/BLEServiceMonitoring.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ class BLEServiceMonitoring : public interface::BLEService
6161

6262
auto isScreensaverEnable() const -> bool { return _screensaver_enable; }
6363

64-
void onTemperatureRequested(const std::function<void()> &callback)
64+
void onTemperatureHumidityRequested(const std::function<void()> &callback)
6565
{
66-
_on_temperature_requested_callback = callback;
66+
_on_temperature_humidity_requested_callback = callback;
6767
}
6868

6969
void onDataReceived(const data_received_handle_t &params) final
@@ -89,9 +89,10 @@ class BLEServiceMonitoring : public interface::BLEService
8989

9090
void onDataRequested(const data_requested_handle_t &params) final
9191
{
92-
if (params.handle == _temperature_characteristic.getValueHandle() &&
93-
_on_temperature_requested_callback != nullptr) {
94-
_on_temperature_requested_callback();
92+
if ((params.handle == _temperature_characteristic.getValueHandle() ||
93+
params.handle == _humidity_characteristic.getValueHandle()) &&
94+
_on_temperature_humidity_requested_callback != nullptr) {
95+
_on_temperature_humidity_requested_callback();
9596
}
9697
}
9798

@@ -107,13 +108,14 @@ class BLEServiceMonitoring : public interface::BLEService
107108
ReadOnlyArrayGattCharacteristic<uint8_t, 4> _temperature_characteristic {
108109
service::monitoring::characteristic::temperature, temperature.begin(),
109110
GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY};
110-
std::function<void()> _on_temperature_requested_callback {};
111111

112112
std::array<uint8_t, 4> humidity {};
113113
ReadOnlyArrayGattCharacteristic<uint8_t, 4> _humidity_characteristic {
114114
service::monitoring::characteristic::humidity, humidity.begin(),
115115
GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY};
116116

117+
std::function<void()> _on_temperature_humidity_requested_callback {};
118+
117119
bool _screensaver_enable {true};
118120
WriteOnlyGattCharacteristic<bool> _screensaver_enable_characteristic {
119121
service::monitoring::characteristic::screensaver_enable,

libs/BLEKit/tests/BLEServiceMonitoring_test.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,20 @@ TEST_F(BLEServiceMonitoringTest, setHumidity)
9090
EXPECT_EQ(actual_humidity, expected_humidity);
9191
}
9292

93-
TEST_F(BLEServiceMonitoringTest, onTemperatureRequested)
93+
TEST_F(BLEServiceMonitoringTest, onTemperatureHumidityRequested)
9494
{
9595
testing::MockFunction<void()> mock_callback {};
96-
service_monitoring.onTemperatureRequested(mock_callback.AsStdFunction());
96+
service_monitoring.onTemperatureHumidityRequested(mock_callback.AsStdFunction());
9797

9898
EXPECT_CALL(mock_callback, Call).Times(1);
9999

100100
service_monitoring.onDataRequested(data_requested_handle);
101101
}
102102

103-
TEST_F(BLEServiceMonitoringTest, onTemperatureRequestedNotSameHandle)
103+
TEST_F(BLEServiceMonitoringTest, onTemperatureHumidityRequestedNotSameHandle)
104104
{
105105
testing::MockFunction<void()> mock_callback {};
106-
service_monitoring.onTemperatureRequested(mock_callback.AsStdFunction());
106+
service_monitoring.onTemperatureHumidityRequested(mock_callback.AsStdFunction());
107107

108108
data_requested_handle.handle = 0xFFFF;
109109

@@ -112,9 +112,9 @@ TEST_F(BLEServiceMonitoringTest, onTemperatureRequestedNotSameHandle)
112112
service_monitoring.onDataRequested(data_requested_handle);
113113
}
114114

115-
TEST_F(BLEServiceMonitoringTest, onTemperatureRequestedtUnset)
115+
TEST_F(BLEServiceMonitoringTest, onTemperatureHumidityRequestedtUnset)
116116
{
117-
service_monitoring.onTemperatureRequested(nullptr);
117+
service_monitoring.onTemperatureHumidityRequested(nullptr);
118118

119119
service_monitoring.onDataRequested(data_requested_handle);
120120
}

0 commit comments

Comments
 (0)