avs-device-sdk/extension/avs-weakup-sdk/aarch64-tuya-mt8516/pryon_lite_fingerprint.h

79 lines
2.4 KiB
C

//////////////////////////////////////////////////////////////////////////
//
// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////
//
// Public API fingerprint component for PryonLite
//
///////////////////////////////////////////////////////////////////////////
#ifndef PRYON_LITE_FINGERPRINT_H
#define PRYON_LITE_FINGERPRINT_H
#include "pryon_lite_error.h"
#ifdef __cplusplus
extern "C" {
#endif
#if defined(PRYONLITE_EXPORTS)
#define DLLDECL __declspec(dllexport)
#elif defined(PRYONLITE_IMPORTS)
#define DLLDECL __declspec(dllimport)
#else
#define DLLDECL
#endif
/// @brief Pryon lite API version
#define PRYON_LITE_FINGERPRINT_API_VERSION "0.2.0"
///
/// @brief Handle to a fingerprint instance
///
typedef void* PryonLiteFingerprintHandle;
///
/// @brief Configuration parameters to be passed in during initialization
///
typedef struct PryonLiteFingerprintConfig
{
const void* fingerprintList; ///< Fingerprint list data (loaded from disk)
size_t sizeofFingerprintList; ///< The size of the fingerprint list
void* userData; ///< User-specified data pointer, returned in the event callback for fingerprint match events.
const char* apiVersion; ///< For api header / library version consistency verification.
} PryonLiteFingerprintConfig;
///
/// @brief Default Configuration to be used to initialize PryonFingerprintConfig struct
///
#define PryonLiteFingerprintConfig_Default \
{ \
NULL, /* fingerprintList */ \
0, /* sizeofFingerprintList */ \
NULL, /* userData */ \
PRYON_LITE_FINGERPRINT_API_VERSION, /* apiVersion */ \
}
typedef struct PryonLiteFingerprintConfigAttributes {
const char *fingerprintApiVersion; //< PryonLite Fingerprint API version
int fingerprintListVersion; //< Fingerprint List Version
} PryonLiteFingerprintConfigAttributes;
///
/// @brief Fingerprint Match Event
///
typedef struct PryonLiteFingerprintMatchEvent
{
const char* keyword; ///< The matched wakeword.
void* userData; ///< userData passed in via PryonLiteFingerprintConfig during decoder initialization
} PryonLiteFingerprintMatchEvent;
#ifdef __cplusplus
} // extern "C"
#endif
#endif //PRYON_LITE_FINGERPRINT_H