From 53ebc1b75c8d3ba62cd1fcf335faf82a4c808e8f Mon Sep 17 00:00:00 2001 From: "michal.szwaj" Date: Mon, 12 Mar 2018 20:01:46 +0100 Subject: [PATCH] Add method to create entity based on TCP transport --- .../autoapp/Projection/AndroidAutoEntityFactory.hpp | 4 ++++ .../autoapp/Projection/IAndroidAutoEntityFactory.hpp | 2 ++ src/autoapp/Projection/AndroidAutoEntityFactory.cpp | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/include/f1x/openauto/autoapp/Projection/AndroidAutoEntityFactory.hpp b/include/f1x/openauto/autoapp/Projection/AndroidAutoEntityFactory.hpp index aa3017c..1df64dc 100644 --- a/include/f1x/openauto/autoapp/Projection/AndroidAutoEntityFactory.hpp +++ b/include/f1x/openauto/autoapp/Projection/AndroidAutoEntityFactory.hpp @@ -19,6 +19,7 @@ #pragma once #include +#include #include #include #include @@ -41,8 +42,11 @@ public: IServiceFactory& serviceFactory); IAndroidAutoEntity::Pointer create(aasdk::usb::DeviceHandle deviceHandle) override; + IAndroidAutoEntity::Pointer create(aasdk::tcp::ITCPEndpoint::Pointer tcpEndpoint) override; private: + IAndroidAutoEntity::Pointer create(aasdk::transport::ITransport::Pointer transport); + aasdk::usb::IUSBWrapper& usbWrapper_; boost::asio::io_service& ioService_; configuration::IConfiguration::Pointer configuration_; diff --git a/include/f1x/openauto/autoapp/Projection/IAndroidAutoEntityFactory.hpp b/include/f1x/openauto/autoapp/Projection/IAndroidAutoEntityFactory.hpp index ab51c4f..945c247 100644 --- a/include/f1x/openauto/autoapp/Projection/IAndroidAutoEntityFactory.hpp +++ b/include/f1x/openauto/autoapp/Projection/IAndroidAutoEntityFactory.hpp @@ -18,6 +18,7 @@ #pragma once +#include #include #include @@ -36,6 +37,7 @@ public: virtual ~IAndroidAutoEntityFactory() = default; virtual IAndroidAutoEntity::Pointer create(aasdk::usb::DeviceHandle deviceHandle) = 0; + virtual IAndroidAutoEntity::Pointer create(aasdk::tcp::ITCPEndpoint::Pointer tcpEndpoint) = 0; }; } diff --git a/src/autoapp/Projection/AndroidAutoEntityFactory.cpp b/src/autoapp/Projection/AndroidAutoEntityFactory.cpp index 612b818..cc31fae 100644 --- a/src/autoapp/Projection/AndroidAutoEntityFactory.cpp +++ b/src/autoapp/Projection/AndroidAutoEntityFactory.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,17 @@ IAndroidAutoEntity::Pointer AndroidAutoEntityFactory::create(aasdk::usb::DeviceH auto aoapDevice(aasdk::usb::AOAPDevice::create(usbWrapper_, ioService_, deviceHandle)); auto transport(std::make_shared(ioService_, aoapDevice)); + return create(std::move(transport)); +} + +IAndroidAutoEntity::Pointer AndroidAutoEntityFactory::create(aasdk::tcp::ITCPEndpoint::Pointer tcpEndpoint) +{ + auto transport(std::make_shared(ioService_, std::move(tcpEndpoint))); + return create(std::move(transport)); +} + +IAndroidAutoEntity::Pointer AndroidAutoEntityFactory::create(aasdk::transport::ITransport::Pointer transport) +{ auto sslWrapper(std::make_shared()); auto cryptor(std::make_shared(std::move(sslWrapper)));