From 8c242a73c16bd4d205854b39c7886c4f3c0bcf7a Mon Sep 17 00:00:00 2001 From: =?utf8?q?K=C3=A9vin=20THIERRY?= Date: Mon, 27 Jan 2014 16:08:50 +0100 Subject: [PATCH] Add multi-user support MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit /opt/usr/voice/ purpose was to stock user's downloaded engines and associated settings. It has been moved to ~/.voice/ to respect the multi-user architecture. Also set valid group and licence tags. Change-Id: Id87fbf0e0a5baa4534cc65f8e7672991c717dfa8 Bug-Tizen: PTREL-297 Signed-off-by: Kévin THIERRY --- CMakeLists.txt | 2 +- common/tts_defs.h | 7 +++++-- packaging/tts.spec | 38 +++++++++++++++++++------------------- server/ttsd_config.c | 7 +++++-- server/ttsd_config_noti.c | 5 ++++- server/ttsd_config_sr.c | 6 +++++- server/ttsd_main.h | 13 ++++++++----- 7 files changed, 47 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b63418..98baf4d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/common") ## Dependent packages ## INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED - mm-player dlog ecore ecore-file dbus-1 mm-session capi-system-runtime-info vconf vconf-internal-keys + mm-player dlog ecore ecore-file dbus-1 mm-session capi-system-runtime-info vconf vconf-internal-keys libtzplatform-config ) ## Client library ## diff --git a/common/tts_defs.h b/common/tts_defs.h index 6f65a1c..3597b1c 100644 --- a/common/tts_defs.h +++ b/common/tts_defs.h @@ -15,6 +15,9 @@ #ifndef _TTS_DEFS_H__ #define _TTS_DEFS_H__ +/* For multi-user support */ +#include + #ifdef __cplusplus extern "C" { #endif @@ -63,8 +66,8 @@ extern "C" { #define TTSD_METHOD_ERROR "ttsd_method_error" #define TTSD_METHOD_SET_STATE "ttsd_method_set_state" #define TTSD_METHOD_GET_STATE "ttsd_method_get_state" - -#define MESSAGE_FILE_PATH "/opt/home/app/.voice/tts" + +#define MESSAGE_FILE_PATH tzplatform_mkpath(TZ_USER_HOME, ".voice/tts") /****************************************************************************************** * Message Definition for Setting diff --git a/packaging/tts.spec b/packaging/tts.spec index 9433b28..1fbfc33 100644 --- a/packaging/tts.spec +++ b/packaging/tts.spec @@ -1,27 +1,27 @@ Name: tts Summary: Text To Speech client library and daemon Version: 0.1.62 -Release: 1 -Group: libs +Release: 0 +Group: Graphics & UI Framework/Libraries License: Apache-2.0 Source0: %{name}-%{version}.tar.gz -Source1001: %{name}.manifest -Source1002: %{name}-devel.manifest -Requires(post): /sbin/ldconfig +Source1001: %{name}.manifest +Source1002: %{name}-devel.manifest +Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(mm-player) -BuildRequires: pkgconfig(mm-common) -BuildRequires: pkgconfig(mm-session) -BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(vconf) -BuildRequires: pkgconfig(vconf-internal-keys) -BuildRequires: pkgconfig(ecore) -BuildRequires: pkgconfig(ecore-file) -BuildRequires: pkgconfig(capi-system-runtime-info) - -BuildRequires: cmake +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(mm-player) +BuildRequires: pkgconfig(mm-common) +BuildRequires: pkgconfig(mm-session) +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(vconf-internal-keys) +BuildRequires: pkgconfig(ecore) +BuildRequires: pkgconfig(ecore-file) +BuildRequires: pkgconfig(capi-system-runtime-info) +BuildRequires: pkgconfig(libtzplatform-config) +BuildRequires: cmake %description Text To Speech client library and daemon. @@ -56,7 +56,7 @@ mkdir -p %{buildroot}/usr/share/license %files %manifest %{name}.manifest -/etc/config/sysinfo-tts.xml +%config %{_sysconfdir}/config/sysinfo-tts.xml %defattr(-,root,root,-) %{_libdir}/lib*.so %{_libdir}/voice/tts/1.0/ttsd.conf diff --git a/server/ttsd_config.c b/server/ttsd_config.c index fc55e30..623637d 100644 --- a/server/ttsd_config.c +++ b/server/ttsd_config.c @@ -15,6 +15,9 @@ #include #include +/* For multi-user support */ +#include + #include "ttsd_main.h" #include "ttsd_config.h" #include "ttsd_engine_agent.h" @@ -22,7 +25,7 @@ #define CONFIG_DEFAULT BASE_DIRECTORY_DEFAULT"/ttsd.conf" -#define DEFAULT_ERROR_FILE_NAME CONFIG_DIRECTORY"/ttsd_default.err" +#define DEFAULT_ERROR_FILE_NAME tzplatform_mkpath(TZ_USER_HOME, ".voice/ttsd_default.err") #define ENGINE_ID "ENGINE_ID" #define VOICE "VOICE" @@ -303,4 +306,4 @@ int ttsd_config_save_error(int uid, int uttid, const char* lang, int vctype, con SLOG(LOG_ERROR, get_tag(), "=================================================="); return 0; -} \ No newline at end of file +} diff --git a/server/ttsd_config_noti.c b/server/ttsd_config_noti.c index 5b593bb..d5a7110 100644 --- a/server/ttsd_config_noti.c +++ b/server/ttsd_config_noti.c @@ -17,12 +17,15 @@ #include #include +/* For multi-user support */ +#include + #include "ttsd_main.h" #include "ttsd_config.h" #include "ttsd_engine_agent.h" #include "ttsd_data.h" -#define NOTI_ERROR_FILE_NAME CONFIG_DIRECTORY"/ttsd_noti.err" +#define NOTI_ERROR_FILE_NAME tzplatform_mkpath(TZ_USER_HOME, ".voice/ttsd_noti.err") #define ENGINE_ID "ENGINE_ID" #define VOICE "VOICE" diff --git a/server/ttsd_config_sr.c b/server/ttsd_config_sr.c index 55e2f74..b5230b8 100644 --- a/server/ttsd_config_sr.c +++ b/server/ttsd_config_sr.c @@ -15,12 +15,16 @@ #include #include #include + +/* For multi-user support */ +#include + #include "ttsd_main.h" #include "ttsd_config.h" #include "ttsd_engine_agent.h" #include "ttsd_data.h" -#define SR_ERROR_FILE_NAME CONFIG_DIRECTORY"/ttsd_sr.err" +#define SR_ERROR_FILE_NAME tzplatform_mkpath(TZ_USER_HOME, ".voice/ttsd_sr.err") #define ENGINE_ID "ENGINE_ID" diff --git a/server/ttsd_main.h b/server/ttsd_main.h index 09786c0..6ac5cff 100644 --- a/server/ttsd_main.h +++ b/server/ttsd_main.h @@ -24,6 +24,9 @@ #include #include +/* For multi-user support */ +#include + #include "ttsp.h" #include "tts_defs.h" @@ -36,13 +39,13 @@ extern "C" { #define ENGINE_DIRECTORY_DEFAULT "/usr/lib/voice/tts/1.0/engine" #define ENGINE_DIRECTORY_DEFAULT_SETTING "/usr/lib/voice/tts/1.0/setting" -#define CONFIG_DIRECTORY "/opt/home/app/.voice" - -#define ENGINE_DIRECTORY_DOWNLOAD "/opt/usr/voice/tts/1.0/engine" -#define ENGINE_DIRECTORY_DOWNLOAD_SETTING "/opt/usr/voice/tts/1.0/setting" +#define CONFIG_DIRECTORY tzplatform_mkpath(TZ_USER_HOME, ".voice") + +#define ENGINE_DIRECTORY_DOWNLOAD tzplatform_mkpath(TZ_USER_HOME, ".voice/tts/1.0/engine") +#define ENGINE_DIRECTORY_DOWNLOAD_SETTING tzplatform_mkpath(TZ_USER_HOME, ".voice/tts/1.0/setting") #define CONFIG_DEFAULT BASE_DIRECTORY_DEFAULT"/ttsd.conf" -#define DEFAULT_CONFIG_FILE_NAME CONFIG_DIRECTORY"/ttsd_default.conf" +#define DEFAULT_CONFIG_FILE_NAME tzplatform_mkpath(TZ_USER_HOME, ".voice/ttsd_default.conf") /* for debug message */ #define DATA_DEBUG -- 2.7.4