#ifndef APR_SDK_H #define APR_SDK_H #ifdef _WIN32 #define API_EXPORT #define API_CALL #else #define API_PUBLIC __attribute__ ((visibility("default"))) #define API_EXPORT API_PUBLIC #define API_CALL __attribute__ ((visibility("default"))) #endif typedef struct apr_aiwrap_t apr_aiwrap_t; typedef void(*apr_aiwrap_cb_t)(void *userdata, void *data, int len); #ifdef __cplusplus extern "C" { #endif API_EXPORT int apr_aiwrap_create(apr_aiwrap_t** inst, const char* ini_path, const char* param_path); API_EXPORT int apr_aiwrap_destory(apr_aiwrap_t* inst); API_EXPORT int apr_aiwrap_start(apr_aiwrap_t* inst); API_EXPORT int apr_aiwrap_stop(apr_aiwrap_t* inst); API_EXPORT int apr_aiwrap_write(apr_aiwrap_t* inst, void* data, int size); API_EXPORT int apr_aiwrap_param_set(apr_aiwrap_t* inst, const char* param, const char* value); API_EXPORT int apr_aiwrap_param_get(apr_aiwrap_t* inst, const char* param, char* value, int ilen); API_EXPORT int apr_aiwrap_cb_set(apr_aiwrap_t* inst, const char* name, void* cb, void* userdata); API_EXPORT int apr_aiwrap_cb_unset(apr_aiwrap_t* inst, const char* name); API_EXPORT int apr_aiwrap_res_set(apr_aiwrap_t* inst, const char* param, char* value, int ilen); #ifdef __cplusplus } #endif #endif //APR_SDK_H