6#include "BaseSettings.h"
8#include "BaseDataExtractor.h"
9#include "CommunicationStructures.h"
15#ifdef STARFLEETTOOLBOX_EXPORTS
16#define BASECOMM __declspec(dllexport)
18#define BASECOMM __declspec(dllimport)
21#define MONITORING_TIMESLEEP 250
22#define RECONNECT_TIMESLEEP 250
25#define MONITORING_MODE unsigned int
26#define MONITORING_OFF 0
27#define MONITORING_ON 1
28#define AUTO_RECONNECT 2
36class BASECOMM BaseCommunication
abstract
136 bool _connectHasBeenCalled =
false;
148 volatile int _connStatus = 0;
150 std::atomic<bool> _monitoringExit;
151 thread _monitoringWorker;
152 MONITORING_MODE _monitoringMode = MONITORING_OFF;
153 ConnectionCheckerCallback _monitorinCallBack = NULL;
155 void MonitoringBusiness();
157 BaseSettings* _settings;
158 BaseDataExtractor* _dataExtractor;
void StartMonitoring()
Starts the monitoring process.
BaseCommunication()
Base constructor.
virtual void Disconnect()=0
Pure virtual method that will help the caller to proceed to media disconection.
void SetDataExtractor(BaseDataExtractor *pDataExtractor)
Sets the data extractor.
BaseDataExtractor * GetDataExtractor()
Gets the data extractir.
std::atomic< bool > _connected
Definition BaseCommunication.h:134
virtual RawData WaitForRawData(int waitTimeout, unsigned long *semStatus)=0
Pure virtual method that will help the caller to wait for RAW data comming from the media.
void SetCommunicationCallback(ConnectionCheckerCallback)
bool IsConnected()
Indicates rather or not connect or disconnect method has been called.
BaseSettings * GetSettings()
Gets the communication settings.
std::atomic< bool > _reconnecting
Definition BaseCommunication.h:135
virtual CommunicationStatus Reconnect()=0
void SetCommunicationCallback(void(*ConnectionCheckerCallbackMethod)(CommunicationStatus *))
void StopMonitoring()
Stops the monitoring process.
virtual CommunicationStatus GetConnectionStatus()=0
Returns the actual connection state.
virtual CommunicationStatus Connect()=0
Pure virtual method that will help the caller to proceed to the connection to media.
void * _mutexMonitoring
Definition BaseCommunication.h:146
MONITORING_MODE GetMonitoringMode()
Returns the monitoring mode.
virtual string SendCommand(string commandToSend)=0
Pure virtual method that will help the caller to send command on the media.
~BaseCommunication()
Destructor.
BaseCommunication(MONITORING_MODE monitor)
Base constructor.
void * _mutexConnectState
The mutex for the monitoring flag.
Definition BaseCommunication.h:147
void SetSettings(BaseSettings *settings)
Sets the communication settings.
Definition CommunicationStructures.h:24
The base class encapsulating sensor's RAW data.
Definition RawData.h:14