Modified to find /etc/scim/conf/ for custom config settings 71/63371/1
authorWonkeun Oh <wonkeun.oh@samsung.com>
Wed, 23 Mar 2016 10:33:18 +0000 (19:33 +0900)
committerWonkeun Oh <wonkeun.oh@samsung.com>
Wed, 23 Mar 2016 10:45:42 +0000 (19:45 +0900)
Change-Id: Ib518f8e9630d9d8defe4e05ab2998464bea7d4f1

ism/modules/config/scim_simple_config.cpp
ism/modules/config/scim_simple_config.h

index 0a6c5638b95ba5d17ff23e4b4a87d2d9db8b7a96..aeb1ed27c53751415346af2bfa17d869ad69bea2 100644 (file)
@@ -486,6 +486,14 @@ SimpleConfig::get_sysconf_filename ()
            String ("config");
 }
 
+String
+SimpleConfig::get_sysconf2_filename ()
+{
+    return get_sysconf_dir () +
+           String (SCIM_PATH_DELIM_STRING) +
+           String ("conf/config");
+}
+
 String
 SimpleConfig::get_userconf_filename ()
 {
@@ -577,6 +585,7 @@ bool
 SimpleConfig::load_all_config ()
 {
     String sysconf = get_sysconf_filename ();
+    String sysconf2 = get_sysconf2_filename ();
     String userconf = get_userconf_filename ();
 
     KeyValueRepository config;
@@ -590,6 +599,15 @@ SimpleConfig::load_all_config ()
         }
     }
 
+    if (sysconf2.length ()) {
+        std::ifstream is (sysconf2.c_str ());
+        if (is) {
+            SCIM_DEBUG_CONFIG(1) << "Parsing user_system config file: "
+                                 << sysconf2 << "\n";
+            parse_config (is, config);
+        }
+    }
+
     if (sysconf.length ()) {
         std::ifstream is (sysconf.c_str ());
         if (is) {
@@ -600,7 +618,6 @@ SimpleConfig::load_all_config ()
     } else {
         std::cerr << __func__ << " Cannot open(" << sysconf << ")\n";
     }
-
     if (!m_config.size () || (m_update_timestamp.tv_sec == 0 && m_update_timestamp.tv_usec == 0)) {
         m_config.swap (config);
         gettimeofday (&m_update_timestamp, 0);
index 69f0103b9dbc5b75a17c5809d2ca3083880c06b5..f63560f05580088f1c237472cb31c2aa6bf007e0 100644 (file)
@@ -99,6 +99,7 @@ private:
     String get_sysconf_dir ();
     String get_userconf_dir ();
     String get_sysconf_filename ();
+    String get_sysconf2_filename ();
     String get_userconf_filename ();
 
     String trim_blank (const String &str);