X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan_event_push.cpp;h=2842c63083a2b54d58d32133ebcdc770957d214c;hb=836feaecd602e86ea6d954ae018a2d7bbc04aa7a;hp=9251da65c2bee82f4174b6583ce3afcc306ae192;hpb=dae58e000ef198f7fa09718c60d7a7f2250fc2ce;p=apps%2Fagl-service-can-low-level.git diff --git a/src/can_event_push.cpp b/src/can_event_push.cpp index 9251da65..2842c630 100644 --- a/src/can_event_push.cpp +++ b/src/can_event_push.cpp @@ -22,16 +22,19 @@ void can_event_push(can_bus_t& can_bus) { openxc_VehicleMessage v_message; openxc_SimpleMessage s_message; - iterator it_event; - - while(true) + json_object* jo; + + while(can_bus.has_vehicle_message()) { - if(v_message = can_bus->next_vehicle_message()) + v_message = can_bus.next_vehicle_message(); + s_message = get_simple_message(v_message); + std::map subscribed_signals = get_subscribed_signals(); + const auto& it_event = subscribed_signals.find(s_message.name); + if(it_event != subscribed_signals.end() && afb_event_is_valid(it_event->second)) { - s_message = get_simple_message(v_msg); - const auto& it_event = subscribed_signals.find(s_message.name); - if(! it_event->end() && afb_event_is_valid(it_event->second)) - afb_event_push(it_event->second, jsonify_simple(s_message)); + jo = json_object_new_object(); + jsonify_simple(s_message, jo); + afb_event_push(it_event->second, jo); } } -} +} \ No newline at end of file