Inject messenger to the entity

pull/63/head
michal.szwaj 2018-04-06 20:14:47 +02:00
parent 5e38a11db9
commit dfd3cb7b0c
3 changed files with 15 additions and 12 deletions

View File

@ -20,7 +20,7 @@
#include <boost/asio.hpp>
#include <f1x/aasdk/Transport/ITransport.hpp>
#include <f1x/aasdk/Channel/Control/ControlServiceChannel.hpp>
#include <f1x/aasdk/Channel/Control/IControlServiceChannel.hpp>
#include <f1x/aasdk/Channel/Control/IControlServiceChannelEventHandler.hpp>
#include <f1x/aasdk/Channel/AV/VideoServiceChannel.hpp>
#include <f1x/openauto/autoapp/Configuration/IConfiguration.hpp>
@ -43,6 +43,7 @@ public:
AndroidAutoEntity(boost::asio::io_service& ioService,
aasdk::messenger::ICryptor::Pointer cryptor,
aasdk::transport::ITransport::Pointer transport,
aasdk::messenger::IMessenger::Pointer messenger,
configuration::IConfiguration::Pointer configuration,
IServiceFactory& serviceFactory,
IPinger::Pointer pinger);
@ -69,11 +70,11 @@ private:
boost::asio::io_service::strand strand_;
aasdk::messenger::ICryptor::Pointer cryptor_;
aasdk::transport::ITransport::Pointer transport_;
aasdk::messenger::IMessenger::Pointer messenger_;
aasdk::channel::control::IControlServiceChannel::Pointer controlServiceChannel_;
configuration::IConfiguration::Pointer configuration_;
IServiceFactory& serviceFactory_;
IPinger::Pointer pinger_;
aasdk::messenger::IMessenger::Pointer messenger_;
aasdk::channel::control::ControlServiceChannel::Pointer controlServiceChannel_;
ServiceList serviceList_;
IAndroidAutoEntityEventHandler* eventHandler_;
};

View File

@ -16,9 +16,7 @@
* along with openauto. If not, see <http://www.gnu.org/licenses/>.
*/
#include <f1x/aasdk/Messenger/MessageInStream.hpp>
#include <f1x/aasdk/Messenger/MessageOutStream.hpp>
#include <f1x/aasdk/Messenger/Messenger.hpp>
#include <f1x/aasdk/Channel/Control/ControlServiceChannel.hpp>
#include <f1x/openauto/autoapp/Projection/AndroidAutoEntity.hpp>
#include <f1x/openauto/Common/Log.hpp>
@ -34,19 +32,18 @@ namespace projection
AndroidAutoEntity::AndroidAutoEntity(boost::asio::io_service& ioService,
aasdk::messenger::ICryptor::Pointer cryptor,
aasdk::transport::ITransport::Pointer transport,
aasdk::messenger::IMessenger::Pointer messenger,
configuration::IConfiguration::Pointer configuration,
IServiceFactory& serviceFactory,
IPinger::Pointer pinger)
: strand_(ioService)
, cryptor_(std::move(cryptor))
, transport_(std::move(transport))
, messenger_(std::move(messenger))
, controlServiceChannel_(std::make_shared<aasdk::channel::control::ControlServiceChannel>(strand_, messenger_))
, configuration_(std::move(configuration))
, serviceFactory_(serviceFactory)
, pinger_(std::move(pinger))
, messenger_(std::make_shared<aasdk::messenger::Messenger>(ioService,
std::make_shared<aasdk::messenger::MessageInStream>(ioService, transport_, cryptor_),
std::make_shared<aasdk::messenger::MessageOutStream>(ioService, transport_, cryptor_)))
, controlServiceChannel_(std::make_shared<aasdk::channel::control::ControlServiceChannel>(strand_, messenger_))
, eventHandler_(nullptr)
{
}

View File

@ -21,6 +21,9 @@
#include <f1x/aasdk/Transport/USBTransport.hpp>
#include <f1x/aasdk/Transport/TCPTransport.hpp>
#include <f1x/aasdk/Messenger/Cryptor.hpp>
#include <f1x/aasdk/Messenger/MessageInStream.hpp>
#include <f1x/aasdk/Messenger/MessageOutStream.hpp>
#include <f1x/aasdk/Messenger/Messenger.hpp>
#include <f1x/openauto/autoapp/Projection/AndroidAutoEntityFactory.hpp>
#include <f1x/openauto/autoapp/Projection/AndroidAutoEntity.hpp>
#include <f1x/openauto/autoapp/Projection/Pinger.hpp>
@ -60,9 +63,11 @@ IAndroidAutoEntity::Pointer AndroidAutoEntityFactory::create(aasdk::transport::I
{
auto sslWrapper(std::make_shared<aasdk::transport::SSLWrapper>());
auto cryptor(std::make_shared<aasdk::messenger::Cryptor>(std::move(sslWrapper)));
auto messenger(std::make_shared<aasdk::messenger::Messenger>(ioService_,
std::make_shared<aasdk::messenger::MessageInStream>(ioService_, transport, cryptor),
std::make_shared<aasdk::messenger::MessageOutStream>(ioService_, transport, cryptor)));
auto pinger(std::make_shared<Pinger>(ioService_, 5000));
return std::make_shared<AndroidAutoEntity>(ioService_, std::move(cryptor), std::move(transport), configuration_, serviceFactory_, std::move(pinger));
return std::make_shared<AndroidAutoEntity>(ioService_, std::move(cryptor), std::move(transport), std::move(messenger), configuration_, serviceFactory_, std::move(pinger));
}
}