summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik <aoleynik@luxoft.com>2017-06-20 10:31:16 +0300
committerIra Lytvynenko <ILytvynenko@luxoft.com>2017-09-08 17:08:28 +0300
commit2b29c82396c6b24e15f8d54405821f39de379741 (patch)
tree2daa253bb704bff571527e9f40c993c350a31021
parentecdd1f1f831dfbc1bec9af7cc47d1465fccae9d1 (diff)
downloadsdl_core-2b29c82396c6b24e15f8d54405821f39de379741.tar.gz
Replaces raw member pointer with utils::SharedPtr
-rw-r--r--src/components/application_manager/include/application_manager/message.h2
-rw-r--r--src/components/application_manager/src/message.cc14
-rw-r--r--src/components/telemetry_monitor/include/telemetry_monitor/telemetry_monitor.h10
-rw-r--r--src/components/telemetry_monitor/src/telemetry_monitor.cc20
-rw-r--r--src/components/telemetry_monitor/test/telemetry_monitor_test.cc5
5 files changed, 38 insertions, 13 deletions
diff --git a/src/components/application_manager/include/application_manager/message.h b/src/components/application_manager/include/application_manager/message.h
index a79740d77c..6eacf9fe3e 100644
--- a/src/components/application_manager/include/application_manager/message.h
+++ b/src/components/application_manager/include/application_manager/message.h
@@ -93,6 +93,8 @@ class Message {
void set_correlation_id(int32_t id);
void set_connection_key(int32_t key);
void set_message_type(MessageType type);
+ // DEPRECATED
+ void set_binary_data(BinaryData* data);
void set_binary_data(const BinaryData* data);
void set_json_message(const std::string& json_message);
void set_protocol_version(protocol_handler::MajorProtocolVersion version);
diff --git a/src/components/application_manager/src/message.cc b/src/components/application_manager/src/message.cc
index 1ceedd545c..d67a235a76 100644
--- a/src/components/application_manager/src/message.cc
+++ b/src/components/application_manager/src/message.cc
@@ -194,6 +194,20 @@ void Message::set_message_type(MessageType type) {
type_ = type;
}
+// DEPRECATED
+void Message::set_binary_data(BinaryData* data) {
+ if (NULL == data) {
+ NOTREACHED();
+ return;
+ }
+
+ if (binary_data_) {
+ delete binary_data_;
+ }
+
+ binary_data_ = new BinaryData(*data);
+}
+
void Message::set_binary_data(const BinaryData* data) {
if (NULL == data) {
NOTREACHED();
diff --git a/src/components/telemetry_monitor/include/telemetry_monitor/telemetry_monitor.h b/src/components/telemetry_monitor/include/telemetry_monitor/telemetry_monitor.h
index 80338804ee..ab33e50df3 100644
--- a/src/components/telemetry_monitor/include/telemetry_monitor/telemetry_monitor.h
+++ b/src/components/telemetry_monitor/include/telemetry_monitor/telemetry_monitor.h
@@ -35,7 +35,6 @@
#include <string>
-#include "utils/shared_ptr.h"
#include "utils/message_queue.h"
#include "utils/threads/thread.h"
#include "utils/threads/thread_delegate.h"
@@ -47,6 +46,11 @@
#include "protocol_handler_observer.h"
#include "protocol_handler/protocol_handler_impl.h"
+namespace utils {
+template <typename T>
+class SharedPtr;
+}
+
namespace telemetry_monitor {
using ::utils::MessageQueue;
@@ -88,7 +92,9 @@ class TelemetryMonitor {
virtual void Stop();
virtual void Start();
virtual void SendMetric(utils::SharedPtr<MetricWrapper> metric);
+ // DEPRECATED
void set_streamer(Streamer* streamer);
+ void set_streamer(utils::SharedPtr<Streamer> streamer);
const std::string& ip() const;
int16_t port() const;
@@ -96,7 +102,7 @@ class TelemetryMonitor {
std::string server_address_;
int16_t port_;
threads::Thread* thread_;
- Streamer* streamer_;
+ utils::SharedPtr<Streamer> streamer_;
ApplicationManagerObserver app_observer;
TransportManagerObserver tm_observer;
ProtocolHandlerObserver ph_observer;
diff --git a/src/components/telemetry_monitor/src/telemetry_monitor.cc b/src/components/telemetry_monitor/src/telemetry_monitor.cc
index 88c484ffd4..a7d9cc6fd3 100644
--- a/src/components/telemetry_monitor/src/telemetry_monitor.cc
+++ b/src/components/telemetry_monitor/src/telemetry_monitor.cc
@@ -42,6 +42,8 @@
#include "transport_manager/transport_manager_default.h"
#include "utils/resource_usage.h"
+#include "utils/make_shared.h"
+#include "utils/shared_ptr.h"
#include "telemetry_monitor/telemetry_observable.h"
namespace telemetry_monitor {
@@ -53,24 +55,23 @@ TelemetryMonitor::TelemetryMonitor(const std::string& server_address,
: server_address_(server_address)
, port_(port)
, thread_(NULL)
- , streamer_(NULL)
, app_observer(this)
, tm_observer(this)
, ph_observer(this) {}
void TelemetryMonitor::Start() {
- streamer_ = streamer_ ? streamer_ : new Streamer(this);
- thread_ = threads::CreateThread("TelemetryMonitor", streamer_);
+ streamer_ = streamer_ ? streamer_ : utils::MakeShared<Streamer>(this);
+ thread_ = threads::CreateThread("TelemetryMonitor", streamer_.get());
}
-void TelemetryMonitor::set_streamer(Streamer* streamer) {
+// DEPRECATED
+void TelemetryMonitor::set_streamer(Streamer* streamer) {}
+
+void TelemetryMonitor::set_streamer(utils::SharedPtr<Streamer> streamer) {
LOG4CXX_AUTO_TRACE(logger_);
if (thread_ && !thread_->is_running()) {
- thread_->set_delegate(streamer);
- if (streamer_) {
- delete streamer_;
- }
streamer_ = streamer;
+ thread_->set_delegate(streamer_.get());
} else {
LOG4CXX_ERROR(logger_, "Unable to replace streamer if it is active");
}
@@ -86,7 +87,6 @@ int16_t TelemetryMonitor::port() const {
TelemetryMonitor::~TelemetryMonitor() {
Stop();
- delete streamer_;
}
void TelemetryMonitor::Init(
@@ -117,7 +117,7 @@ void TelemetryMonitor::Stop() {
}
void TelemetryMonitor::SendMetric(utils::SharedPtr<MetricWrapper> metric) {
- if ((NULL != streamer_) && streamer_->is_client_connected_) {
+ if (streamer_ && streamer_->is_client_connected_) {
streamer_->PushMessage(metric);
}
}
diff --git a/src/components/telemetry_monitor/test/telemetry_monitor_test.cc b/src/components/telemetry_monitor/test/telemetry_monitor_test.cc
index 090c7ab5b7..5235f0a469 100644
--- a/src/components/telemetry_monitor/test/telemetry_monitor_test.cc
+++ b/src/components/telemetry_monitor/test/telemetry_monitor_test.cc
@@ -40,6 +40,8 @@
#include "connection_handler/mock_connection_handler.h"
#include "transport_manager/mock_transport_manager.h"
#include "telemetry_monitor/mock_telemetry_observable.h"
+#include "utils/shared_ptr.h"
+#include "utils/make_shared.h"
using testing::Return;
using testing::_;
@@ -90,7 +92,8 @@ TEST(TelemetryMonitorTest, MessageProcess) {
EXPECT_CALL(am_observeble, SetTelemetryObserver(_));
EXPECT_CALL(transport_manager_mock, SetTelemetryObserver(_));
telemetry_monitor::TelemetryMonitor telemetry_monitor(server_address, port);
- StreamerMock* streamer_mock = new StreamerMock(&telemetry_monitor);
+ utils::SharedPtr<StreamerMock> streamer_mock =
+ utils::MakeShared<StreamerMock>(&telemetry_monitor);
// streamer_mock will be freed by telemetry_monitor on destruction
telemetry_monitor.Start();
telemetry_monitor.set_streamer(streamer_mock);