FLImaging 7.4.14.3
ProcessingUnitManager.h
1#pragma once
2
10
11#include "ProcessingUnitBase.h"
12
14namespace FLImaging
15{
17 namespace Base
18 {
26 class FL_EXPORT CProcessingUnitManager
27 {
28 private:
29 CProcessingUnitManager();
30
31 public:
40
53
70
78 static void ResetProcessingUnit();
79
80
96 static const CResult SetMaxThreadLimit(int32_t i32MaxThreadLimit);
97
107 static int32_t GetMaxThreadLimit();
108
119
127 static void LockMaxThreadLimit();
128
136 static void UnlockMaxThreadLimit();
137
138 private:
139
140 static CProcessingUnitManager* GetInstance();
141
142 CProcessingUnitBase* m_pProcessingUnit;
143 };
144 }
145}
Processing unit base class.
Definition ProcessingUnitBase.h:27
virtual ~CProcessingUnitManager()
Destructor.
static int32_t GetMaxConfigurableThreadLimit()
Returns the maximum configurable thread limit.
static void UnlockMaxThreadLimit()
Unlocks the state locked by the LockMaxThreadLimit function.
static const CResult SetMaxThreadLimit(int32_t i32MaxThreadLimit)
Sets the maximum thread limit for all parallel-processing-supported algorithms in the library....
static int32_t GetMaxThreadLimit()
Returns the maximum thread limit set for all parallel-processing-supported algorithms in the library.
static CProcessingUnitBase * GetProcessingUnit()
Get the configured processing unit object.
static void ResetProcessingUnit()
Reset configured processing unit objects.
static const CResult SetProcessingUnit(const CProcessingUnitBase &pu)
Set processing unit object.
static void LockMaxThreadLimit()
Locks the maximum thread limit to prevent modification via the SetMaxThreadLimit function.
FLImaging module execution result object.
Definition ResultsDef.h:1676
Definition AESCryptography.h:18