Skip to content

Commit

Permalink
Configuration cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
silverchris committed Aug 15, 2022
1 parent 855984e commit 7cc1475
Show file tree
Hide file tree
Showing 19 changed files with 161 additions and 315 deletions.
8 changes: 4 additions & 4 deletions include/Platforms/Mazda/Managers/BluetoothManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "external/aasdk/aasdk_proto/WifiInfoResponseMessage.pb.h"
#include "external/aasdk/aasdk_proto/WifiSecurityResponseMessage.pb.h"

#include "autoapp/Configuration/IConfiguration.hpp"
#include "autoapp/Configuration/Configuration.hpp"

#include <com_jci_bca_objectProxy.h>
#include <asio/basic_waitable_timer.hpp>
Expand All @@ -32,7 +32,7 @@ class BluetoothManager : public IBluetoothManager {
public:
using Pointer = std::shared_ptr<BluetoothManager>;

explicit BluetoothManager(autoapp::configuration::IConfiguration::Pointer configuration,
explicit BluetoothManager(autoapp::configuration::Configuration::Pointer configuration,
std::shared_ptr<DBus::Connection> session_connection, asio::io_service &ioService);
~BluetoothManager() override = default;

Expand All @@ -42,7 +42,7 @@ class BluetoothManager : public IBluetoothManager {
void aaConnect(bool connected);

private:
autoapp::configuration::IConfiguration::Pointer configuration_;
autoapp::configuration::Configuration::Pointer configuration_;
std::shared_ptr<DBus::Connection> dbusConnection;
bool bdsconfigured = false;
uint32_t serviceId = 0;
Expand All @@ -58,7 +58,7 @@ class BluetoothManager : public IBluetoothManager {

class MazdaBluetoothConnection: public BluetoothConnection{
public:
MazdaBluetoothConnection(std::string SSID, std::string Password, std::string IpAddress, std::string MacAddress, uint32_t Port);
MazdaBluetoothConnection(autoapp::configuration::WifiConfiguration::pointer WifiConfig);
void handle_connect(const std::string &pty);

protected:
Expand Down
5 changes: 4 additions & 1 deletion include/Platforms/Mazda/mazda.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

class Mazda: public IPlatform{
public:
Mazda(asio::io_service &ioService, autoapp::configuration::IConfiguration::Pointer configuration);
Mazda(asio::io_service &ioService, const autoapp::configuration::Configuration::Pointer& configuration);

void start() override;
void stop() override;
Expand All @@ -40,6 +40,9 @@ class Mazda: public IPlatform{
INavigationManager::Pointer navigationManager;
HttpManager *httpManager;

private:
static std::string hostapd_config(const std::string &key);

};

#endif
85 changes: 46 additions & 39 deletions include/autoapp/Configuration/Configuration.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,61 +18,68 @@

#pragma once

#include <autoapp/Configuration/IConfiguration.hpp>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-result"
#include <toml.hpp>
#pragma GCC diagnostic pop

#include <fstream>
#include <vector>
#include <map>
#include <memory>

namespace autoapp::configuration {

class Configuration : public IConfiguration {
public:
Configuration();

void reset() override;

void save() override;

void leftHandDrive(bool value) override;

[[nodiscard]] bool leftHandDrive() const override;

void hideClock(bool value) override;

[[nodiscard]] bool hideClock() const override;

[[nodiscard]] bool getTouchscreenEnabled() const override;

void setTouchscreenEnabled(bool value) override;
struct AudioChannel{
int rate;
int channels;
std::vector<std::string> outputs;
};

[[nodiscard]] uint32_t wifiPort() override;
struct AudioConfiguration{
public:
std::map<std::string, AudioChannel> channels;
};

void wifiPort(uint32_t port) override;
struct ServiceConfiguration {
std::string name;
std::string carModel;
std::string carYear;
std::string carSerial;
bool leftHandDrive;
std::string huManufacturer;
std::string huModel;
std::string huBuild;
std::string huVersion;
bool nativeMediaDuringVR;
};

[[nodiscard]] el::Level logLevel() override;
struct WifiConfiguration {
using pointer = std::shared_ptr<WifiConfiguration>;
bool enabled;
std::string device;
std::string ssid;
std::string bssid;
std::string password;
std::string ipAddress;
uint32_t port = 30515;
};

[[nodiscard]] std::string logFile() override;
class Configuration {
private:
AudioConfiguration audioConfiguration;
ServiceConfiguration serviceConfiguration;
WifiConfiguration::pointer wifiConfiguration;

[[nodiscard]] std::string wifiSSID() override;
public:
using Pointer = std::shared_ptr<Configuration>;

[[nodiscard]] std::string wifiPassword() override;
Configuration();

AudioConfiguration getAudioConfig();
void setAudioConfig(AudioConfiguration audioConfig);

private:
ServiceConfiguration getServiceConfig();
void setServiceConfig(ServiceConfiguration serviceConfig);

bool lefthandDrive_ = true;
bool hideClock_ = false;
bool enableTouchscreen_ = true;
int wifiPort_ = 30515;
el::Level logLevel_ = el::Level::Debug;
std::string logFile_;
std::string wifiSSID_;
std::string wifiPassword_;
WifiConfiguration::pointer getWifiConfig();
void setWifiConfig(WifiConfiguration::pointer wifiConfig);
};

}
83 changes: 0 additions & 83 deletions include/autoapp/Configuration/IConfiguration.hpp

This file was deleted.

10 changes: 3 additions & 7 deletions include/autoapp/Managers/BluetoothConnection.hpp
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
#pragma once
#include <google/protobuf/message_lite.h>
#include "IBluetoothManager.hpp"
#include "autoapp/Configuration/IConfiguration.hpp"
#include "autoapp/Configuration/Configuration.hpp"

class BluetoothConnection {
public:
BluetoothConnection(std::string SSID, std::string Password, std::string IpAddress, std::string MacAddress, uint32_t Port);
explicit BluetoothConnection(autoapp::configuration::WifiConfiguration::pointer WifiConfig);
void messageHandler();
void sendMessage(google::protobuf::MessageLite &message, IBluetoothManager::wifiMessages type);
void handleWifiInfoRequest();
void handleWifiSecurityRequest(__attribute__((unused)) uint8_t *buffer, __attribute__((unused)) uint16_t length);
static int handleWifiInfoRequestResponse(uint8_t *buffer, uint16_t length);

protected:
std::string ipAddress;
std::string macAddress;
std::string ssid;
std::string password;
uint32_t port;
autoapp::configuration::WifiConfiguration::pointer wifiConfig;

virtual ssize_t read(char *buf, ssize_t size) = 0;
virtual ssize_t write(char *buf, ssize_t size) = 0;
Expand Down
1 change: 0 additions & 1 deletion include/autoapp/Projection/InputDevice.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include <aasdk_proto/TouchActionEnum.pb.h>
#include <aasdk/IO/Promise.hpp>
#include <autoapp/Projection/IInputDevice.hpp>
#include <autoapp/Configuration/IConfiguration.hpp>
#include <autoapp/Signals/Signals.hpp>

struct TouchScreenState {
Expand Down
6 changes: 3 additions & 3 deletions include/autoapp/Service/AndroidAutoEntity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <aasdk/Channel/Control/IControlServiceChannelEventHandler.hpp>
#include <aasdk/Channel/AV/VideoServiceChannel.hpp>
#include <aasdk/IO/Promise.hpp>
#include <autoapp/Configuration/IConfiguration.hpp>
#include <autoapp/Configuration/Configuration.hpp>
#include <autoapp/Service/IAndroidAutoEntity.hpp>
#include <autoapp/Service/IService.hpp>
#include <autoapp/Service/IPinger.hpp>
Expand All @@ -41,7 +41,7 @@ class AndroidAutoEntity
aasdk::messenger::ICryptor::Pointer cryptor,
aasdk::transport::ITransport::Pointer transport,
aasdk::messenger::IMessenger::Pointer messenger,
configuration::IConfiguration::Pointer configuration,
configuration::Configuration::Pointer configuration,
ServiceList serviceList,
IPinger::Pointer pinger,
IPlatform::Pointer Device);
Expand Down Expand Up @@ -78,7 +78,7 @@ class AndroidAutoEntity
aasdk::transport::ITransport::Pointer transport_;
aasdk::messenger::IMessenger::Pointer messenger_;
aasdk::channel::control::IControlServiceChannel::Pointer controlServiceChannel_;
configuration::IConfiguration::Pointer configuration_;
configuration::Configuration::Pointer configuration_;
ServiceList serviceList_;
IPinger::Pointer pinger_;
IAndroidAutoEntityEventHandler *eventHandler_;
Expand Down
6 changes: 3 additions & 3 deletions include/autoapp/Service/AndroidAutoEntityFactory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

#include <asio.hpp>
#include <aasdk/Transport/ITransport.hpp>
#include <autoapp/Configuration/IConfiguration.hpp>
#include <autoapp/Configuration/Configuration.hpp>
#include <autoapp/Service/IAndroidAutoEntityFactory.hpp>
#include <autoapp/Service/IServiceFactory.hpp>
#include <autoapp/Platform/IPlatform.hpp>
Expand All @@ -30,7 +30,7 @@ namespace autoapp::service {
class AndroidAutoEntityFactory : public IAndroidAutoEntityFactory {
public:
AndroidAutoEntityFactory(asio::io_service &ioService,
configuration::IConfiguration::Pointer configuration,
configuration::Configuration::Pointer configuration,
IServiceFactory &serviceFactory,
IPlatform::Pointer device);

Expand All @@ -41,7 +41,7 @@ class AndroidAutoEntityFactory : public IAndroidAutoEntityFactory {
IAndroidAutoEntity::Pointer create(aasdk::transport::ITransport::Pointer transport);

asio::io_service &ioService_;
configuration::IConfiguration::Pointer configuration_;
configuration::Configuration::Pointer configuration_;
IServiceFactory &serviceFactory_;
IPlatform::Pointer device;
};
Expand Down
6 changes: 3 additions & 3 deletions include/autoapp/Service/ServiceFactory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
#pragma once

#include <autoapp/Service/IServiceFactory.hpp>
#include <autoapp/Configuration/IConfiguration.hpp>
#include <autoapp/Configuration/Configuration.hpp>
#include <autoapp/Signals/Signals.hpp>

namespace autoapp::service {

class ServiceFactory : public IServiceFactory {
public:
ServiceFactory(asio::io_service &ioService,
configuration::IConfiguration::Pointer configuration,
configuration::Configuration::Pointer configuration,
Signals::Pointer signals);
ServiceList create(aasdk::messenger::IMessenger::Pointer messenger) override;

Expand All @@ -38,7 +38,7 @@ class ServiceFactory : public IServiceFactory {
void createAudioServices(ServiceList &serviceList, const aasdk::messenger::IMessenger::Pointer &messenger);

asio::io_service &ioService_;
configuration::IConfiguration::Pointer configuration_;
configuration::Configuration::Pointer configuration_;
Signals::Pointer signals_;
};

Expand Down
6 changes: 3 additions & 3 deletions include/autoapp/Service/WifiService.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

#pragma once

#include <autoapp/Configuration/IConfiguration.hpp>
#include <autoapp/Configuration/Configuration.hpp>
#include <autoapp/Service/IService.hpp>
#include <asio/io_service.hpp>
#include <aasdk/Messenger/IMessenger.hpp>
Expand All @@ -29,7 +29,7 @@ class WifiService : public IService, public std::enable_shared_from_this<WifiSer
public:
using Pointer = std::shared_ptr<WifiService>;

explicit WifiService(configuration::IConfiguration::Pointer configuration);
explicit WifiService(configuration::Configuration::Pointer configuration);

void start() override;
void stop() override;
Expand All @@ -39,7 +39,7 @@ class WifiService : public IService, public std::enable_shared_from_this<WifiSer

private:
using std::enable_shared_from_this<WifiService>::shared_from_this;
configuration::IConfiguration::Pointer configuration_;
configuration::Configuration::Pointer configuration_;
};

}
Loading

0 comments on commit 7cc1475

Please sign in to comment.