ON-REPLY 1:low-can/subscribe: {"jtype":"afb-reply","request":{"status":"success","uuid":"a18fd375-b6fa-4c0e-a1d4-9d3955975ae8"}}
```
-Subscription and unsubscription can take wildcard in their _event_ value.
+Subscription and unsubscription can take wildcard in their _event_ value and are
+**case-insensitive**.
To receive all doors events :
## Write on CAN buses
-A new capability as been introcuded to be able to write on handled CAN buses.
Two modes could be used for that which is either specifying the CAN bus and a
-*RAW* CAN message either by specifying a defined signal and its value.
+*RAW* CAN message either by specifying a defined signal, **case-insensitively**,
+and its value.
Examples:
#include <string>
#include <memory>
#include <systemd/sd-event.h>
+#include <cctype>
#include <afb/afb-binding>
void on_no_clients(std::shared_ptr<low_can_subscription_t> can_subscription, std::map<int, std::shared_ptr<low_can_subscription_t> >& s);
void on_no_clients(std::shared_ptr<low_can_subscription_t> can_subscription, uint32_t pid, std::map<int, std::shared_ptr<low_can_subscription_t> >& s);
int read_message(sd_event_source *s, int fd, uint32_t revents, void *userdata);
+
+inline bool caseInsCharCompareN(char a, char b) {
+ return(toupper(a) == toupper(b));
+}
+
+inline bool caseInsCompare(const std::string& s1, const std::string& s2) {
+ return((s1.size() == s2.size()) &&
+ equal(s1.begin(), s1.end(), s2.begin(), caseInsCharCompareN));
+}
uint64_t ret = -1;
for( const auto& state: states_)
{
- if(state.second == value)
+ if(caseInsCompare(state.second, value))
{
ret = (uint64_t)state.first;
break;