return NULL;
}
-bool tts_client_is_valid(int uid)
+bool tts_client_is_valid_uid(int uid)
{
if (NULL == tts_client_get_by_uid(uid)) {
- SLOG(LOG_WARN, TAG_TTSC, "[WARNING] A handle is not valid");
+ SLOG(LOG_WARN, TAG_TTSC, "[WARNING] Uid is not valid");
return false;
}
return true;
}
+bool tts_client_is_valid_client(tts_client_s* client)
+{
+ if (NULL == client) {
+ SLOG(LOG_ERROR, TAG_TTSC, "[WARNING] Client is NULL");
+ return false;
+ }
+
+ pthread_mutex_lock(&g_client_list_mutex);
+ if (g_list_length(g_client_list) > 0) {
+ GList *iter = g_list_first(g_client_list);
+ while (NULL != iter) {
+ if (iter->data == client) {
+ pthread_mutex_unlock(&g_client_list_mutex);
+ return true;
+ }
+
+ iter = g_list_next(iter);
+ }
+ }
+ pthread_mutex_unlock(&g_client_list_mutex);
+
+ SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Client(%p) is not valid", client);
+ return false;
+}
+
tts_h tts_client_get_handle(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
void tts_client_set_current_state(tts_client_s* client, tts_state_e state)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
tts_state_e tts_client_get_current_state(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return TTS_STATE_INVALID;
}
void tts_client_set_state_changed_cb(tts_client_s* client, tts_state_changed_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
void tts_client_set_utterance_started_cb(tts_client_s* client, tts_utterance_started_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
__set_utterance_started_cb(client, callback, user_data);
void tts_client_set_utterance_completed_cb(tts_client_s* client, tts_utterance_completed_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
__set_utterance_completed_cb(client, callback, user_data);
void tts_client_set_error_cb(tts_client_s* client, tts_error_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
void tts_client_set_default_voice_changed_cb(tts_client_s* client, tts_default_voice_changed_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
__set_default_voice_changed_cb(client, callback, user_data);
void tts_client_set_engine_changed_cb(tts_client_s* client, tts_engine_changed_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
__set_engine_changed_cb(client, callback, user_data);
void tts_client_set_supported_voice_cb(tts_client_s* client, tts_supported_voice_cb callback, void* user_data)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
__set_supported_voice_cb(client, callback, user_data);
tts_state_changed_cb tts_client_get_state_changed_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->state_changed_cb;
void* tts_client_get_state_changed_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->state_changed_user_data;
tts_utterance_started_cb tts_client_get_utterance_started_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->utt_started_cb;
void* tts_client_get_utterance_started_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->utt_started_user_data;
tts_utterance_completed_cb tts_client_get_utterance_completed_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->utt_completed_cb;
void* tts_client_get_utterance_completed_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->utt_completed_user_data;
tts_error_cb tts_client_get_error_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->error_cb;
void* tts_client_get_error_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->error_user_data;
tts_default_voice_changed_cb tts_client_get_default_voice_changed_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->default_voice_changed_cb;
void* tts_client_get_default_voice_changed_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->default_voice_changed_user_data;
tts_engine_changed_cb tts_client_get_engine_changed_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->engine_changed_cb;
void* tts_client_get_engine_changed_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->engine_changed_user_data;
tts_supported_voice_cb tts_client_get_supported_voice_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->supported_voice_cb;
void* tts_client_get_supported_voice_user_data(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return NULL;
}
return client->supported_voice_user_data;
void tts_client_unset_all_cb(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
return;
}
int tts_core_notify_state_changed(tts_client_s* client, tts_state_e before_state, tts_state_e current_state)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_state_changed_async(tts_client_s* client, tts_state_e before_state, tts_state_e current_state)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_utt_started(tts_client_s* client, int utt_id)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_utt_completeted(tts_client_s* client, int utt_id)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_error(tts_client_s* client, int utt_id, tts_error_e reason)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_error_async(tts_client_s* client, int utt_id, tts_error_e reason)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_default_voice_changed(tts_client_s* client, const char* before_lang, int before_voice_type, const char* language, int voice_type)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_notify_engine_changed(tts_client_s* client, const char* engine_id, const char* language, int voice_type, bool need_credential)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_prepare(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_prepare_sync(tts_client_s* client)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
int tts_core_unprepare(tts_client_s* client, bool is_screen_reader_on)
{
- if (NULL == client || false == tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Handle is not valid.");
return TTS_ERROR_INVALID_PARAMETER;
}
while (NULL != iter) {
tts_client_s* client = iter->data;
- if (NULL != client && tts_client_is_valid(client->uid)) {
+ if (false == tts_client_is_valid_client(client)) {
tts_client_set_current_state(client, TTS_STATE_CREATED);
client->reason = TTS_ERROR_NONE;
}