tree 47f30ab1686f27815db774888b6b1968926d0be9
parent 511369844523794fd2dd1655528b48fe38b8e1e5
author Willy Tu <wltu@google.com> 1670970482 -0800
committer Willy Tu <wltu@google.com> 1670970558 -0800

sensorhander: Create overrides for SensorDataEventRecordBody

set_id_strlen + set_id_type does not have function to support
SensorDataEventRecordBody, but is currently being used.

Without it the build failed like the following
```
../dbus-sdr/sensorcommands.cpp: In function 'bool ipmi::constructVrSdr(Context::ptr, const std::unordered_set<std::__cxx11::basic_string<char> >&, uint16_t, uint16_t, const std::string&, const std::string&, get_sdr::SensorDataEventRecord&)':
../dbus-sdr/sensorcommands.cpp:1916:44: error: cannot convert 'get_sdr::SensorDataEventRecordBody*' to 'get_sdr::SensorDataFullRecordBody*'
 1916 |     get_sdr::body::set_id_strlen(nameSize, &record.body);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            get_sdr::SensorDataEventRecordBody*
In file included from ../include/dbus-sdr/storagecommands.hpp:18,
                 from ../dbus-sdr/sensorcommands.cpp:21:
../sensorhandler.hpp:572:66: note:   initializing argument 2 of 'void get_sdr::body::set_id_strlen(uint8_t, get_sdr::SensorDataFullRecordBody*)'
  572 | inline void set_id_strlen(uint8_t len, SensorDataFullRecordBody* body)
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../dbus-sdr/sensorcommands.cpp:1917:35: error: cannot convert 'get_sdr::SensorDataEventRecordBody*' to 'get_sdr::SensorDataFullRecordBody*'
 1917 |     get_sdr::body::set_id_type(3, &record.body); // "8-bit ASCII + Latin 1"
      |                                   ^~~~~~~~~~~~
      |                                   |
      |                                   get_sdr::SensorDataEventRecordBody*
../sensorhandler.hpp:581:65: note:   initializing argument 2 of 'void get_sdr::body::set_id_type(uint8_t, get_sdr::SensorDataFullRecordBody*)'
  581 | inline void set_id_type(uint8_t type, SensorDataFullRecordBody* body
```

Change-Id: Ic780a1f848a9e6bcea79fd9822539184d1d985cf
Signed-off-by: Willy Tu <wltu@google.com>
