////////////////////////////////////////////////////////////////////////// // // Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. // /////////////////////////////////////////////////////////////////////////// // // Public API Watermark component for PryonLite // /////////////////////////////////////////////////////////////////////////// #ifndef PRYON_LITE_WATERMARK_H #define PRYON_LITE_WATERMARK_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 Watermark API version #define PRYON_LITE_WATERMARK_API_VERSION "0.1.0" /// /// @brief Handle to a watermark instance /// typedef void* PryonLiteWatermarkHandle; /// /// @brief Configuration parameters to be passed in during initialization /// typedef struct PryonLiteWatermarkConfig { const void* config; ///< Watermark config data (loaded from disk or statically compiled in) ///< *** Note this memory must persist while the library is in use *** size_t sizeofConfig; ///< The total size of config binary (in bytes). const char* apiVersion; ///< For api header / library version consistency verification. void* userData; ///< User-specified data pointer, to be returned when sending events } PryonLiteWatermarkConfig; /// /// @brief Default Configuration to be used to initialize PryonLiteWatermarkConfig struct /// #define PryonLiteWatermarkConfig_Default \ { \ NULL, /* config */ \ 0, /* sizeofConfig */ \ PRYON_LITE_WATERMARK_API_VERSION, /* apiVersion */ \ NULL, /* userData */ \ } /// /// @brief Watermark specific attributes /// typedef struct PryonLiteWatermarkConfigAttributes { const char *watermarkApiVersion; //< PryonLite Watermark API version } PryonLiteWatermarkConfigAttributes; #ifdef __cplusplus } // extern "C" #endif #endif //PRYON_LITE_WATERMARK_H