diff options
Diffstat (limited to 'src/components/application_manager/src/message.cc')
-rw-r--r-- | src/components/application_manager/src/message.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/components/application_manager/src/message.cc b/src/components/application_manager/src/message.cc index b211b270b8..7bc686aef1 100644 --- a/src/components/application_manager/src/message.cc +++ b/src/components/application_manager/src/message.cc @@ -89,7 +89,7 @@ Message& Message::operator=(const Message& message) { set_data_size(message.data_size_); set_payload_size(message.payload_size_); if (message.binary_data_) { - set_binary_data(message.binary_data_); + set_binary_data(static_cast<const BinaryData*>(message.binary_data_)); } set_json_message(message.json_message_); set_protocol_version(message.protocol_version()); @@ -207,6 +207,19 @@ void Message::set_binary_data(BinaryData* data) { binary_data_ = new BinaryData(*data); } +void Message::set_binary_data(const BinaryData* data) { + if (NULL == data) { + NOTREACHED(); + return; + } + + if (binary_data_) { + delete binary_data_; + } + + binary_data_ = new BinaryData(*data); +} + void Message::set_json_message(const std::string& json_message) { json_message_ = json_message; } |