ScRecognitionContext.h
Go to the documentation of this file.
1
10#ifndef SC_RECOGNITION_CONTEXT_H_
11#define SC_RECOGNITION_CONTEXT_H_
12
13#include <Scandit/ScConfig.h>
14#include <Scandit/ScCommon.h>
15#include "Scandit/ScByteArray.h"
17
18#if SC_PLATFORM_ANDROID
19# include <jni.h>
20#endif
21
23
39typedef struct ScOpaqueRecognitionContext ScRecognitionContext;
40
46typedef enum {
229
238
240
254typedef struct {
258
268SC_EXPORT
270
279typedef struct {
281 uint32_t frame_id;
283
293SC_EXPORT
295
296#if SC_PLATFORM_ANDROID || (defined(SC_GENERATE_DOCS) && SC_GENERATE_DOCS)
317SC_EXPORT
319 char const *writable_data_path,
320 JNIEnv *env,
321 jobject activity,
322 char const *device_name);
323#endif
324
325#if SC_PLATFORM_GENERIC || SC_PLATFORM_IOS || (defined(SC_GENERATE_DOCS) && SC_GENERATE_DOCS)
349SC_EXPORT
351 char const *writable_data_path,
352 char const *device_name);
353#endif
354
363SC_EXPORT
365
376SC_EXPORT
378
407SC_EXPORT
409
436SC_EXPORT
438 ScRecognitionContext *context,
439 ScImageDescription const *image_description,
440 uint8_t const *image_data);
441
453SC_EXPORT
455
463typedef enum {
464 SC_CAMERA_FACING_DIRECTION_UNKNOWN = 0x00,
465 SC_CAMERA_FACING_DIRECTION_BACK = 0x01,
466 SC_CAMERA_FACING_DIRECTION_FRONT = 0x02
468
475typedef struct {
477 char const *identifier;
480
492SC_EXPORT
494 ScCameraProperties camera_properties);
495
497
498#endif // SC_RECOGNITION_CONTEXT_H_
Functions to manage an array of bytes.
Common functions and data structures.
Common definitions used throughout the ScanditSDK API.
#define SC_EXTERN_C_BEGIN
Start of external C code.
Definition: ScConfig.h:19
#define SC_EXTERN_C_END
End of external C code.
Definition: ScConfig.h:28
Image description interface.
ScContextStatus status
Execution status with detailed error information.
Definition: ScRecognitionContext.h:280
ScContextStatusFlag
Context status of a frame.
Definition: ScRecognitionContext.h:46
@ SC_RECOGNITION_CONTEXT_STATUS_UNLICENSED_TEXT_RECOGNIZER
The license does not include the requested text recognizer.
Definition: ScRecognitionContext.h:207
@ SC_RECOGNITION_CONTEXT_STATUS_LICENSE_KEY_INVALID
The provided Scandit SDK license license key is invalid. Please set a valid license key in your appli...
Definition: ScRecognitionContext.h:138
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_PLATFORM
The Scandit SDK license validation failed. Your license key does not include this platform....
Definition: ScRecognitionContext.h:107
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_APP_ID
The Scandit SDK validation failed. Your app ID does not match the license key's app ID....
Definition: ScRecognitionContext.h:115
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_EXTERNAL_ID
The Scandit SDK validation failed. The external id does not match with the license key.
Definition: ScRecognitionContext.h:173
@ SC_RECOGNITION_CONTEXT_STATUS_UNLICENSED_SYMBOLOGY_ENABLED
Your license does not include a symbology enabled by your barcode scanner settings.
Definition: ScRecognitionContext.h:180
@ SC_RECOGNITION_CONTEXT_STATUS_UNLICENSED_FEATURE_BEGIN
Denotes the beginning of the enum range for unlicensed features.
Definition: ScRecognitionContext.h:228
@ SC_RECOGNITION_CONTEXT_STATUS_SUCCESS
The context status is okay. No error occured.
Definition: ScRecognitionContext.h:54
@ SC_RECOGNITION_CONTEXT_STATUS_DEVICE_ACTIVATION_FAILED
The device activation failed. Please connect to the Internet and restart the application.
Definition: ScRecognitionContext.h:145
@ SC_RECOGNITION_CONTEXT_STATUS_SCANS_EXCEEDED
The device activation failed. The number of allowed scans has exceeded.
Definition: ScRecognitionContext.h:159
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_LICENSE_KEY_VERSION
Your license key's version is not compatible with this SDK version.
Definition: ScRecognitionContext.h:188
@ SC_RECOGNITION_CONTEXT_STATUS_INCONSISTENT_IMAGE_DATA
The provided image data has missing or inconsistent properties. This error code can for example indic...
Definition: ScRecognitionContext.h:75
@ SC_RECOGNITION_CONTEXT_STATUS_UNKNOWN
The context status is unknown.
Definition: ScRecognitionContext.h:50
@ SC_RECOGNITION_CONTEXT_STATUS_OCR_ERROR
An error has occurred in the OCR module.
Definition: ScRecognitionContext.h:213
@ SC_RECOGNITION_CONTEXT_STATUS_UNLICENSED_SYMBOLOGY_EXTENSION_ENABLED
Your license does not include a symbology extension enabled by your barcode scanner settings.
Definition: ScRecognitionContext.h:195
@ SC_RECOGNITION_CONTEXT_STATUS_UNLICENSED_FEATURE_END
Denotes the end of the enum range for unlicensed features.
Definition: ScRecognitionContext.h:237
@ SC_RECOGNITION_CONTEXT_STATUS_LICENSE_KEY_MISSING
No Scandit SDK license key was set. Please set a valid license key in your application.
Definition: ScRecognitionContext.h:92
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_DEVICE
The Scandit SDK validation failed. Your license key does not include support for this device....
Definition: ScRecognitionContext.h:123
@ SC_RECOGNITION_CONTEXT_STATUS_NO_NETWORK_CONNECTION
Scandit SDK failed to get network access which is mandatory for certain license types....
Definition: ScRecognitionContext.h:82
@ SC_RECOGNITION_CONTEXT_STATUS_FRAME_SEQUENCE_NOT_STARTED
Error code to indicate that sc_recognition_context_process_frame() was called without a prior call to...
Definition: ScRecognitionContext.h:64
@ SC_RECOGNITION_CONTEXT_STATUS_TIME_EXCEEDED
The device activation failed. The number of allowed days to use the SDK has exceeded.
Definition: ScRecognitionContext.h:152
@ SC_RECOGNITION_CONTEXT_STATUS_UNSUPPORTED_IMAGE_DATA
The provided image data is not supported by the recognition context.
Definition: ScRecognitionContext.h:68
@ SC_RECOGNITION_CONTEXT_STATUS_LICENSE_KEY_EXPIRED
The Scandit SDK validation failed. Your license key has expired. Please login to scandit....
Definition: ScRecognitionContext.h:99
@ SC_RECOGNITION_CONTEXT_STATUS_REGISTRATION_MANDATORY_BUT_NOT_REGISTERED
The registration of the device is mandatory and must be completed before the recognition context can ...
Definition: ScRecognitionContext.h:166
@ SC_RECOGNITION_CONTEXT_STATUS_INTERNAL_ERROR
The context encountered an internal error.
Definition: ScRecognitionContext.h:58
@ SC_RECOGNITION_CONTEXT_STATUS_MISSING_RESOURCE_ERROR
A missing resource made the scanning operation fail.
Definition: ScRecognitionContext.h:201
@ SC_RECOGNITION_CONTEXT_STATUS_INVALID_SDK_VERSION
The Scandit SDK validation failed. Your license key does not include support for this SDK version....
Definition: ScRecognitionContext.h:131
@ SC_RECOGNITION_CONTEXT_STATUS_LICENSE_VALIDATION_FAILED_403
Scandit SDK validation failed. Make sure your app key is valid and check your account for available d...
Definition: ScRecognitionContext.h:87
ScCameraFacingDirection
The direction of the camera. The default camera direction is SC_CAMERA_FACING_DIRECTION_UNKNOWN.
Definition: ScRecognitionContext.h:463
char const * identifier
Default is NULL.
Definition: ScRecognitionContext.h:477
ScByteArray message
Human readable error message.
Definition: ScRecognitionContext.h:256
ScCameraFacingDirection facing_direction
The direction of the camera.
Definition: ScRecognitionContext.h:476
void sc_process_frame_result_free(ScProcessFrameResult result)
Free the resources associated with an ScProcessFrameResult.
ScContextStatusFlag flag
Execution status flag.
Definition: ScRecognitionContext.h:255
void sc_context_status_free(ScContextStatus status)
Free the resources associated with an ScContextStatus.
uint32_t frame_id
frame identification number within the current frame sequence
Definition: ScRecognitionContext.h:281
Platform specific camera properties.
Definition: ScRecognitionContext.h:475
Status information with error message details.
Definition: ScRecognitionContext.h:254
Result status and frame id.
Definition: ScRecognitionContext.h:279
A null terminated array of bytes.
Describes dimensions as well as internal memory layout of an image buffer.
Opaque recognition context data structure.
void sc_recognition_context_set_camera_properties(ScRecognitionContext *context, ScCameraProperties camera_properties)
set the properties that define the camera that is to be used
void sc_recognition_context_end_frame_sequence(ScRecognitionContext *context)
Signal that a batch of continuous frames ended.
void sc_recognition_context_release(ScRecognitionContext const *context)
Decrease reference count of recognition context by one.
ScRecognitionContext * sc_recognition_context_new(char const *license_key, char const *writable_data_path, char const *device_name)
Recognition context constructor.
void sc_recognition_context_retain(ScRecognitionContext const *context)
Increase reference count of recognition context by one.
ScRecognitionContext * sc_recognition_context_new(char const *license_key, char const *writable_data_path, JNIEnv *env, jobject activity, char const *device_name)
Create a new recognition context (Android only).
ScProcessFrameResult sc_recognition_context_process_frame(ScRecognitionContext *context, ScImageDescription const *image_description, uint8_t const *image_data)
Process image frame with this recognition context.
void sc_recognition_context_start_new_frame_sequence(ScRecognitionContext *context)
Start processing a new batch of continuous frames.