FLImaging 7.8.25.3
DeviceBase.h
1#pragma once
2
11
12#include "DefinitionsDevices.h"
13
14
16namespace FLImaging
17{
19 namespace Devices
20 {
21 class CInternalCDeviceBase;
22 class CDeviceEventBase;
23
32 class FL_EXPORT CDeviceBase : public Base::CFLBase
33 {
34 SupportToDuplicateAbstractObject(CDeviceBase);
35
36 public:
45
52 virtual ~CDeviceBase();
53
65 virtual const CResult Initialize() = 0;
66
78 virtual const CResult Terminate() = 0;
79
89 virtual bool IsInitialized() const;
90
100 virtual int32_t GetDeviceEventCount() const;
101
117 virtual const CResult RegisterDeviceEvent(CDeviceEventBase* pDeviceEvent);
118
134 virtual const CResult UnregisterDeviceEvent(CDeviceEventBase* pDeviceEvent);
135
149 virtual int32_t GetDeviceEventIndex(CDeviceEventBase* pDeviceEvent) const;
150
164 virtual const CDeviceEventBase* GetDeviceEvent(int32_t i64Index = 0) const;
165
177 virtual const CResult ClearDeviceEvents();
178
194 virtual const CResult SetName(const Base::CFLString<wchar_t>& strName);
195
207 virtual const Base::CFLString<wchar_t>& GetName() const;
208
209 protected:
210
211 std::vector<CDeviceEventBase*>& GetDeviceEvents() const;
212
213 virtual bool CheckDeviceLibraries() const = 0;
214 virtual void SetInitialized(bool bInit);
215
216 protected:
217 virtual void SendOnInitializing();
218 virtual void SendOnInitialized();
219 virtual void SendOnTerminating();
220 virtual void SendOnTerminated();
221 virtual void SendOnChangingParameter(int32_t i32ParameterType);
222 virtual void SendOnChangedParameter(int32_t i32ParameterType);
223 virtual void SendOnChangingParameter(int32_t i32ParameterType, int32_t i32Index);
224 virtual void SendOnChangedParameter(int32_t i32ParameterType, int32_t i32Index);
225
226 protected:
227 CInternalCDeviceBase* m_pInternal;
228 volatile bool m_bInitialized;
229 Base::CFLString<wchar_t>& m_strName;
230
231 friend class CDeviceMotionAxisMapComizoaLx;
232 friend class CDeviceGenICamEnvUtilities;
233 };
234 }
235}
236
237
238
Top-level base class of FLImaging.
Definition FLBase.h:36
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1704
virtual int32_t GetDeviceEventIndex(CDeviceEventBase *pDeviceEvent) const
Get the index of the registered event object.
virtual int32_t GetDeviceEventCount() const
Get the count of registered device events.
virtual const CResult Terminate()=0
Terminate the device.
virtual const CResult Initialize()=0
Initialize the device.
virtual const Base::CFLString< wchar_t > & GetName() const
Get the assigned name.
virtual const CDeviceEventBase * GetDeviceEvent(int32_t i64Index=0) const
Get the event object of the registered device.
CDeviceBase()
Default constructor.
virtual bool IsInitialized() const
Get the initialization status of the device.
virtual ~CDeviceBase()
Default destructor.
virtual const CResult UnregisterDeviceEvent(CDeviceEventBase *pDeviceEvent)
Unregister an event object to receive device events.
virtual const CResult ClearDeviceEvents()
Remove registered device event objects.
virtual const CResult SetName(const Base::CFLString< wchar_t > &strName)
Assign a name.
virtual const CResult RegisterDeviceEvent(CDeviceEventBase *pDeviceEvent)
Register an event object to receive device events.
Device Event Base Class.
Definition DeviceEventBase.h:30
Definition AutoFileCleaner.h:19