summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/src/android/android_socket_connection.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/transport_manager/src/android/android_socket_connection.cc')
-rw-r--r--src/components/transport_manager/src/android/android_socket_connection.cc124
1 files changed, 67 insertions, 57 deletions
diff --git a/src/components/transport_manager/src/android/android_socket_connection.cc b/src/components/transport_manager/src/android/android_socket_connection.cc
index 8915c26079..b6810b5f6f 100644
--- a/src/components/transport_manager/src/android/android_socket_connection.cc
+++ b/src/components/transport_manager/src/android/android_socket_connection.cc
@@ -34,8 +34,8 @@
#include "transport_manager/android/android_socket_connection.h"
#include "transport_manager/android/android_ipc_device.h"
-#include "transport_manager/transport_adapter/transport_adapter_controller.h"
#include "transport_manager/android/android_transport_adapter.h"
+#include "transport_manager/transport_adapter/transport_adapter_controller.h"
#include "utils/logger.h"
@@ -51,80 +51,90 @@ AndroidSocketConnection::AndroidSocketConnection(
, device_uid_(device_uid)
, app_handle_(app_handle)
, controller_(controller)
- , sender_(new LocalSocketSender(std::bind(&AndroidSocketConnection::OnMessageSent, this, std::placeholders::_1),
- std::bind(&AndroidSocketConnection::OnClientConnectionDone, this, std::placeholders::_1)))
+ , sender_(new LocalSocketSender(
+ std::bind(&AndroidSocketConnection::OnMessageSent,
+ this,
+ std::placeholders::_1),
+ std::bind(&AndroidSocketConnection::OnClientConnectionDone,
+ this,
+ std::placeholders::_1)))
, receiver_(new LocalSocketReceiver(
- std::bind(&AndroidSocketConnection::ProcessMessage, this, std::placeholders::_1)))
- {}
+ std::bind(&AndroidSocketConnection::ProcessMessage,
+ this,
+ std::placeholders::_1))) {}
AndroidSocketConnection::~AndroidSocketConnection() {}
void AndroidSocketConnection::ProcessMessage(const std::vector<uint8_t>& data) {
- if (data.size() > 0) {
- SDL_LOG_DEBUG("Received " << data.size() << " bytes from Java adapter");
- ::protocol_handler::RawMessagePtr frame(
- new protocol_handler::RawMessage(0, 0, data.data(), data.size(), false));
- controller_->DataReceiveDone(device_uid_, app_handle_, frame);
- } else {
- controller_->DataReceiveFailed(device_uid_, app_handle_, DataReceiveError());
- }
+ if (data.size() > 0) {
+ SDL_LOG_DEBUG("Received " << data.size() << " bytes from Java adapter");
+ ::protocol_handler::RawMessagePtr frame(new protocol_handler::RawMessage(
+ 0, 0, data.data(), data.size(), false));
+ controller_->DataReceiveDone(device_uid_, app_handle_, frame);
+ } else {
+ controller_->DataReceiveFailed(
+ device_uid_, app_handle_, DataReceiveError());
+ }
}
-void AndroidSocketConnection::OnMessageSent(protocol_handler::RawMessagePtr msg) {
- if (msg) {
- SDL_LOG_DEBUG("Successfully sent " << msg->data_size() << " bytes to Java adapter");
- controller_->DataSendDone(device_uid_, app_handle_, msg);
- } else {
- SDL_LOG_ERROR("Failed to send " << msg->data_size() << " bytes to Java adapter");
- controller_->DataSendFailed(device_uid_, app_handle_, msg, DataSendError());
- }
+void AndroidSocketConnection::OnMessageSent(
+ protocol_handler::RawMessagePtr msg) {
+ if (msg) {
+ SDL_LOG_DEBUG("Successfully sent " << msg->data_size()
+ << " bytes to Java adapter");
+ controller_->DataSendDone(device_uid_, app_handle_, msg);
+ } else {
+ SDL_LOG_ERROR("Failed to send " << msg->data_size()
+ << " bytes to Java adapter");
+ controller_->DataSendFailed(device_uid_, app_handle_, msg, DataSendError());
+ }
}
void AndroidSocketConnection::OnClientConnectionDone(const bool is_connected) {
- if (is_connected) {
- SDL_LOG_DEBUG("Successfully connected to Java adapter");
- controller_->ConnectDone(device_uid_, app_handle_);
- } else {
- SDL_LOG_ERROR("Failed to connect to Java adapter");
- controller_->ConnectFailed(device_uid_, app_handle_, ConnectError());
- }
+ if (is_connected) {
+ SDL_LOG_DEBUG("Successfully connected to Java adapter");
+ controller_->ConnectDone(device_uid_, app_handle_);
+ } else {
+ SDL_LOG_ERROR("Failed to connect to Java adapter");
+ controller_->ConnectFailed(device_uid_, app_handle_, ConnectError());
+ }
}
-TransportAdapter::Error
-AndroidSocketConnection::SendData(::protocol_handler::RawMessagePtr message) {
- SDL_LOG_AUTO_TRACE();
- sender_->Send(message);
- return TransportAdapter::OK;
+TransportAdapter::Error AndroidSocketConnection::SendData(
+ ::protocol_handler::RawMessagePtr message) {
+ SDL_LOG_AUTO_TRACE();
+ sender_->Send(message);
+ return TransportAdapter::OK;
}
TransportAdapter::Error AndroidSocketConnection::Disconnect() {
- SDL_LOG_DEBUG("Disconnecting from Java adapter");
- sender_->Stop();
- if (sender_thread_.joinable()) {
- sender_thread_.join();
- }
-
- receiver_->Stop();
- if (receiver_thread_.joinable()) {
- receiver_thread_.join();
- }
-
- return TransportAdapter::OK;
+ SDL_LOG_DEBUG("Disconnecting from Java adapter");
+ sender_->Stop();
+ if (sender_thread_.joinable()) {
+ sender_thread_.join();
+ }
+
+ receiver_->Stop();
+ if (receiver_thread_.joinable()) {
+ receiver_thread_.join();
+ }
+
+ return TransportAdapter::OK;
}
TransportAdapter::Error AndroidSocketConnection::Start() {
- SDL_LOG_DEBUG("Initializing Android IPC connection threads");
-
- receiver_thread_ = std::thread([&]() {
- receiver_->Init(controller_->GetReceiverSocketName());
- receiver_->Run();
- });
- sender_thread_ = std::thread([&]() {
- sender_->Init(controller_->GetSenderSocketName());
- sender_->Run();
- });
-
- return TransportAdapter::OK;
+ SDL_LOG_DEBUG("Initializing Android IPC connection threads");
+
+ receiver_thread_ = std::thread([&]() {
+ receiver_->Init(controller_->GetReceiverSocketName());
+ receiver_->Run();
+ });
+ sender_thread_ = std::thread([&]() {
+ sender_->Init(controller_->GetSenderSocketName());
+ sender_->Run();
+ });
+
+ return TransportAdapter::OK;
}
} // namespace transport_adapter