Skip to content

Commit 45f2254

Browse files
committed
♻️ (BLEKit): Add onHumidityRequested agglomerate with onTemperatureRequested
1 parent 8a540d2 commit 45f2254

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
@@ -47,9 +47,9 @@ class BLEServiceMonitoring : public interface::BLEService
4747

4848
auto isScreensaverEnable() const -> bool { return screensaver_enable; }
4949

50-
void onTemperatureRequested(const std::function<void()> &callback)
50+
void onTemperatureHumidityRequested(const std::function<void()> &callback)
5151
{
52-
_on_temperature_requested_callback = callback;
52+
_on_temperature_humidity_requested_callback = callback;
5353
}
5454

5555
void onDataReceived(const data_received_handle_t &params) final
@@ -75,9 +75,10 @@ class BLEServiceMonitoring : public interface::BLEService
7575

7676
void onDataRequested(const data_requested_handle_t &params) final
7777
{
78-
if (params.handle == _temperature_characteristic.getValueHandle() &&
79-
_on_temperature_requested_callback != nullptr) {
80-
_on_temperature_requested_callback();
78+
if ((params.handle == _temperature_characteristic.getValueHandle() ||
79+
params.handle == _humidity_characteristic.getValueHandle()) &&
80+
_on_temperature_humidity_requested_callback != nullptr) {
81+
_on_temperature_humidity_requested_callback();
8182
}
8283
}
8384

@@ -91,13 +92,14 @@ class BLEServiceMonitoring : public interface::BLEService
9192
ReadOnlyArrayGattCharacteristic<uint8_t, 4> _temperature_characteristic {
9293
service::monitoring::characteristic::temperature, temperature.begin(),
9394
GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY};
94-
std::function<void()> _on_temperature_requested_callback {};
9595

9696
std::array<uint8_t, 4> humidity {};
9797
ReadOnlyArrayGattCharacteristic<uint8_t, 4> _humidity_characteristic {
9898
service::monitoring::characteristic::humidity, humidity.begin(),
9999
GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY};
100100

101+
std::function<void()> _on_temperature_humidity_requested_callback {};
102+
101103
bool screensaver_enable {true};
102104
WriteOnlyGattCharacteristic<bool> screensaver_enable_characteristic {
103105
service::monitoring::characteristic::screensaver_enable, &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)