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 110cd11d4782bf079760a7c7423f987eec123325..7d08828c3d4b2a3b4d78834fb601b1af85104ee3 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 740cb6f02201058d7d7b5951a6f875125fb39069..b9c5e988178b86be11af99b4f6d6f1d79d9b6d96 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 95b6d1b135d76c0cccd506df7c43f7a8766188ac..c0e3b4a94b8a490beb56dd001e69dcced19acf4c 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 6b01702dda8e0b57a7d5f57fc69114ea27785850..d47a778c42ffde0786c7df11f42925a32a91c87a 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 ca5ae12db52f237444d31d02184508b20793f769..271a8eb93fdbcbd4a7abcfc5ac59d030b99df3fa 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 adf3abe9f92fc520fdcb3bcc6de939b92f508503..5de143512bf6b8fe0522d0fe3518772358f41c54 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;
        }