realize the API add_assistant_language(string appid, string language)
authorjingjin.geng <jingjin.geng@samsung.com>
Tue, 11 Jun 2019 19:18:34 +0000 (03:18 +0800)
committerjingjin.geng <jingjin.geng@samsung.com>
Wed, 12 Jun 2019 18:45:14 +0000 (02:45 +0800)
Change-Id: Ia9c4e2b0dbe67164ab92dbc9c973e584ef39881c

plugins/wakeup-manager/inc/wakeup_manager.h
plugins/wakeup-manager/src/wakeup_manager.cpp

index 168975a..532ad5c 100644 (file)
@@ -139,9 +139,12 @@ private:
                CWakeupManager *mWakeupManager{nullptr};
                CWakeupEngineManager *mEngineManager{nullptr};
        };
-
+       typedef struct {
+               string appid;
+               vector<string> languageList;
+       } LanguageInfo;
        void initialize_wakeup_policy();
-
+       vector<LanguageInfo> mLanguageInfo;
        vector<IWakeupEventObserver*> mObservers;
 
        unique_ptr<CWakeupPolicy> mWakeupPolicy;
index 76950c8..2986aa9 100644 (file)
@@ -233,7 +233,7 @@ bool CWakeupManager::deinitialize()
        mAudioManager.deinitialize();
 
        mWakeupSettings.deinitialize();
-
+       mLanguageInfo.clear();
        MWR_LOGD("[END]");
        return true;
 }
@@ -284,7 +284,19 @@ bool CWakeupManager::deactivate(void)
 bool CWakeupManager::add_assistant_language(string appid, string language)
 {
        MWR_LOGD("[ENTER]");
-
+       bool found = false;
+       for (auto& info : mLanguageInfo) {
+               if(0 == info.appid.compare(appid)) {
+                       info.languageList.push_back(language);
+                       found = true;
+               }
+       }
+       if(false == found) {
+               LanguageInfo info;
+               info.appid = appid;
+               info.languageList.push_back(language);
+               mLanguageInfo.push_back(info);
+       }
        MWR_LOGD("[END]");
        return true;
 }