summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/message.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/message.cc')
-rw-r--r--src/components/application_manager/src/message.cc15
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;
}