/// @param[out] send - An output parameter. If decoding fails or CAN signal is
/// not sending, this should be flipped to false.
///
/// @return a decoded value in an openxc_DynamicField struct.
///
/// @param[out] send - An output parameter. If decoding fails or CAN signal is
/// not sending, this should be flipped to false.
///
/// @return a decoded value in an openxc_DynamicField struct.
///
-typedef openxc_DynamicField (*signal_decoder)(signal_t& signal, float value, bool* send);
+typedef openxc_DynamicField (*signal_decoder)(signal_t& signal, std::shared_ptr<message_t> message, bool* send);