FLImaging 6.6.27.1
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
215 protected:
216 virtual void SendOnInitializing();
217 virtual void SendOnInitialized();
218 virtual void SendOnTerminating();
219 virtual void SendOnTerminated();
220 virtual void SendOnChangingParameter(int32_t i32ParameterType);
221 virtual void SendOnChangedParameter(int32_t i32ParameterType);
222 virtual void SendOnChangingParameter(int32_t i32ParameterType, int32_t i32Index);
223 virtual void SendOnChangedParameter(int32_t i32ParameterType, int32_t i32Index);
224
225 protected:
226 CInternalCDeviceBase* m_pInternal;
227 volatile bool m_bInitialized;
228 Base::CFLString<wchar_t>& m_strName;
229
230 friend class CDeviceMotionAxisMapComizoaLx;
231 };
232 }
233}
234
235
236
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
virtual int32_t GetDeviceEventIndex(CDeviceEventBase *pDeviceEvent) const
등록된 이벤트 객체의 인덱스를 얻어옵니다.
virtual int32_t GetDeviceEventCount() const
등록된 장치 이벤트 개수를 가져옵니다.
virtual const CResult Terminate()=0
장치를 초기화 해제 합니다.
virtual const CResult Initialize()=0
장치를 초기화 합니다.
virtual const Base::CFLString< wchar_t > & GetName() const
할당된 이름을 얻어 옵니다.
virtual const CDeviceEventBase * GetDeviceEvent(int32_t i64Index=0) const
등록된 장치의 이벤트 객체를 얻어옵니다.
virtual bool IsInitialized() const
장치의 초기화 상태를 얻어옵니다.
virtual ~CDeviceBase()
기본 소멸자
virtual const CResult UnregisterDeviceEvent(CDeviceEventBase *pDeviceEvent)
장치의 이벤트를 받을 이벤트 객체를 해제합니다.
virtual const CResult ClearDeviceEvents()
등록되어 있는 장치 이벤트 객체를 제거합니다.
virtual const CResult SetName(const Base::CFLString< wchar_t > &strName)
이름을 할당 합니다.
virtual const CResult RegisterDeviceEvent(CDeviceEventBase *pDeviceEvent)
장치의 이벤트를 받을 이벤트 객체를 등록합니다.
장치 이벤트 기반 클래스
Definition DeviceEventBase.h:30
Definition AutoFileCleaner.h:17