Merge setters and creater function about client 84/279084/2
authorSuyeon Hwang <stom.hwang@samsung.com>
Thu, 28 Jul 2022 12:00:05 +0000 (21:00 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Tue, 2 Aug 2022 04:31:09 +0000 (13:31 +0900)
- Requirement:
Server want to store client mode and IPC method information when prepare
request from client is comming.

- Solution:
It is already possible to store client mode information using setter
functions. However, the mode and IPC method information will be decided
before that client requests prepare. So, using one function to store
these properties are more simple and comportable.
Thus, this patch adds new parameter into ttsd_server_initialize() and
ttsd_data_new_client(). Through this patch, the server can store client
mode and IPC method information during ttsd_data_new_client() invocation.

Change-Id: Ic9f3052a14d4133c6088088e36a827d261091ce1
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
server/ttsd_data.cpp
server/ttsd_data.h
server/ttsd_dbus_server.c
server/ttsd_server.c
server/ttsd_server.h
server/ttsd_tidl.c

index 110cd11..7d08828 100644 (file)
@@ -153,7 +153,7 @@ static app_data_s* __get_client_app_data(unsigned int uid)
        return nullptr;
 }
 
-int ttsd_data_new_client(int pid, unsigned int uid)
+int ttsd_data_new_client(int pid, unsigned int uid, ttsd_mode_e mode, tts_ipc_method_e method)
 {
        lock_guard<mutex> lock(g_app_data_mutex);
        if(nullptr != __get_client_app_data(uid) ) {
@@ -167,9 +167,9 @@ int ttsd_data_new_client(int pid, unsigned int uid)
        app.utt_id_stopped = 0;
        app.state = APP_STATE_READY;
        app.type = TTS_APP_PLAY_TYPE_SYNTH;
-       app.mode = TTSD_MODE_DEFAULT;
+       app.mode = mode;
        app.result_event = TTSE_RESULT_EVENT_FAIL;
-       app.ipc_method = TTS_IPC_METHOD_UNDEFINED;
+       app.ipc_method = method;
        app.credential = nullptr;
        app.paused_data_existing = false;
 
@@ -304,20 +304,6 @@ int ttsd_data_get_pid(unsigned int uid)
        return app_data->pid;
 }
 
-int ttsd_data_set_ipc_method(unsigned int uid, tts_ipc_method_e method)
-{
-       lock_guard<mutex> lock(g_app_data_mutex);
-       app_data_s* app_data = __get_client_app_data(uid);
-       if (nullptr == app_data) {
-               SECURE_SLOG(LOG_ERROR, tts_tag(), "[DATA ERROR] uid is not valid (%u)", uid);
-               return TTSD_ERROR_INVALID_PARAMETER;
-       }
-
-       app_data->ipc_method = method;
-
-       return TTSD_ERROR_NONE;
-}
-
 tts_ipc_method_e ttsd_data_get_ipc_method(unsigned int uid)
 {
        lock_guard<mutex> lock(g_app_data_mutex);
@@ -330,20 +316,6 @@ tts_ipc_method_e ttsd_data_get_ipc_method(unsigned int uid)
        return app_data->ipc_method;
 }
 
-int ttsd_data_set_mode(unsigned int uid, ttsd_mode_e mode)
-{
-       lock_guard<mutex> lock(g_app_data_mutex);
-       app_data_s* app_data = __get_client_app_data(uid);
-       if (nullptr == app_data) {
-               SECURE_SLOG(LOG_ERROR, tts_tag(), "[DATA ERROR] uid is not valid (%u)", uid);
-               return TTSD_ERROR_INVALID_PARAMETER;
-       }
-
-       app_data->mode = mode;
-
-       return TTSD_ERROR_NONE;
-}
-
 ttsd_mode_e ttsd_data_get_mode(unsigned int uid)
 {
        lock_guard<mutex> lock(g_app_data_mutex);
index 740cb6f..b9c5e98 100644 (file)
@@ -70,7 +70,7 @@ ttsd_synthesis_control_e ttsd_data_get_synth_control();
 
 typedef void (* ttsd_used_voice_cb)(const char* lang, int type);
 
-int ttsd_data_new_client(int pid, unsigned int uid);
+int ttsd_data_new_client(int pid, unsigned int uid, ttsd_mode_e mode, tts_ipc_method_e method);
 
 int ttsd_data_delete_client(unsigned int uid);
 
@@ -80,12 +80,8 @@ int ttsd_data_get_client_count();
 
 int ttsd_data_get_pid(unsigned int uid);
 
-int ttsd_data_set_ipc_method(unsigned int uid, tts_ipc_method_e method);
-
 tts_ipc_method_e ttsd_data_get_ipc_method(unsigned int uid);
 
-int ttsd_data_set_mode(unsigned int uid, ttsd_mode_e mode);
-
 ttsd_mode_e ttsd_data_get_mode(unsigned int uid);
 
 int ttsd_data_set_credential(unsigned int uid, const char* credential);
index 95b6d1b..c0e3b4a 100644 (file)
@@ -46,7 +46,7 @@ int ttsd_dbus_server_hello(DBusConnection* conn, DBusMessage* msg)
 
                ttsd_server_is_already_initialized(pid, uid, &is_initialized);
                if (false == is_initialized) {
-                       ret = ttsd_server_initialize(pid, uid, TTS_IPC_METHOD_DBUS, &is_credential_needed);
+                       ret = ttsd_server_initialize(pid, uid, (ttsd_mode_e)mode, TTS_IPC_METHOD_DBUS, &is_credential_needed);
                        if (0 != ret) {
                                SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : server initialize, ret(%d)", ret);
                        }
@@ -113,9 +113,8 @@ int ttsd_dbus_server_initialize(DBusConnection* conn, DBusMessage* msg)
                dbus_error_free(&err);
                ret = TTSD_ERROR_OPERATION_FAILED;
        } else {
-
                SECURE_SLOG(LOG_DEBUG, tts_tag(), "[IN] tts initialize : pid(%d), uid(%u), mode(%d)", pid, uid, mode);
-               ret = ttsd_server_initialize(pid, uid, TTS_IPC_METHOD_DBUS, &credential_needed);
+               ret = ttsd_server_initialize(pid, uid, (ttsd_mode_e)mode, TTS_IPC_METHOD_DBUS, &credential_needed);
        }
 
        DBusMessage* reply;
@@ -217,7 +216,6 @@ int ttsd_dbus_server_set_mode(DBusConnection* conn, DBusMessage* msg)
                ret = TTSD_ERROR_OPERATION_FAILED;
        } else {
                SLOG(LOG_DEBUG, tts_tag(), "[IN] tts set mode. uid(%u), mode(%d)", uid, mode);
-               ret = ttsd_server_set_mode(uid, mode);
        }
 
        DBusMessage* reply;
index 6b01702..d47a778 100644 (file)
@@ -677,7 +677,7 @@ int ttsd_server_is_already_initialized(int pid, unsigned int uid, bool* is_initi
        return TTSD_ERROR_NONE;
 }
 
-int ttsd_server_initialize(int pid, unsigned int uid, tts_ipc_method_e method, bool* credential_needed)
+int ttsd_server_initialize(int pid, unsigned int uid, ttsd_mode_e mode, tts_ipc_method_e method, bool* credential_needed)
 {
        SLOG(LOG_INFO, tts_tag(), "[Server] Server initialize");
 
@@ -712,16 +712,11 @@ int ttsd_server_initialize(int pid, unsigned int uid, tts_ipc_method_e method, b
                }
        }
 
-       if (0 != ttsd_data_new_client(pid, uid)) {
+       if (0 != ttsd_data_new_client(pid, uid, mode, method)) {
                SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to add client info");
                return TTSD_ERROR_OPERATION_FAILED;
        }
 
-       if (0 != ttsd_data_set_ipc_method(uid, method)) {
-               SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to set ipc method");
-               return TTSD_ERROR_OPERATION_FAILED;
-       }
-
        return TTSD_ERROR_NONE;
 }
 
@@ -768,29 +763,6 @@ int ttsd_server_finalize(unsigned int uid)
        return TTSD_ERROR_NONE;
 }
 
-int ttsd_server_set_mode(unsigned int uid, ttsd_mode_e mode)
-{
-       app_tts_state_e state = ttsd_data_get_client_state(uid);
-       if (APP_STATE_NONE == state) {
-               SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] uid(%u) is NOT valid", uid);
-               return TTSD_ERROR_INVALID_PARAMETER;
-       }
-
-       if (APP_STATE_READY != state) {
-               SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Current state(%d) is NOT 'READY'", uid);
-               return TTSD_ERROR_INVALID_STATE;
-       }
-
-       int ret = ttsd_data_set_mode(uid, mode);
-       if (0 != ret) {
-               SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to set mode : ret(%d)", ret);
-       } else {
-               SLOG(LOG_DEBUG, tts_tag(), "[Server] Set mode. uid(%u), mode(%d)", uid, mode);
-       }
-
-       return ret;
-}
-
 static bool __is_connected_to_network()
 {
        /* Check network */
index ca5ae12..271a8eb 100644 (file)
@@ -46,12 +46,10 @@ int ttsd_set_private_data_requested_cb(ttse_private_data_requested_cb callback);
 
 int ttsd_server_is_already_initialized(int pid, unsigned int uid, bool* is_initialized);
 
-int ttsd_server_initialize(int pid, unsigned int uid, tts_ipc_method_e method, bool* credential_needed);
+int ttsd_server_initialize(int pid, unsigned int uid, ttsd_mode_e mode, tts_ipc_method_e method, bool* credential_needed);
 
 int ttsd_server_finalize(unsigned int uid);
 
-int ttsd_server_set_mode(unsigned int uid, ttsd_mode_e mode);
-
 int ttsd_server_get_support_voices(unsigned int uid, GList** voice_list);
 
 int ttsd_server_get_current_voice(unsigned int uid, char** language, int* voice_type);
index adf3abe..5de1435 100644 (file)
@@ -149,7 +149,7 @@ static void __register_cb(rpc_port_stub_tts_context_h context, int pid, int uid,
        int credential_needed = 0;
        if (false == is_initialized) {
                bool is_credential_needed = false;
-               ret = ttsd_server_initialize(pid, u_uid, TTS_IPC_METHOD_TIDL, &is_credential_needed);
+               ret = ttsd_server_initialize(pid, u_uid, mode, TTS_IPC_METHOD_TIDL, &is_credential_needed);
                if (0 != ret) {
                        SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : server initialize, ret(%d)", ret);
                }
@@ -240,12 +240,6 @@ static int __set_mode_cb(rpc_port_stub_tts_context_h context, int uid, int mode,
        unsigned int u_uid = (unsigned int)uid;
        SLOG(LOG_INFO, tts_tag(), ">>>>> TTS SET MODE. uid(%u). mode (%d)", u_uid, mode);
 
-       int ret = ttsd_server_set_mode(u_uid, mode);
-       if (TTSD_ERROR_NONE != ret) {
-               SLOG(LOG_ERROR, tts_tag(), "[ERROR] TTS SET MODE (%u) fail (%d/%s) <<<<<", u_uid, ret, get_error_message(ret));
-               return ret;
-       }
-
        SLOG(LOG_DEBUG, tts_tag(), "<<<<<");
        return TTSD_ERROR_NONE;
 }
@@ -281,7 +275,7 @@ static int __initialize_cb(rpc_port_stub_tts_context_h context, int pid, int uid
        unsigned int u_uid = (unsigned int)uid;
        SECURE_SLOG(LOG_ERROR, tts_tag(), "[IN] tts initialize : pid(%d), uid(%u), mode(%d)", pid, u_uid, mode);
 
-       if (0 != ttsd_server_initialize(pid, u_uid, TTS_IPC_METHOD_TIDL, credential_needed)) {
+       if (0 != ttsd_server_initialize(pid, u_uid, mode, TTS_IPC_METHOD_TIDL, credential_needed)) {
                return TTSD_ERROR_OPERATION_FAILED;
        }