Add config_flush () 66/45566/1
authorHaifeng Deng <haifeng.deng@samsung.com>
Fri, 7 Aug 2015 07:56:38 +0000 (15:56 +0800)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 7 Aug 2015 10:04:32 +0000 (19:04 +0900)
Change-Id: Iba55c303b1e459ac2c374fb20d06c69b32409b6e
Signed-off-by: Haifeng Deng <haifeng.deng@samsung.com>
src/sclconnection-isf.cpp
src/sclconnection-isf.h
src/sclconnection.cpp
src/sclconnection.h
src/sclcore.cpp
src/sclcore.h
src/sclcoreimpl.cpp
src/sclcoreimpl.h

index a35abb218c4551926aafc0790b8e9f40816e3aa9..96514eb1959e22e70b770aa4ea0d8cc4e2c68775 100644 (file)
@@ -667,6 +667,7 @@ sclboolean CSCLConnectionISF::config_read_int(const sclchar *name, sclint &value
     sclboolean ret = FALSE;
     if (m_initialized && _scim_config) {
         value = _scim_config->read(name, value);
+        ret = TRUE;
     }
     return ret;
 }
@@ -676,6 +677,7 @@ sclboolean CSCLConnectionISF::config_read_string(const sclchar *name, std::strin
     sclboolean ret = FALSE;
     if (m_initialized && _scim_config) {
         value = _scim_config->read(name, value);
+        ret = TRUE;
     }
     return ret;
 }
@@ -685,6 +687,7 @@ sclboolean CSCLConnectionISF::config_write_int(const sclchar *name, sclint value
     sclboolean ret = FALSE;
     if (m_initialized && _scim_config) {
         _scim_config->write(name, value);
+        ret = TRUE;
     }
     return ret;
 }
@@ -694,6 +697,7 @@ sclboolean CSCLConnectionISF::config_write_string(const sclchar *name, const std
     sclboolean ret = FALSE;
     if (m_initialized && _scim_config) {
         _scim_config->write(name, value);
+        ret = TRUE;
     }
     return ret;
 }
@@ -703,6 +707,17 @@ sclboolean CSCLConnectionISF::config_erase(const sclchar *name)
     sclboolean ret = FALSE;
     if (m_initialized && _scim_config) {
         _scim_config->erase(name);
+        ret = TRUE;
+    }
+    return ret;
+}
+
+sclboolean CSCLConnectionISF::config_flush(void)
+{
+    sclboolean ret = FALSE;
+    if (m_initialized && _scim_config) {
+        _scim_config->flush();
+        ret = TRUE;
     }
     return ret;
 }
index 2ef0605c1f711dd4b3737a700b2d9bf28f737da5..a31098f9a64df0ee8b9783d22f94d954312da0df 100644 (file)
@@ -53,6 +53,7 @@ public:
     sclboolean config_write_int(const sclchar *name, sclint value);
     sclboolean config_write_string(const sclchar *name, const std::string value);
     sclboolean config_erase(const sclchar *name);
+    sclboolean config_flush(void);
 
     void send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value);
     void reset_keyboard_ise();
index b1ddef3263c31e7b4358cf567bcd9794c0e561a4..77dd4242f5b474aedb4b34be603139edf776e298 100644 (file)
@@ -124,6 +124,15 @@ sclboolean CSCLConnection::config_erase(const sclchar *name)
     return ret;
 }
 
+sclboolean CSCLConnection::config_flush(void)
+{
+    sclboolean ret = FALSE;
+    if (m_impl) {
+        ret = m_impl->config_flush();
+    }
+    return ret;
+}
+
 void CSCLConnection::send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value)
 {
     if (m_impl) {
index 24905d1073fbf2fd39ac785ba65854d8ca4fb33f..bf9df23fb768536f1922281fe45c71a52d817600 100644 (file)
@@ -53,6 +53,7 @@ public:
     virtual sclboolean config_write_int(const sclchar *name, sclint value);
     virtual sclboolean config_write_string(const sclchar *name, const std::string value);
     virtual sclboolean config_erase(const sclchar *name);
+    virtual sclboolean config_flush(void);
 
     virtual void send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value);
     virtual void reset_keyboard_ise();
index 64f7c1bb1202b96707bd95d39ab3c070509275f7..aa17f1560a375e4fecccac03ad8fe8647a92ee8c 100644 (file)
@@ -93,6 +93,15 @@ sclboolean CSCLCore::config_erase(const sclchar *name)
     return ret;
 }
 
+sclboolean CSCLCore::config_flush(void)
+{
+    sclboolean ret = FALSE;
+    if (m_impl) {
+        ret = m_impl->config_flush();
+    }
+    return ret;
+}
+
 void CSCLCore::send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value)
 {
     if (m_impl) {
index bc5be666216e809126f0f3e1c34a69553f961468..521b16546b6d29fe340746cb7ed7459570eb51c0 100644 (file)
@@ -77,6 +77,11 @@ public:
      */
     sclboolean config_erase(const sclchar *name);
 
+    /**
+     * @brief Request ISF to permanently writes all changes.
+     */
+    sclboolean config_flush(void);
+
     /**
      * @brief Send an Event to IMEngine
      *
index d705522bf942559eadebf33a6cf62bdcfa0c31f2..de45bab4fd8ca4e41063a20de520d94a8c8c0b42 100644 (file)
@@ -125,6 +125,11 @@ sclboolean CSCLCoreImpl::config_erase(const sclchar *name)
     return m_connection.config_erase(name);
 }
 
+sclboolean CSCLCoreImpl::config_flush(void)
+{
+    return m_connection.config_flush();
+}
+
 void CSCLCoreImpl::send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value)
 {
     m_connection.send_imengine_event(ic, ic_uuid, command, value);
index 933b84d544a4e982f2a6f44ee212d07d13f4babe..2a7d61fa12d02175ed3734f93d31a3d1b15bfb3d 100644 (file)
@@ -58,6 +58,7 @@ public:
     sclboolean config_write_int(const sclchar *name, sclint value);
     sclboolean config_write_string(const sclchar *name, const std::string value);
     sclboolean config_erase(const sclchar *name);
+    sclboolean config_flush(void);
 
     void send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value);
     void reset_keyboard_ise();