Cleanup entity creation

This commit is contained in:
michal.szwaj 2018-04-06 20:33:27 +02:00
parent 24bbe66954
commit 675e6cfcf6
2 changed files with 38 additions and 40 deletions

View File

@ -48,7 +48,6 @@ public:
private: private:
using std::enable_shared_from_this<App>::shared_from_this; using std::enable_shared_from_this<App>::shared_from_this;
void enumerateDevices(); void enumerateDevices();
void waitForDevice(); void waitForDevice();
void aoapDeviceHandler(aasdk::usb::DeviceHandle deviceHandle); void aoapDeviceHandler(aasdk::usb::DeviceHandle deviceHandle);

View File

@ -54,8 +54,13 @@ void App::waitForUSBDevice()
void App::start(aasdk::tcp::ITCPEndpoint::SocketPointer socket) void App::start(aasdk::tcp::ITCPEndpoint::SocketPointer socket)
{ {
strand_.dispatch([this, self = this->shared_from_this(), socket = std::move(socket)]() mutable { strand_.dispatch([this, self = this->shared_from_this(), socket = std::move(socket)]() mutable {
if(androidAutoEntity_ == nullptr) if(androidAutoEntity_ != nullptr)
{ {
tcpWrapper_.close(*socket);
OPENAUTO_LOG(warning) << "[App] android auto entity is still running.";
return;
}
try try
{ {
usbHub_->cancel(); usbHub_->cancel();
@ -72,12 +77,6 @@ void App::start(aasdk::tcp::ITCPEndpoint::SocketPointer socket)
androidAutoEntity_.reset(); androidAutoEntity_.reset();
this->waitForDevice(); this->waitForDevice();
} }
}
else
{
tcpWrapper_.close(*socket);
OPENAUTO_LOG(warning) << "[App] android auto entity is still running.";
}
}); });
} }
@ -91,6 +90,7 @@ void App::stop()
if(androidAutoEntity_ != nullptr) if(androidAutoEntity_ != nullptr)
{ {
androidAutoEntity_->stop(); androidAutoEntity_->stop();
androidAutoEntity_.reset();
} }
}); });
} }
@ -99,8 +99,12 @@ void App::aoapDeviceHandler(aasdk::usb::DeviceHandle deviceHandle)
{ {
OPENAUTO_LOG(info) << "[App] Device connected."; OPENAUTO_LOG(info) << "[App] Device connected.";
if(androidAutoEntity_ == nullptr) if(androidAutoEntity_ != nullptr)
{ {
OPENAUTO_LOG(warning) << "[App] android auto entity is still running.";
return;
}
try try
{ {
connectedAccessoriesEnumerator_->cancel(); connectedAccessoriesEnumerator_->cancel();
@ -116,11 +120,6 @@ void App::aoapDeviceHandler(aasdk::usb::DeviceHandle deviceHandle)
androidAutoEntity_.reset(); androidAutoEntity_.reset();
this->waitForDevice(); this->waitForDevice();
} }
}
else
{
OPENAUTO_LOG(warning) << "[App] android auto entity is still running.";
}
} }
void App::enumerateDevices() void App::enumerateDevices()