2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 * http://www.apache.org/licenses/LICENSE-2.0
7 * Unless required by applicable law or agreed to in writing, software
8 * distributed under the License is distributed on an "AS IS" BASIS,
9 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 * See the License for the specific language governing permissions and
11 * limitations under the License.
14 #include "ttsd_main.h"
15 #include "ttsd_config.h"
18 #define CONFIG_FILE_PATH BASE_DIRECTORY_DOWNLOAD"ttsd.conf"
19 #define CONFIG_DEFAULT BASE_DIRECTORY_DEFAULT"ttsd.conf"
21 #define ENGINE_ID "ENGINE_ID"
26 static char* g_engine_id;
27 static char* g_language;
31 int __ttsd_config_save()
34 config_fp = fopen(CONFIG_FILE_PATH, "w");
36 if (NULL == config_fp) {
37 /* make file and file default */
38 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to open config (%s)", CONFIG_FILE_PATH);
43 fprintf(config_fp, "%s %s\n", ENGINE_ID, g_engine_id);
46 fprintf(config_fp, "%s %s %d\n", VOICE, g_language, g_vc_type);
49 fprintf(config_fp, "%s %d\n", SPEED, g_speed);
57 int __ttsd_config_load()
60 char buf_id[256] = {0};
61 char buf_param[256] = {0};
64 config_fp = fopen(CONFIG_FILE_PATH, "r");
66 if (NULL == config_fp) {
67 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Not open file(%s)", CONFIG_FILE_PATH);
69 config_fp = fopen(CONFIG_DEFAULT, "r");
70 if (NULL == config_fp) {
71 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Not open original config file(%s)", CONFIG_FILE_PATH);
78 fscanf(config_fp, "%s %s", buf_id, buf_param);
79 if (0 == strncmp(ENGINE_ID, buf_id, strlen(ENGINE_ID))) {
80 g_engine_id = strdup(buf_param);
83 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (engine id)");
89 fscanf(config_fp, "%s %s %d", buf_id, buf_param, &int_param);
90 if (0 == strncmp(VOICE, buf_id, strlen(VOICE))) {
91 g_language = strdup(buf_param);
92 g_vc_type = int_param;
95 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (voice)");
101 fscanf(config_fp, "%s %d", buf_id, &int_param);
102 if (0 == strncmp(SPEED, buf_id, strlen(SPEED))) {
106 SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (speed)");
107 __ttsd_config_save();
111 SLOG(LOG_DEBUG, TAG_TTSD, "[Config] Load config : engine(%s), voice(%s,%d), speed(%d)",
112 g_engine_id, g_language, g_vc_type, g_speed);
117 int ttsd_config_initialize()
124 __ttsd_config_load();
129 int ttsd_config_finalize()
131 __ttsd_config_save();
135 int ttsd_config_get_default_engine(char** engine_id)
137 if (NULL == engine_id)
140 *engine_id = strdup(g_engine_id);
144 int ttsd_config_set_default_engine(const char* engine_id)
146 if (NULL == engine_id)
149 if (NULL != g_engine_id)
152 g_engine_id = strdup(engine_id);
153 __ttsd_config_save();
157 int ttsd_config_get_default_voice(char** language, int* type)
159 if (NULL == language || NULL == type)
162 *language = strdup(g_language);
168 int ttsd_config_set_default_voice(const char* language, int type)
170 if (NULL == language)
173 if (NULL != g_language)
176 g_language = strdup(language);
179 __ttsd_config_save();
184 int ttsd_config_get_default_speed(int* speed)
194 int ttsd_config_set_default_speed(int speed)
197 __ttsd_config_save();