/* * This file is part of openauto project. * Copyright (C) 2018 f1x.studio (Michal Szwaj) * * openauto is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * openauto is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with openauto. If not, see . */ #include #include #include #include #include #include namespace f1x { namespace openauto { namespace autoapp { namespace projection { AndroidAutoEntityFactory::AndroidAutoEntityFactory(aasdk::usb::IUSBWrapper& usbWrapper, boost::asio::io_service& ioService, configuration::IConfiguration::Pointer configuration, IServiceFactory& serviceFactory) : usbWrapper_(usbWrapper) , ioService_(ioService) , configuration_(std::move(configuration)) , serviceFactory_(serviceFactory) { } IAndroidAutoEntity::Pointer AndroidAutoEntityFactory::create(aasdk::usb::DeviceHandle deviceHandle) { auto aoapDevice(aasdk::usb::AOAPDevice::create(usbWrapper_, ioService_, deviceHandle)); auto transport(std::make_shared(ioService_, aoapDevice)); auto sslWrapper(std::make_shared()); auto cryptor(std::make_shared(std::move(sslWrapper))); return std::make_shared(ioService_, std::move(cryptor), std::move(transport), configuration_, serviceFactory_); } } } } }