////////////////////////////////////////////////////////////////////////// // // 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