From 189e8f988856e93c842c13203979fe11d254cc60 Mon Sep 17 00:00:00 2001 From: Kevron Rees Date: Mon, 15 Sep 2014 10:20:24 -0700 Subject: [PATCH] fixed crash in murphy plugin --- examples/bluemonkey/bluemonkeyconfig | 27 ++++++++++------------ examples/bluemonkey/bluemonkeyconfig.in | 18 +++++++++++++++ plugins/murphyplugin/murphysource.cpp | 40 +++++++++++++++------------------ 3 files changed, 48 insertions(+), 37 deletions(-) create mode 100644 examples/bluemonkey/bluemonkeyconfig.in diff --git a/examples/bluemonkey/bluemonkeyconfig b/examples/bluemonkey/bluemonkeyconfig index 9677ba5..fb0080c 100644 --- a/examples/bluemonkey/bluemonkeyconfig +++ b/examples/bluemonkey/bluemonkeyconfig @@ -1,21 +1,18 @@ { - "mainloop" : "/usr/lib/automotive-message-broker/qtmainloopplugin.so", + "mainloop" : "/usr/lib/i386-linux-gnu/automotive-message-broker/automotive-message-broker/qtmainloopplugin.so", - "sources" : [ - { - "path" : "/usr/lib/automotive-message-broker/bluemonkeyplugin.so", - "authSettings" : "authSettings.js", - "ircSettings" : "ircSettings.js", - "config" : "config.js", - "customPrograms" : "customPrograms.js" - } - ], + "sources" : [ + { + "path" : "/usr/lib/i386-linux-gnu/automotive-message-broker/automotive-message-broker/bluemonkeyplugin.so", + "config" : "/etc/ambd/bluemonkey/config.js" + } + ], - "sinks" : [ + "sinks" : [ - { - "path" : "/usr/lib/automotive-message-broker/examplesinkplugin.so" - } - ] + { + "path" : "/usr/lib/i386-linux-gnu/automotive-message-broker/automotive-message-broker/examplesinkplugin.so" + } + ] } diff --git a/examples/bluemonkey/bluemonkeyconfig.in b/examples/bluemonkey/bluemonkeyconfig.in new file mode 100644 index 0000000..434651b --- /dev/null +++ b/examples/bluemonkey/bluemonkeyconfig.in @@ -0,0 +1,18 @@ +{ + "mainloop" : "@PLUGIN_INSTALL_PATH@/automotive-message-broker/qtmainloopplugin.so", + + "sources" : [ + { + "path" : "@PLUGIN_INSTALL_PATH@/automotive-message-broker/bluemonkeyplugin.so", + "config" : "/etc/ambd/bluemonkey/config.js" + } + ], + + "sinks" : [ + + { + "path" : "@PLUGIN_INSTALL_PATH@/automotive-message-broker/examplesinkplugin.so" + } + ] +} + diff --git a/plugins/murphyplugin/murphysource.cpp b/plugins/murphyplugin/murphysource.cpp index 3476e85..f3f59a5 100644 --- a/plugins/murphyplugin/murphysource.cpp +++ b/plugins/murphyplugin/murphysource.cpp @@ -76,7 +76,7 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, mrp_msg_value_t value; size_t size; - char *property_name; + std::string property_name; DebugOut()<<"Received a message from Murphy!"<(dstr, 0);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, 0);}); } DebugOut() << "double:" << value.dbl << std::endl; @@ -135,8 +131,8 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, if (!hasProp) { - VehicleProperty::registerProperty(dstr, - [dstr](){return new BasicPropertyType(dstr, FALSE);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, FALSE);}); } DebugOut() << "boolean:" << value.bln << std::endl; @@ -148,8 +144,8 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, if (!hasProp) { - VehicleProperty::registerProperty(dstr, - [dstr](){return new BasicPropertyType(dstr, 0);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, 0);}); } DebugOut() << "uint32:" << value.u32 << std::endl; @@ -161,8 +157,8 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, if (!hasProp) { - VehicleProperty::registerProperty(dstr, - [dstr](){return new BasicPropertyType(dstr, 0);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, 0);}); } DebugOut() << "uint16:" << value.u16 << std::endl; @@ -175,12 +171,11 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, if (!hasProp) { - VehicleProperty::registerProperty(dstr, - [dstr](){return new BasicPropertyType(dstr, 0);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, 0);}); } DebugOut() << "int32:" << value.s32 << std::endl; - s->processValue(property_name, prop); break; } case MRP_MSG_FIELD_INT16: @@ -189,8 +184,8 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, if (!hasProp) { - VehicleProperty::registerProperty(dstr, - [dstr](){return new BasicPropertyType(dstr, 0);}); + VehicleProperty::registerProperty(property_name, + [property_name](){return new BasicPropertyType(property_name, 0);}); } DebugOut() << "int16:" << value.s16 << std::endl; @@ -200,9 +195,10 @@ static void recvfrom_msg(mrp_transport_t *transp, mrp_msg_t *msg, DebugOut()<<"Unknown type"<fromString(val.str()); s->processValue(property_name, prop); - } static void recv_msg(mrp_transport_t *transp, mrp_msg_t *msg, void *user_data) -- 2.7.4