Allow devices to be selectively included per platform

This way a platform does not have to be 100% implemented to be useful
pull/4/head
Paul Hollinsky 2018-09-20 13:21:54 -04:00
parent 30327dd12d
commit fb4a327891
4 changed files with 82 additions and 12 deletions

View File

@ -1,16 +1,5 @@
#include "device/include/devicefinder.h" #include "device/include/devicefinder.h"
#include "device/neoobd2pro/include/neoobd2pro.h" #include "platform/include/devices.h"
#include "device/neovifire/include/neovifire.h"
#include "device/neovifire2/include/neovifire2eth.h"
#include "device/neovifire2/include/neovifire2usb.h"
#include "device/plasion/include/neoviion.h"
#include "device/plasion/include/neoviplasma.h"
#include "device/radgalaxy/include/radgalaxy.h"
#include "device/radstar2/include/radstar2.h"
#include "device/radsupermoon/include/radsupermoon.h"
#include "device/valuecan3/include/valuecan3.h"
#include "device/valuecan4/include/valuecan4.h"
#include "device/vividcan/include/vividcan.h"
using namespace icsneo; using namespace icsneo;
@ -18,18 +7,53 @@ std::vector<std::shared_ptr<Device>> DeviceFinder::FindAll() {
std::vector<std::shared_ptr<Device>> foundDevices; std::vector<std::shared_ptr<Device>> foundDevices;
std::vector<std::vector<std::shared_ptr<Device>>> findResults; std::vector<std::vector<std::shared_ptr<Device>>> findResults;
#ifdef __NEOOBD2PRO_H_
findResults.push_back(NeoOBD2PRO::Find()); findResults.push_back(NeoOBD2PRO::Find());
#endif
#ifdef __NEOVIFIRE_H_
findResults.push_back(NeoVIFIRE::Find()); findResults.push_back(NeoVIFIRE::Find());
#endif
#ifdef __NEOVIFIRE2ETH_H_
findResults.push_back(NeoVIFIRE2ETH::Find()); findResults.push_back(NeoVIFIRE2ETH::Find());
#endif
#ifdef __NEOVIFIRE2USB_H_
findResults.push_back(NeoVIFIRE2USB::Find()); findResults.push_back(NeoVIFIRE2USB::Find());
#endif
#ifdef __NEOVIION_H_
findResults.push_back(NeoVIION::Find()); findResults.push_back(NeoVIION::Find());
#endif
#ifdef __NEOVIPLASMA_H_
findResults.push_back(NeoVIPLASMA::Find()); findResults.push_back(NeoVIPLASMA::Find());
#endif
#ifdef __RADGALAXY_H_
findResults.push_back(RADGalaxy::Find()); findResults.push_back(RADGalaxy::Find());
#endif
#ifdef __RADSTAR2_H_
findResults.push_back(RADStar2::Find()); findResults.push_back(RADStar2::Find());
#endif
#ifdef __RADSUPERMOON_H_
findResults.push_back(RADSupermoon::Find()); findResults.push_back(RADSupermoon::Find());
#endif
#ifdef __VALUECAN3_H_
findResults.push_back(ValueCAN3::Find()); findResults.push_back(ValueCAN3::Find());
#endif
#ifdef __VALUECAN4_H_
findResults.push_back(ValueCAN4::Find()); findResults.push_back(ValueCAN4::Find());
#endif
#ifdef __VIVIDCAN_H_
findResults.push_back(VividCAN::Find()); findResults.push_back(VividCAN::Find());
#endif
for(auto& results : findResults) { for(auto& results : findResults) {
if(results.size()) if(results.size())

View File

@ -0,0 +1,12 @@
#ifndef __DEVICES_H_
#define __DEVICES_H_
#if defined _WIN32
#include "platform/windows/include/devices.h"
#elif defined __linux__
#include "platform/linux/include/devices.h"
#else
#error "This platform is not supported by the devices driver, please add a definition!"
#endif
#endif

View File

@ -0,0 +1,17 @@
#ifndef __DEVICES_LINUX_H_
#define __DEVICES_LINUX_H_
#include "device/neoobd2pro/include/neoobd2pro.h"
#include "device/neovifire/include/neovifire.h"
//#include "device/neovifire2/include/neovifire2eth.h" Ethernet not yet supported
#include "device/neovifire2/include/neovifire2usb.h"
#include "device/plasion/include/neoviion.h"
#include "device/plasion/include/neoviplasma.h"
//#include "device/radgalaxy/include/radgalaxy.h" Ethernet not yet supported
#include "device/radstar2/include/radstar2.h"
#include "device/radsupermoon/include/radsupermoon.h"
#include "device/valuecan3/include/valuecan3.h"
#include "device/valuecan4/include/valuecan4.h"
#include "device/vividcan/include/vividcan.h"
#endif

View File

@ -0,0 +1,17 @@
#ifndef __DEVICES_WINDOWS_H_
#define __DEVICES_WINDOWS_H_
#include "device/neoobd2pro/include/neoobd2pro.h"
#include "device/neovifire/include/neovifire.h"
#include "device/neovifire2/include/neovifire2eth.h"
#include "device/neovifire2/include/neovifire2usb.h"
#include "device/plasion/include/neoviion.h"
#include "device/plasion/include/neoviplasma.h"
#include "device/radgalaxy/include/radgalaxy.h"
#include "device/radstar2/include/radstar2.h"
#include "device/radsupermoon/include/radsupermoon.h"
#include "device/valuecan3/include/valuecan3.h"
#include "device/valuecan4/include/valuecan4.h"
#include "device/vividcan/include/vividcan.h"
#endif