28#define PEAK_AFL_EXPORT
29#undef PEAK_AFL_CALLCONV
30#define PEAK_AFL_CALLCONV
39typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Init)(void );
40typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Exit)(void );
41typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetLastError)(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
42typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetVersion)(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
43typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Create)(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
47typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Process)(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
49typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyAllController)(
peak_afl_manager_handle handle);
51typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_SetGainIPL)(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle);
56typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Set)(
peak_afl_controller_handle controller, uint32_t count);
57typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Get)(
peak_afl_controller_handle controller, uint32_t * count);
58typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
60typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Set)(
peak_afl_controller_handle controller, peak_afl_rectangle roi);
61typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Get)(
peak_afl_controller_handle controller, peak_afl_rectangle * roi);
77typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ExposureLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
78typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ExposureLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
80typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverage)(
peak_afl_controller_handle controller, uint8_t * average);
81typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverages)(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
83typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Set)(
peak_afl_controller_handle controller, uint32_t target);
84typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Get)(
peak_afl_controller_handle controller, uint32_t * target);
85typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
87typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Set)(
peak_afl_controller_handle controller, uint32_t tolerance);
88typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Get)(
peak_afl_controller_handle controller, uint32_t * tolerance);
89typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
91typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Set)(
peak_afl_controller_handle controller,
double percentile);
92typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Get)(
peak_afl_controller_handle controller,
double * percentile);
93typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_GetRange)(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
105typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Min_Size)(
peak_afl_controller_handle controller, peak_afl_size * size);
106typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Set)(
peak_afl_controller_handle controller,
const peak_afl_weighted_rectangle * weightedRoiList, uint32_t listSize);
107typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Get)(
peak_afl_controller_handle controller, peak_afl_weighted_rectangle * weightedRoiList, uint32_t * listSize);
109typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Default)(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit);
110typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Set)(
peak_afl_controller_handle controller, peak_afl_controller_limit limit);
111typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Get)(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit);
113typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Default)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
114typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Set)(
peak_afl_controller_handle controller, uint8_t hysteresis);
115typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Get)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
116typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_GetRange)(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc);
118typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
119typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
120typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainLimit_GetRange)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
121typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainAnalogLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
122typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainAnalogLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
123typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainAnalogLimit_GetRange)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
124typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainDigitalLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
125typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainDigitalLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
126typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainDigitalLimit_GetRange)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
127typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainCombinedLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
128typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainCombinedLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
129typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainCombinedLimit_GetRange)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
130typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainHostLimit_Set)(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
131typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainHostLimit_Get)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
132typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GainHostLimit_GetRange)(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
135class LoadLibraryException :
public std::runtime_error {
136 using std::runtime_error::runtime_error;
144 static DynamicLoader& instance()
146 static DynamicLoader dynamicLoader{};
147 return dynamicLoader;
149 bool loadLib(
const char* file);
151 bool setPointers(
bool load);
156 static bool isLoaded();
158 static PEAK_AFL_API_STATUS peak_afl_Init(
void );
159 static PEAK_AFL_API_STATUS peak_afl_Exit(
void );
160 static PEAK_AFL_API_STATUS peak_afl_GetLastError(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
161 static PEAK_AFL_API_STATUS peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
162 static PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Create(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
166 static PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Process(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
170 static PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_SetGainIPL(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle);
177 static PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
196 static PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
197 static PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
199 static PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverage(
peak_afl_controller_handle controller, uint8_t * average);
200 static PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverages(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
204 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
206 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Set(
peak_afl_controller_handle controller, uint32_t tolerance);
207 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Get(
peak_afl_controller_handle controller, uint32_t * tolerance);
208 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
210 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Set(
peak_afl_controller_handle controller,
double percentile);
211 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Get(
peak_afl_controller_handle controller,
double * percentile);
212 static PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_GetRange(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
224 static PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Min_Size(
peak_afl_controller_handle controller, peak_afl_size * size);
225 static PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Set(
peak_afl_controller_handle controller,
const peak_afl_weighted_rectangle * weightedRoiList, uint32_t listSize);
226 static PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Get(
peak_afl_controller_handle controller, peak_afl_weighted_rectangle * weightedRoiList, uint32_t * listSize);
228 static PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Default(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit);
229 static PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Set(
peak_afl_controller_handle controller, peak_afl_controller_limit limit);
230 static PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Get(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit);
232 static PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Default(
peak_afl_controller_handle controller, uint8_t * hysteresis);
234 static PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Get(
peak_afl_controller_handle controller, uint8_t * hysteresis);
235 static PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_GetRange(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc);
237 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
238 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
239 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
240 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
241 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
242 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
243 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
244 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
245 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
246 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
247 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
248 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
249 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit);
250 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
251 static PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit);
254 void* m_handle =
nullptr;
255 dyn_peak_afl_Init m_peak_afl_Init{};
256 dyn_peak_afl_Exit m_peak_afl_Exit{};
257 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
258 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
259 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
260 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
261 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
262 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
263 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
264 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
265 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
266 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
267 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
268 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
269 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
270 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
271 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
272 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
273 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
274 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
275 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
276 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
277 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
278 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
279 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
280 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
281 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
282 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
283 dyn_peak_afl_AutoController_BrightnessAlgorithm_Set m_peak_afl_AutoController_BrightnessAlgorithm_Set{};
284 dyn_peak_afl_AutoController_BrightnessAlgorithm_Get m_peak_afl_AutoController_BrightnessAlgorithm_Get{};
285 dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported{};
286 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
287 dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported{};
288 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
289 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
290 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
291 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
292 dyn_peak_afl_AutoController_ExposureLimit_IsSupported m_peak_afl_AutoController_ExposureLimit_IsSupported{};
293 dyn_peak_afl_AutoController_ExposureLimit_Set m_peak_afl_AutoController_ExposureLimit_Set{};
294 dyn_peak_afl_AutoController_ExposureLimit_Get m_peak_afl_AutoController_ExposureLimit_Get{};
295 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
296 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
297 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
298 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
299 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
300 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
301 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
302 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
303 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
304 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
305 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
306 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
307 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
308 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
309 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
310 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
311 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
312 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
313 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
314 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
315 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
316 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
317 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
318 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
319 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
320 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
321 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
322 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
323 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
324 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
325 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
326 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
327 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
328 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
329 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
330 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
331 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
332 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
333 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
334 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
335 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
336 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
337 dyn_peak_afl_AutoController_GainAnalogLimit_Set m_peak_afl_AutoController_GainAnalogLimit_Set{};
338 dyn_peak_afl_AutoController_GainAnalogLimit_Get m_peak_afl_AutoController_GainAnalogLimit_Get{};
339 dyn_peak_afl_AutoController_GainAnalogLimit_GetRange m_peak_afl_AutoController_GainAnalogLimit_GetRange{};
340 dyn_peak_afl_AutoController_GainDigitalLimit_Set m_peak_afl_AutoController_GainDigitalLimit_Set{};
341 dyn_peak_afl_AutoController_GainDigitalLimit_Get m_peak_afl_AutoController_GainDigitalLimit_Get{};
342 dyn_peak_afl_AutoController_GainDigitalLimit_GetRange m_peak_afl_AutoController_GainDigitalLimit_GetRange{};
343 dyn_peak_afl_AutoController_GainCombinedLimit_Set m_peak_afl_AutoController_GainCombinedLimit_Set{};
344 dyn_peak_afl_AutoController_GainCombinedLimit_Get m_peak_afl_AutoController_GainCombinedLimit_Get{};
345 dyn_peak_afl_AutoController_GainCombinedLimit_GetRange m_peak_afl_AutoController_GainCombinedLimit_GetRange{};
346 dyn_peak_afl_AutoController_GainHostLimit_Set m_peak_afl_AutoController_GainHostLimit_Set{};
347 dyn_peak_afl_AutoController_GainHostLimit_Get m_peak_afl_AutoController_GainHostLimit_Get{};
348 dyn_peak_afl_AutoController_GainHostLimit_GetRange m_peak_afl_AutoController_GainHostLimit_GetRange{};
352inline void* import_function(
void *module,
const char* proc_name)
355 return dlsym(module, proc_name);
357 return reinterpret_cast<void*
>(GetProcAddress(
static_cast<HMODULE
>(module), proc_name));
361inline DynamicLoader::DynamicLoader()
363#if defined _WIN32 || defined _WIN64
365 if (_wgetenv_s(&sz, NULL, 0, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0
368 std::vector<wchar_t> env_ids_peak_afl(sz);
369 if (_wgetenv_s(&sz, env_ids_peak_afl.data(), sz, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0)
371 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
374 std::vector<wchar_t> env_path(sz);
375 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
377 std::wstring ids_peak_afl_path(env_ids_peak_afl.data());
379 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_64");
381 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_32");
383 AddDllDirectory(ids_peak_afl_path.c_str());
389 loadLib(
"ids_peak_afl.dll");
391 loadLib(
"libids_peak_afl.so");
395inline DynamicLoader::~DynamicLoader()
397 if(m_handle !=
nullptr)
403inline bool DynamicLoader::isLoaded()
405 auto&& inst = instance();
406 return inst.m_handle !=
nullptr;
409inline void DynamicLoader::unload()
413 if (m_handle !=
nullptr)
418 FreeLibrary(
static_cast<HMODULE
>(m_handle));
425inline bool DynamicLoader::loadLib(
const char* file)
432 m_handle = dlopen(file, RTLD_NOW);
434 m_handle = LoadLibraryExA(file,
nullptr, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
436 if (m_handle !=
nullptr)
441 }
catch (
const std::exception&) {
448 throw LoadLibraryException(std::string(
"Lib load failed: ") + file);
453 throw LoadLibraryException(
"Filename empty");
459inline bool DynamicLoader::setPointers(
bool load)
462 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
463 if(m_peak_afl_Init ==
nullptr && load)
465 throw std::runtime_error(
"Failed to load peak_afl_Init");
468 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
469 if(m_peak_afl_Exit ==
nullptr && load)
471 throw std::runtime_error(
"Failed to load peak_afl_Exit");
474 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
475 if(m_peak_afl_GetLastError ==
nullptr && load)
477 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
480 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
481 if(m_peak_afl_GetVersion ==
nullptr && load)
483 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
486 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
487 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
489 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
492 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
493 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
495 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
498 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
499 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
501 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
504 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
505 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
507 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
510 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
511 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
513 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
516 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
517 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
519 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
522 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
523 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
525 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
528 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
529 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
531 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
534 m_peak_afl_AutoFeatureManager_SetGainIPL = (dyn_peak_afl_AutoFeatureManager_SetGainIPL) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") :
nullptr);
535 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
537 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
540 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
541 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
543 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
546 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
547 if(m_peak_afl_AutoController_Create ==
nullptr && load)
549 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
552 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
553 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
555 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
558 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
559 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
561 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
564 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
565 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
567 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
570 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
571 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
573 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
576 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
577 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
579 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
582 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
583 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
585 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
588 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
589 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
591 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
594 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
595 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
597 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
600 m_peak_afl_AutoController_ROI_Preset_IsSupported = (dyn_peak_afl_AutoController_ROI_Preset_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_IsSupported") :
nullptr);
601 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
603 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
606 m_peak_afl_AutoController_ROI_Preset_Set = (dyn_peak_afl_AutoController_ROI_Preset_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_Set") :
nullptr);
607 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
609 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
612 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
613 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
615 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
618 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
619 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
621 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
624 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
625 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
627 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
630 m_peak_afl_AutoController_BrightnessAlgorithm_Set = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Set") :
nullptr);
631 if(m_peak_afl_AutoController_BrightnessAlgorithm_Set ==
nullptr && load)
633 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Set");
636 m_peak_afl_AutoController_BrightnessAlgorithm_Get = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Get") :
nullptr);
637 if(m_peak_afl_AutoController_BrightnessAlgorithm_Get ==
nullptr && load)
639 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Get");
642 m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_IsSupported") :
nullptr);
643 if(m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported ==
nullptr && load)
645 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_IsSupported");
648 m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_IsSupported") :
nullptr);
649 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
651 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
654 m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Unit_IsSupported") :
nullptr);
655 if(m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported ==
nullptr && load)
657 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Unit_IsSupported");
660 m_peak_afl_AutoController_BrightnessComponent_Mode_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Set") :
nullptr);
661 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
663 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
666 m_peak_afl_AutoController_BrightnessComponent_Mode_Get = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Get") :
nullptr);
667 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
669 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
672 m_peak_afl_AutoController_BrightnessComponent_Status = (dyn_peak_afl_AutoController_BrightnessComponent_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") :
nullptr);
673 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
675 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
678 m_peak_afl_AutoController_BrightnessComponent_Callback_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Callback_Set") :
nullptr);
679 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
681 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
684 m_peak_afl_AutoController_ExposureLimit_IsSupported = (dyn_peak_afl_AutoController_ExposureLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_IsSupported") :
nullptr);
685 if(m_peak_afl_AutoController_ExposureLimit_IsSupported ==
nullptr && load)
687 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_IsSupported");
690 m_peak_afl_AutoController_ExposureLimit_Set = (dyn_peak_afl_AutoController_ExposureLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Set") :
nullptr);
691 if(m_peak_afl_AutoController_ExposureLimit_Set ==
nullptr && load)
693 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Set");
696 m_peak_afl_AutoController_ExposureLimit_Get = (dyn_peak_afl_AutoController_ExposureLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Get") :
nullptr);
697 if(m_peak_afl_AutoController_ExposureLimit_Get ==
nullptr && load)
699 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Get");
702 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
703 if(m_peak_afl_AutoController_Status ==
nullptr && load)
705 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
708 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
709 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
711 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
714 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
715 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
717 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
720 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
721 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
723 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
726 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
727 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
729 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
732 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
733 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
735 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
738 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
739 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
741 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
744 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
745 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
747 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
750 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
751 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
753 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
756 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
757 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
759 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
762 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
763 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
765 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
768 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
769 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
771 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
774 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
775 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
777 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
780 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
781 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
783 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
786 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
787 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
789 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
792 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
793 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
795 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
798 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
799 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
801 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
804 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
805 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
807 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
810 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
811 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
813 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
816 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
817 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
819 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
822 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
823 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
825 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
828 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
829 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
831 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
834 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
835 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
837 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
840 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
841 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
843 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
846 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
847 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
849 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
852 m_peak_afl_AutoController_Weighted_ROI_IsSupported = (dyn_peak_afl_AutoController_Weighted_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_IsSupported") :
nullptr);
853 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
855 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
858 m_peak_afl_AutoController_Weighted_ROI_Min_Size = (dyn_peak_afl_AutoController_Weighted_ROI_Min_Size) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Min_Size") :
nullptr);
859 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
861 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
864 m_peak_afl_AutoController_Weighted_ROI_Set = (dyn_peak_afl_AutoController_Weighted_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Set") :
nullptr);
865 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
867 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
870 m_peak_afl_AutoController_Weighted_ROI_Get = (dyn_peak_afl_AutoController_Weighted_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Get") :
nullptr);
871 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
873 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
876 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
877 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
879 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
882 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
883 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
885 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
888 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
889 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
891 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
894 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
895 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
897 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
900 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
901 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
903 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
906 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
907 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
909 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
912 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
913 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
915 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
918 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
919 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
921 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
924 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
925 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
927 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
930 m_peak_afl_AutoController_GainLimit_IsSupported = (dyn_peak_afl_AutoController_GainLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_IsSupported") :
nullptr);
931 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
933 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
936 m_peak_afl_AutoController_GainLimit_Set = (dyn_peak_afl_AutoController_GainLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Set") :
nullptr);
937 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
939 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
942 m_peak_afl_AutoController_GainLimit_Get = (dyn_peak_afl_AutoController_GainLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Get") :
nullptr);
943 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
945 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
948 m_peak_afl_AutoController_GainLimit_GetRange = (dyn_peak_afl_AutoController_GainLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_GetRange") :
nullptr);
949 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
951 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
954 m_peak_afl_AutoController_GainAnalogLimit_Set = (dyn_peak_afl_AutoController_GainAnalogLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Set") :
nullptr);
955 if(m_peak_afl_AutoController_GainAnalogLimit_Set ==
nullptr && load)
957 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Set");
960 m_peak_afl_AutoController_GainAnalogLimit_Get = (dyn_peak_afl_AutoController_GainAnalogLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Get") :
nullptr);
961 if(m_peak_afl_AutoController_GainAnalogLimit_Get ==
nullptr && load)
963 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Get");
966 m_peak_afl_AutoController_GainAnalogLimit_GetRange = (dyn_peak_afl_AutoController_GainAnalogLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_GetRange") :
nullptr);
967 if(m_peak_afl_AutoController_GainAnalogLimit_GetRange ==
nullptr && load)
969 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_GetRange");
972 m_peak_afl_AutoController_GainDigitalLimit_Set = (dyn_peak_afl_AutoController_GainDigitalLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Set") :
nullptr);
973 if(m_peak_afl_AutoController_GainDigitalLimit_Set ==
nullptr && load)
975 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Set");
978 m_peak_afl_AutoController_GainDigitalLimit_Get = (dyn_peak_afl_AutoController_GainDigitalLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Get") :
nullptr);
979 if(m_peak_afl_AutoController_GainDigitalLimit_Get ==
nullptr && load)
981 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Get");
984 m_peak_afl_AutoController_GainDigitalLimit_GetRange = (dyn_peak_afl_AutoController_GainDigitalLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_GetRange") :
nullptr);
985 if(m_peak_afl_AutoController_GainDigitalLimit_GetRange ==
nullptr && load)
987 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_GetRange");
990 m_peak_afl_AutoController_GainCombinedLimit_Set = (dyn_peak_afl_AutoController_GainCombinedLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Set") :
nullptr);
991 if(m_peak_afl_AutoController_GainCombinedLimit_Set ==
nullptr && load)
993 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Set");
996 m_peak_afl_AutoController_GainCombinedLimit_Get = (dyn_peak_afl_AutoController_GainCombinedLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Get") :
nullptr);
997 if(m_peak_afl_AutoController_GainCombinedLimit_Get ==
nullptr && load)
999 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Get");
1002 m_peak_afl_AutoController_GainCombinedLimit_GetRange = (dyn_peak_afl_AutoController_GainCombinedLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_GetRange") :
nullptr);
1003 if(m_peak_afl_AutoController_GainCombinedLimit_GetRange ==
nullptr && load)
1005 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_GetRange");
1008 m_peak_afl_AutoController_GainHostLimit_Set = (dyn_peak_afl_AutoController_GainHostLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Set") :
nullptr);
1009 if(m_peak_afl_AutoController_GainHostLimit_Set ==
nullptr && load)
1011 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Set");
1014 m_peak_afl_AutoController_GainHostLimit_Get = (dyn_peak_afl_AutoController_GainHostLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Get") :
nullptr);
1015 if(m_peak_afl_AutoController_GainHostLimit_Get ==
nullptr && load)
1017 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Get");
1020 m_peak_afl_AutoController_GainHostLimit_GetRange = (dyn_peak_afl_AutoController_GainHostLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_GetRange") :
nullptr);
1021 if(m_peak_afl_AutoController_GainHostLimit_GetRange ==
nullptr && load)
1023 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_GetRange");
1030inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Init(
void )
1032 auto& inst = instance();
1033 if(inst.m_peak_afl_Init)
1035 return inst.m_peak_afl_Init();
1039 throw std::runtime_error(
"Library not loaded!");
1043inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Exit(
void )
1045 auto& inst = instance();
1046 if(inst.m_peak_afl_Exit)
1048 return inst.m_peak_afl_Exit();
1052 throw std::runtime_error(
"Library not loaded!");
1056inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetLastError(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize)
1058 auto& inst = instance();
1059 if(inst.m_peak_afl_GetLastError)
1061 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
1065 throw std::runtime_error(
"Library not loaded!");
1069inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion)
1071 auto& inst = instance();
1072 if(inst.m_peak_afl_GetVersion)
1074 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
1078 throw std::runtime_error(
"Library not loaded!");
1082inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Create(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
1084 auto& inst = instance();
1085 if(inst.m_peak_afl_AutoFeatureManager_Create)
1087 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
1091 throw std::runtime_error(
"Library not loaded!");
1097 auto& inst = instance();
1098 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
1100 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
1104 throw std::runtime_error(
"Library not loaded!");
1110 auto& inst = instance();
1111 if(inst.m_peak_afl_AutoFeatureManager_AddController)
1113 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
1117 throw std::runtime_error(
"Library not loaded!");
1123 auto& inst = instance();
1124 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
1126 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
1130 throw std::runtime_error(
"Library not loaded!");
1134inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Process(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
1136 auto& inst = instance();
1137 if(inst.m_peak_afl_AutoFeatureManager_Process)
1139 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
1143 throw std::runtime_error(
"Library not loaded!");
1149 auto& inst = instance();
1150 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
1152 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
1156 throw std::runtime_error(
"Library not loaded!");
1160inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_DestroyAllController(
peak_afl_manager_handle handle)
1162 auto& inst = instance();
1163 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
1165 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
1169 throw std::runtime_error(
"Library not loaded!");
1175 auto& inst = instance();
1176 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1178 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1182 throw std::runtime_error(
"Library not loaded!");
1186inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_SetGainIPL(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
1188 auto& inst = instance();
1189 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1191 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1195 throw std::runtime_error(
"Library not loaded!");
1201 auto& inst = instance();
1202 if(inst.m_peak_afl_AutoFeatureManager_Status)
1204 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1208 throw std::runtime_error(
"Library not loaded!");
1214 auto& inst = instance();
1215 if(inst.m_peak_afl_AutoController_Create)
1217 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1221 throw std::runtime_error(
"Library not loaded!");
1227 auto& inst = instance();
1228 if(inst.m_peak_afl_AutoController_Destroy)
1230 return inst.m_peak_afl_AutoController_Destroy(controller);
1234 throw std::runtime_error(
"Library not loaded!");
1240 auto& inst = instance();
1241 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1243 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1247 throw std::runtime_error(
"Library not loaded!");
1251inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Set(
peak_afl_controller_handle controller, uint32_t count)
1253 auto& inst = instance();
1254 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1256 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1260 throw std::runtime_error(
"Library not loaded!");
1264inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Get(
peak_afl_controller_handle controller, uint32_t * count)
1266 auto& inst = instance();
1267 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1269 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1273 throw std::runtime_error(
"Library not loaded!");
1277inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1279 auto& inst = instance();
1280 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1282 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1286 throw std::runtime_error(
"Library not loaded!");
1292 auto& inst = instance();
1293 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1295 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1299 throw std::runtime_error(
"Library not loaded!");
1303inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_ROI_Set(
peak_afl_controller_handle controller, peak_afl_rectangle roi)
1305 auto& inst = instance();
1306 if(inst.m_peak_afl_AutoController_ROI_Set)
1308 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1312 throw std::runtime_error(
"Library not loaded!");
1316inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_ROI_Get(
peak_afl_controller_handle controller, peak_afl_rectangle * roi)
1318 auto& inst = instance();
1319 if(inst.m_peak_afl_AutoController_ROI_Get)
1321 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1325 throw std::runtime_error(
"Library not loaded!");
1331 auto& inst = instance();
1332 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1334 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1338 throw std::runtime_error(
"Library not loaded!");
1344 auto& inst = instance();
1345 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1347 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1351 throw std::runtime_error(
"Library not loaded!");
1357 auto& inst = instance();
1358 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1360 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1364 throw std::runtime_error(
"Library not loaded!");
1370 auto& inst = instance();
1371 if(inst.m_peak_afl_AutoController_Mode_Set)
1373 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1377 throw std::runtime_error(
"Library not loaded!");
1383 auto& inst = instance();
1384 if(inst.m_peak_afl_AutoController_Mode_Get)
1386 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1390 throw std::runtime_error(
"Library not loaded!");
1396 auto& inst = instance();
1397 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set)
1399 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set(controller, algorithm);
1403 throw std::runtime_error(
"Library not loaded!");
1409 auto& inst = instance();
1410 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get)
1412 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get(controller, algorithm);
1416 throw std::runtime_error(
"Library not loaded!");
1422 auto& inst = instance();
1423 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported)
1425 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported(controller, supported);
1429 throw std::runtime_error(
"Library not loaded!");
1435 auto& inst = instance();
1436 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1438 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1442 throw std::runtime_error(
"Library not loaded!");
1448 auto& inst = instance();
1449 if(inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported)
1451 return inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(controller, unit, supported);
1455 throw std::runtime_error(
"Library not loaded!");
1461 auto& inst = instance();
1462 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1464 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1468 throw std::runtime_error(
"Library not loaded!");
1474 auto& inst = instance();
1475 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1477 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1481 throw std::runtime_error(
"Library not loaded!");
1487 auto& inst = instance();
1488 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1490 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1494 throw std::runtime_error(
"Library not loaded!");
1500 auto& inst = instance();
1501 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1503 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1507 throw std::runtime_error(
"Library not loaded!");
1513 auto& inst = instance();
1514 if(inst.m_peak_afl_AutoController_ExposureLimit_IsSupported)
1516 return inst.m_peak_afl_AutoController_ExposureLimit_IsSupported(controller, supported);
1520 throw std::runtime_error(
"Library not loaded!");
1524inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_ExposureLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
1526 auto& inst = instance();
1527 if(inst.m_peak_afl_AutoController_ExposureLimit_Set)
1529 return inst.m_peak_afl_AutoController_ExposureLimit_Set(controller, limit);
1533 throw std::runtime_error(
"Library not loaded!");
1537inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_ExposureLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
1539 auto& inst = instance();
1540 if(inst.m_peak_afl_AutoController_ExposureLimit_Get)
1542 return inst.m_peak_afl_AutoController_ExposureLimit_Get(controller, limit);
1546 throw std::runtime_error(
"Library not loaded!");
1552 auto& inst = instance();
1553 if(inst.m_peak_afl_AutoController_Status)
1555 return inst.m_peak_afl_AutoController_Status(controller, status);
1559 throw std::runtime_error(
"Library not loaded!");
1563inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverage(
peak_afl_controller_handle controller, uint8_t * average)
1565 auto& inst = instance();
1566 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1568 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1572 throw std::runtime_error(
"Library not loaded!");
1576inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverages(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue)
1578 auto& inst = instance();
1579 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1581 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1585 throw std::runtime_error(
"Library not loaded!");
1591 auto& inst = instance();
1592 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1594 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1598 throw std::runtime_error(
"Library not loaded!");
1602inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Set(
peak_afl_controller_handle controller, uint32_t target)
1604 auto& inst = instance();
1605 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1607 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1611 throw std::runtime_error(
"Library not loaded!");
1615inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Get(
peak_afl_controller_handle controller, uint32_t * target)
1617 auto& inst = instance();
1618 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1620 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1624 throw std::runtime_error(
"Library not loaded!");
1628inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1630 auto& inst = instance();
1631 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1633 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1637 throw std::runtime_error(
"Library not loaded!");
1643 auto& inst = instance();
1644 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1646 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1650 throw std::runtime_error(
"Library not loaded!");
1654inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Set(
peak_afl_controller_handle controller, uint32_t tolerance)
1656 auto& inst = instance();
1657 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1659 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1663 throw std::runtime_error(
"Library not loaded!");
1667inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Get(
peak_afl_controller_handle controller, uint32_t * tolerance)
1669 auto& inst = instance();
1670 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1672 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1676 throw std::runtime_error(
"Library not loaded!");
1680inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1682 auto& inst = instance();
1683 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1685 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1689 throw std::runtime_error(
"Library not loaded!");
1695 auto& inst = instance();
1696 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1698 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1702 throw std::runtime_error(
"Library not loaded!");
1706inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Set(
peak_afl_controller_handle controller,
double percentile)
1708 auto& inst = instance();
1709 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1711 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1715 throw std::runtime_error(
"Library not loaded!");
1719inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Get(
peak_afl_controller_handle controller,
double * percentile)
1721 auto& inst = instance();
1722 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1724 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1728 throw std::runtime_error(
"Library not loaded!");
1732inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_GetRange(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc)
1734 auto& inst = instance();
1735 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1737 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1741 throw std::runtime_error(
"Library not loaded!");
1747 auto& inst = instance();
1748 if(inst.m_peak_afl_AutoController_Type_Get)
1750 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1754 throw std::runtime_error(
"Library not loaded!");
1760 auto& inst = instance();
1761 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1763 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1767 throw std::runtime_error(
"Library not loaded!");
1773 auto& inst = instance();
1774 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1776 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1780 throw std::runtime_error(
"Library not loaded!");
1786 auto& inst = instance();
1787 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1789 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1793 throw std::runtime_error(
"Library not loaded!");
1799 auto& inst = instance();
1800 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1802 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1806 throw std::runtime_error(
"Library not loaded!");
1812 auto& inst = instance();
1813 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1815 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1819 throw std::runtime_error(
"Library not loaded!");
1825 auto& inst = instance();
1826 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1828 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1832 throw std::runtime_error(
"Library not loaded!");
1838 auto& inst = instance();
1839 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1841 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1845 throw std::runtime_error(
"Library not loaded!");
1851 auto& inst = instance();
1852 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1854 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1858 throw std::runtime_error(
"Library not loaded!");
1864 auto& inst = instance();
1865 if(inst.m_peak_afl_AutoController_Callback_Set)
1867 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1871 throw std::runtime_error(
"Library not loaded!");
1877 auto& inst = instance();
1878 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1880 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1884 throw std::runtime_error(
"Library not loaded!");
1888inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Weighted_ROI_Min_Size(
peak_afl_controller_handle controller, peak_afl_size * size)
1890 auto& inst = instance();
1891 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1893 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1897 throw std::runtime_error(
"Library not loaded!");
1901inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Weighted_ROI_Set(
peak_afl_controller_handle controller,
const peak_afl_weighted_rectangle * weightedRoiList, uint32_t listSize)
1903 auto& inst = instance();
1904 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1906 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1910 throw std::runtime_error(
"Library not loaded!");
1914inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Weighted_ROI_Get(
peak_afl_controller_handle controller, peak_afl_weighted_rectangle * weightedRoiList, uint32_t * listSize)
1916 auto& inst = instance();
1917 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1919 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1923 throw std::runtime_error(
"Library not loaded!");
1929 auto& inst = instance();
1930 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1932 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1936 throw std::runtime_error(
"Library not loaded!");
1940inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Limit_Default(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit)
1942 auto& inst = instance();
1943 if(inst.m_peak_afl_AutoController_Limit_Default)
1945 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1949 throw std::runtime_error(
"Library not loaded!");
1953inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Limit_Set(
peak_afl_controller_handle controller, peak_afl_controller_limit limit)
1955 auto& inst = instance();
1956 if(inst.m_peak_afl_AutoController_Limit_Set)
1958 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1962 throw std::runtime_error(
"Library not loaded!");
1966inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Limit_Get(
peak_afl_controller_handle controller, peak_afl_controller_limit * limit)
1968 auto& inst = instance();
1969 if(inst.m_peak_afl_AutoController_Limit_Get)
1971 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1975 throw std::runtime_error(
"Library not loaded!");
1981 auto& inst = instance();
1982 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1984 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1988 throw std::runtime_error(
"Library not loaded!");
1992inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Default(
peak_afl_controller_handle controller, uint8_t * hysteresis)
1994 auto& inst = instance();
1995 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1997 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
2001 throw std::runtime_error(
"Library not loaded!");
2005inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Set(
peak_afl_controller_handle controller, uint8_t hysteresis)
2007 auto& inst = instance();
2008 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
2010 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
2014 throw std::runtime_error(
"Library not loaded!");
2018inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Get(
peak_afl_controller_handle controller, uint8_t * hysteresis)
2020 auto& inst = instance();
2021 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
2023 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
2027 throw std::runtime_error(
"Library not loaded!");
2031inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_GetRange(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc)
2033 auto& inst = instance();
2034 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
2036 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
2040 throw std::runtime_error(
"Library not loaded!");
2046 auto& inst = instance();
2047 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
2049 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
2053 throw std::runtime_error(
"Library not loaded!");
2057inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
2059 auto& inst = instance();
2060 if(inst.m_peak_afl_AutoController_GainLimit_Set)
2062 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
2066 throw std::runtime_error(
"Library not loaded!");
2070inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2072 auto& inst = instance();
2073 if(inst.m_peak_afl_AutoController_GainLimit_Get)
2075 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
2079 throw std::runtime_error(
"Library not loaded!");
2083inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2085 auto& inst = instance();
2086 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
2088 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
2092 throw std::runtime_error(
"Library not loaded!");
2096inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainAnalogLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
2098 auto& inst = instance();
2099 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Set)
2101 return inst.m_peak_afl_AutoController_GainAnalogLimit_Set(controller, limit);
2105 throw std::runtime_error(
"Library not loaded!");
2109inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainAnalogLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2111 auto& inst = instance();
2112 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Get)
2114 return inst.m_peak_afl_AutoController_GainAnalogLimit_Get(controller, limit);
2118 throw std::runtime_error(
"Library not loaded!");
2122inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainAnalogLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2124 auto& inst = instance();
2125 if(inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange)
2127 return inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange(controller, limit);
2131 throw std::runtime_error(
"Library not loaded!");
2135inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainDigitalLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
2137 auto& inst = instance();
2138 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Set)
2140 return inst.m_peak_afl_AutoController_GainDigitalLimit_Set(controller, limit);
2144 throw std::runtime_error(
"Library not loaded!");
2148inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainDigitalLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2150 auto& inst = instance();
2151 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Get)
2153 return inst.m_peak_afl_AutoController_GainDigitalLimit_Get(controller, limit);
2157 throw std::runtime_error(
"Library not loaded!");
2161inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainDigitalLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2163 auto& inst = instance();
2164 if(inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange)
2166 return inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange(controller, limit);
2170 throw std::runtime_error(
"Library not loaded!");
2174inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainCombinedLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
2176 auto& inst = instance();
2177 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Set)
2179 return inst.m_peak_afl_AutoController_GainCombinedLimit_Set(controller, limit);
2183 throw std::runtime_error(
"Library not loaded!");
2187inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainCombinedLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2189 auto& inst = instance();
2190 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Get)
2192 return inst.m_peak_afl_AutoController_GainCombinedLimit_Get(controller, limit);
2196 throw std::runtime_error(
"Library not loaded!");
2200inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainCombinedLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2202 auto& inst = instance();
2203 if(inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange)
2205 return inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange(controller, limit);
2209 throw std::runtime_error(
"Library not loaded!");
2213inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainHostLimit_Set(
peak_afl_controller_handle controller, peak_afl_double_limit limit)
2215 auto& inst = instance();
2216 if(inst.m_peak_afl_AutoController_GainHostLimit_Set)
2218 return inst.m_peak_afl_AutoController_GainHostLimit_Set(controller, limit);
2222 throw std::runtime_error(
"Library not loaded!");
2226inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainHostLimit_Get(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2228 auto& inst = instance();
2229 if(inst.m_peak_afl_AutoController_GainHostLimit_Get)
2231 return inst.m_peak_afl_AutoController_GainHostLimit_Get(controller, limit);
2235 throw std::runtime_error(
"Library not loaded!");
2239inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GainHostLimit_GetRange(
peak_afl_controller_handle controller, peak_afl_double_limit * limit)
2241 auto& inst = instance();
2242 if(inst.m_peak_afl_AutoController_GainHostLimit_GetRange)
2244 return inst.m_peak_afl_AutoController_GainHostLimit_GetRange(controller, limit);
2248 throw std::runtime_error(
"Library not loaded!");
peak_afl_controllerType
controller types
Definition peak_afl.h:124
peak_afl_controller_status
controller status
Definition peak_afl.h:159
peak_afl_controller_brightness_algorithm
brightness calculation algorithm
Definition peak_afl.h:212
peak_afl_controller_brightness_component
controller brightness component
Definition peak_afl.h:247
peak_afl_callback_type
controller callback type
Definition peak_afl.h:292
peak_afl_controller_algorithm
controller algorithm
Definition peak_afl.h:190
peak_afl_controller_automode
controller automode
Definition peak_afl.h:143
peak_afl_roi_preset
controller roi preset
Definition peak_afl.h:410
peak_afl_controller_sharpness_algorithm
controller sharpness algorithm (focus)
Definition peak_afl.h:225
peak_afl_status
peak_afl Status codes
Definition peak_afl.h:87
void * peak_afl_controller_handle
opaque controller handle type
Definition peak_afl.h:73
void * peak_afl_manager_handle
opaque manager handle type
Definition peak_afl.h:75
uint8_t peak_afl_BOOL8
custom boolean type
Definition peak_afl.h:520