#ifndef __DDS_H__
|
#define __DDS_H__
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#if (!(defined DDS_CALL) || !(defined DDS_IMPORT_OR_EXPORT))
|
#if defined _WIN32
|
#if defined _WIN64
|
#define DDS_CALL __stdcall
|
#else
|
#define DDS_CALL
|
#endif
|
|
#ifdef DDS_IMPLEMENTION
|
#define DDS_IMPORT_OR_EXPORT __declspec(dllexport)
|
#else
|
#define DDS_IMPORT_OR_EXPORT __declspec(dllimport)
|
#endif
|
#elif defined __ANDROID__
|
#define DDS_CALL
|
#define DDS_IMPORT_OR_EXPORT
|
#undef JNIEXPORT
|
#define JNIEXPORT __attribute ((visibility("default")))
|
#elif defined __APPLE__
|
#define DDS_CALL
|
#define DDS_IMPORT_OR_EXPORT
|
#elif defined __unix__
|
#define DDS_CALL
|
#define DDS_IMPORT_OR_EXPORT __attribute ((visibility("default")))
|
#else
|
#define DDS_CALL
|
#define DDS_IMPORT_OR_EXPORT
|
#endif
|
#endif
|
|
#define DDS_VERSION "DDS 0.2.12"
|
#define DDS_VERSION_NUM 212
|
|
/* callback event */
|
#define DDS_EV_OUT_RECORD_AUDIO 1
|
#define DDS_EV_OUT_NATIVE_CALL 2
|
#define DDS_EV_OUT_COMMAND 3
|
#define DDS_EV_OUT_MEDIA 4
|
#define DDS_EV_OUT_STATUS 5
|
#define DDS_EV_OUT_TTS 6
|
#define DDS_EV_OUT_ERROR 7
|
#define DDS_EV_OUT_ASR_RESULT 8
|
#define DDS_EV_OUT_DUI_RESPONSE 9
|
#define DDS_EV_OUT_DUI_LOGIN 10
|
#define DDS_EV_OUT_CINFO_RESULT 11
|
|
/* external event */
|
#define DDS_EV_IN_SPEECH 101
|
#define DDS_EV_IN_WAKEUP 102
|
#define DDS_EV_IN_NATIVE_RESPONSE 103
|
#define DDS_EV_IN_RESET 104
|
#define DDS_EV_IN_EXIT 105
|
#define DDS_EV_IN_CUSTOM_TTS_TEXT 106
|
#define DDS_EV_IN_AUDIO_STREAM 107
|
#define DDS_EV_IN_PLAYER_STATUS 108
|
#define DDS_EV_IN_NLU_TEXT 109
|
#define DDS_EV_IN_WAKEUP_WORD 110
|
#define DDS_EV_IN_CINFO_OPERATE 111
|
|
/* error id */
|
#define DDS_ERROR_BASE 1000
|
#define DDS_ERROR_FATAL (DDS_ERROR_BASE + 1)
|
#define DDS_ERROR_TIMEOUT (DDS_ERROR_BASE + 2)
|
#define DDS_ERROR_NETWORK (DDS_ERROR_BASE + 3)
|
#define DDS_ERROR_SERVER (DDS_ERROR_BASE + 4)
|
#define DDS_ERROR_LOGIC (DDS_ERROR_BASE + 5)
|
|
struct dds_msg;
|
|
typedef int (*dds_ev_callback)(void *userdata, struct dds_msg *msg);
|
|
struct dds_opt {
|
dds_ev_callback _handler;
|
void *userdata;
|
};
|
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_start(struct dds_msg *conf, struct dds_opt *opt);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_send(struct dds_msg *msg);
|
|
/* message pack or unpack */
|
DDS_IMPORT_OR_EXPORT struct dds_msg * DDS_CALL dds_msg_new();
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_delete(struct dds_msg *msg);
|
DDS_IMPORT_OR_EXPORT void DDS_CALL dds_msg_print(struct dds_msg *msg);
|
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_type(struct dds_msg *msg, int value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_integer(struct dds_msg *msg, const char *key, int value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_double(struct dds_msg *msg, const char *key, double value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_boolean(struct dds_msg *msg, const char *key, int value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_string(struct dds_msg *msg, const char *key, const char *value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_bin(struct dds_msg *msg, const char *key, const char *value, int value_len);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_set_bin_p(struct dds_msg *msg, const char *key, const char *value, int value_len);
|
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_type(struct dds_msg *msg, int *value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_integer(struct dds_msg *msg, const char *key, int *value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_double(struct dds_msg *msg, const char *key, double *value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_boolean(struct dds_msg *msg, const char *key, int *value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_string(struct dds_msg *msg, const char *key, char **value);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_bin(struct dds_msg *msg, const char *key, char **value, int *value_len);
|
DDS_IMPORT_OR_EXPORT int DDS_CALL dds_msg_get_bin_p(struct dds_msg *msg, const char *key, char **value, int *value_len);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
#endif
|