iDRS™ SDK 16
Loading...
Searching...
No Matches
IBarcodeEngine_interface.h
Go to the documentation of this file.
1
7#ifndef IBARCODEENGINE_INTERFACE_H
8
9#define IBARCODEENGINE_INTERFACE_H
10
12#include "CBarcode_interface.h"
13#include "CImage_interface.h"
15
16#include "idrs_common.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
24
25typedef enum BarcodeEngineIdentifier (*PtrGetBarcodeEngineUniqueIdentifierFn)();
26
27typedef BarcodeCapabilityArray (*PtrGetSupportedCapabilitiesFn)();
28
29typedef BarcodeTypeArray (*PtrGetSupportedBarcodeTypesFn)();
30
31typedef IDRS_BARCODE_SESSION_HANDLE (*PtrCreateSessionFn)();
32
33typedef void (*PtrCloseSessionFn)(IDRS_BARCODE_SESSION_HANDLE);
34
35typedef IDRS_ERROR (*PtrSessionEnableBarcodeTypeFn)(IDRS_BARCODE_SESSION_HANDLE, enum BarcodeType const, IDRS_BOOL const);
36
37typedef IDRS_ERROR (*PtrSessionSetBarcodePropertiesFn)(IDRS_BARCODE_SESSION_HANDLE, enum BarcodeType const, const BarcodeAdvancedParameters*);
38
39typedef IDRS_ERROR (*PtrSessionSetParametersFn)(IDRS_BARCODE_SESSION_HANDLE, enum BarcodeSessionParameter const, IDRS_UINT const);
40
41typedef IDRS_ERROR (*PtrProcessImageFn)(IDRS_BARCODE_SESSION_HANDLE, const CImage, const CBarcodeContext, CBarcodeArray);
42
60IBarcodeEngine IBarcodeEngine_Create(PtrGetBarcodeEngineUniqueIdentifierFn ptrGetBarcodeEngineUniqueIdentifierFn, PtrGetSupportedCapabilitiesFn ptrGetSupportedCapabilitiesFn, PtrGetSupportedBarcodeTypesFn ptrGetSupportedBarcodeTypesFn, PtrCreateSessionFn ptrCreateSessionFn, PtrCloseSessionFn ptrCloseSessionFn, PtrSessionEnableBarcodeTypeFn ptrSessionEnableBarcodeTypeFn, PtrSessionSetBarcodePropertiesFn ptrSessionSetBarcodePropertiesFn, PtrSessionSetParametersFn ptrSessionSetParametersFn, PtrProcessImageFn ptrProcessImageFn, idrs_exception *pargException);
61
69void IBarcodeEngine_Destroy(IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException);
70
84enum BarcodeEngineIdentifier IBarcodeEngine_GetBarcodeEngineUniqueIdentifier(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException);
85
93BarcodeCapabilityArray IBarcodeEngine_GetSupportedCapabilities(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException);
94
102BarcodeTypeArray IBarcodeEngine_GetSupportedBarcodeTypes(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException);
103
111IDRS_BARCODE_SESSION_HANDLE IBarcodeEngine_CreateSession(IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException);
112
120void IBarcodeEngine_CloseSession(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeSession, idrs_exception *pargException);
121
133IDRS_ERROR IBarcodeEngine_SessionEnableBarcodeType(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeType const evBarcodeType, IDRS_BOOL const bEnable, idrs_exception *pargException);
134
146IDRS_ERROR IBarcodeEngine_SessionSetBarcodeProperties(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeType const evBarcodeType, const BarcodeAdvancedParameters* stAdvancedParameters, idrs_exception *pargException);
147
159IDRS_ERROR IBarcodeEngine_SessionSetParameters(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeSessionParameter const evParameter, IDRS_UINT const uiValue, idrs_exception *pargException);
160
178IDRS_ERROR IBarcodeEngine_ProcessImage(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeEngineHandle, const CImage argInputImage, const CBarcodeContext argBarcodeContext, CBarcodeArray argBarcodeResults, idrs_exception *pargException);
179
180#ifdef __cplusplus
181}
182#endif /* __cplusplus */
183
184#endif /* IBARCODEENGINE_INTERFACE_H */
Interface for ArrayDefinitions wrapper.
BarcodeType
Barcode types recognized by iDRS SDK.
Definition BarcodeType_interface.h:20
Interface for CBarcode wrapper.
Interface for CImage wrapper.
Interface for EnumDefinitions wrapper.
BarcodeEngineIdentifier
Barcode engines that are shipped with iDRS SDK.
Definition EnumDefinitions_interface.h:3228
BarcodeSessionParameter
Enumerable containing all barcode session parameters These parameters are used to control the behavio...
Definition EnumDefinitions_interface.h:3430
IDRS_BARCODE_SESSION_HANDLE IBarcodeEngine_CreateSession(IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException)
CreateSession creates a new session for recognition purposes.
IDRS_ERROR IBarcodeEngine_ProcessImage(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeEngineHandle, const CImage argInputImage, const CBarcodeContext argBarcodeContext, CBarcodeArray argBarcodeResults, idrs_exception *pargException)
ProcessImage runs barcode recognition on the supplied image.
IBarcodeEngine IBarcodeEngine_Create(PtrGetBarcodeEngineUniqueIdentifierFn ptrGetBarcodeEngineUniqueIdentifierFn, PtrGetSupportedCapabilitiesFn ptrGetSupportedCapabilitiesFn, PtrGetSupportedBarcodeTypesFn ptrGetSupportedBarcodeTypesFn, PtrCreateSessionFn ptrCreateSessionFn, PtrCloseSessionFn ptrCloseSessionFn, PtrSessionEnableBarcodeTypeFn ptrSessionEnableBarcodeTypeFn, PtrSessionSetBarcodePropertiesFn ptrSessionSetBarcodePropertiesFn, PtrSessionSetParametersFn ptrSessionSetParametersFn, PtrProcessImageFn ptrProcessImageFn, idrs_exception *pargException)
Creates a new IBarcodeEngine object.
enum BarcodeEngineIdentifier IBarcodeEngine_GetBarcodeEngineUniqueIdentifier(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException)
GetBarcodeEngineUniqueIdentifier retrieves barcode unique identifier.
void IBarcodeEngine_Destroy(IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException)
Destroys a IBarcodeEngine handle.
IDRS_PVOID IDRS_BARCODE_SESSION_HANDLE
Barcode handle.
Definition IBarcodeEngine_interface.h:23
void IBarcodeEngine_CloseSession(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeSession, idrs_exception *pargException)
CloseSession closes an already opened session.
BarcodeCapabilityArray IBarcodeEngine_GetSupportedCapabilities(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException)
GetSupportedCapabilities retrieves the list of capabilities supported by the barcode engine.
IDRS_ERROR IBarcodeEngine_SessionSetBarcodeProperties(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeType const evBarcodeType, const BarcodeAdvancedParameters *stAdvancedParameters, idrs_exception *pargException)
SessionSetBarcodeProperties sets barcode type properties for the specified session.
IDRS_ERROR IBarcodeEngine_SessionSetParameters(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeSessionParameter const evParameter, IDRS_UINT const uiValue, idrs_exception *pargException)
SessionSetParameters sets a session parameter.
IDRS_ERROR IBarcodeEngine_SessionEnableBarcodeType(IBarcodeEngine argIBarcodeEngine, IDRS_BARCODE_SESSION_HANDLE hBarcodeHandle, enum BarcodeType const evBarcodeType, IDRS_BOOL const bEnable, idrs_exception *pargException)
SessionEnableBarcodeType enables a barcode type for the specified session.
BarcodeTypeArray IBarcodeEngine_GetSupportedBarcodeTypes(const IBarcodeEngine argIBarcodeEngine, idrs_exception *pargException)
GetSupportedBarcodeTypes retrieves the engine's supported barcode types.
The CBarcodeContext class manages a barcode recognition context.
The CImage class manages images for iDRS.
IBarcodeEngine defines the interface representing a barcode engine used by iDRS SDK.
unsigned long IDRS_ERROR
The IDRS_ERROR data type defines an error code.
Definition idrserr_interface.h:16
IDRS_INT IDRS_BOOL
A Boolean value.
Definition idrsstd_interface.h:37
void * IDRS_PVOID
A void pointer.
Definition idrsstd_interface.h:49
unsigned int IDRS_UINT
An unsigned integer.
Definition idrsstd_interface.h:27
Structure that manages advanced barcode recognition parameters.
Definition StructDefinitions_interface.h:99