| LEFT | RIGHT |
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 #include "PluginUserSettings.h" | 2 #include "PluginUserSettings.h" |
| 3 #include <algorithm> | 3 #include <algorithm> |
| 4 #include "PluginSettings.h" | 4 #include "PluginSettings.h" |
| 5 #include "PluginClient.h" | 5 #include "PluginClient.h" |
| 6 #include "PluginIniFileW.h" | 6 #include "PluginIniFileW.h" |
| 7 #include "PluginDictionary.h" | 7 #include "PluginDictionary.h" |
| 8 | 8 |
| 9 static const CString s_GetMessage = L"GetMessage"; | 9 static const CString s_GetMessage = L"GetMessage"; |
| 10 static const CString s_GetLanguageCount = L"GetLanguageCount"; | 10 static const CString s_GetLanguageCount = L"GetLanguageCount"; |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 } | 245 } |
| 246 } | 246 } |
| 247 else if (s_SetLanguage == method) | 247 else if (s_SetLanguage == method) |
| 248 { | 248 { |
| 249 if (1 != pDispparams->cArgs) | 249 if (1 != pDispparams->cArgs) |
| 250 return DISP_E_BADPARAMCOUNT; | 250 return DISP_E_BADPARAMCOUNT; |
| 251 | 251 |
| 252 if (VT_BSTR != pDispparams->rgvarg[0].vt) | 252 if (VT_BSTR != pDispparams->rgvarg[0].vt) |
| 253 return DISP_E_TYPEMISMATCH; | 253 return DISP_E_TYPEMISMATCH; |
| 254 | 254 |
| 255 CComBSTR language = pDispparams->rgvarg[0].bstrVal; | 255 CComBSTR url = pDispparams->rgvarg[0].bstrVal; |
| 256 | 256 |
| 257 settings->SetString(SETTING_LANGUAGE, (BSTR)language); | 257 settings->SetSubscription((BSTR)url); |
| 258 settings->Write(); | |
| 259 settings->SetSubscription((BSTR)language); | |
| 260 } | 258 } |
| 261 else if (s_GetLanguage == method) | 259 else if (s_GetLanguage == method) |
| 262 { | 260 { |
| 263 if (pDispparams->cArgs) | 261 if (pDispparams->cArgs) |
| 264 return DISP_E_BADPARAMCOUNT; | 262 return DISP_E_BADPARAMCOUNT; |
| 265 | 263 |
| 266 if (pVarResult) | 264 if (pVarResult) |
| 267 { | 265 { |
| 268 CString language = settings->GetString(SETTING_LANGUAGE); | 266 CString url = settings->GetSubscription(); |
| 269 | 267 |
| 270 pVarResult->vt = VT_BSTR; | 268 pVarResult->vt = VT_BSTR; |
| 271 pVarResult->bstrVal = SysAllocString(language); | 269 pVarResult->bstrVal = SysAllocString(url); |
| 272 } | 270 } |
| 273 } | 271 } |
| 274 else if (s_GetWhitelistDomains == method) | 272 else if (s_GetWhitelistDomains == method) |
| 275 { | 273 { |
| 276 if (pDispparams->cArgs) | 274 if (pDispparams->cArgs) |
| 277 return DISP_E_BADPARAMCOUNT; | 275 return DISP_E_BADPARAMCOUNT; |
| 278 | 276 |
| 279 if (pVarResult) | 277 if (pVarResult) |
| 280 { | 278 { |
| 281 TDomainList whiteList = settings->GetWhiteListedDomainList(true); | 279 std::vector<std::string> whiteList = settings->GetWhiteListedDomainList(tr
ue); |
| 282 CString sWhiteList; | 280 CString sWhiteList; |
| 283 for (TDomainList::const_iterator it = whiteList.begin(); it != whiteList.e
nd(); ++it) | 281 for (int i = 0; i < whiteList.size(); i++) |
| 284 { | 282 { |
| 285 if (!sWhiteList.IsEmpty()) | 283 if (!sWhiteList.IsEmpty()) |
| 286 { | 284 { |
| 287 sWhiteList += ','; | 285 sWhiteList += ','; |
| 288 } | 286 } |
| 289 sWhiteList += it->first; | 287 sWhiteList += CString(CA2W(whiteList[i].c_str(), CP_UTF8)); |
| 290 } | 288 } |
| 291 | 289 |
| 292 pVarResult->vt = VT_BSTR; | 290 pVarResult->vt = VT_BSTR; |
| 293 pVarResult->bstrVal = SysAllocString(sWhiteList); | 291 pVarResult->bstrVal = SysAllocString(sWhiteList); |
| 294 } | 292 } |
| 295 } | 293 } |
| 296 else if (s_AddWhitelistDomain == method) | 294 else if (s_AddWhitelistDomain == method) |
| 297 { | 295 { |
| 298 if (1 != pDispparams->cArgs) | 296 if (1 != pDispparams->cArgs) |
| 299 return DISP_E_BADPARAMCOUNT; | 297 return DISP_E_BADPARAMCOUNT; |
| 300 | 298 |
| 301 if (VT_BSTR != pDispparams->rgvarg[0].vt) | 299 if (VT_BSTR != pDispparams->rgvarg[0].vt) |
| 302 return DISP_E_TYPEMISMATCH; | 300 return DISP_E_TYPEMISMATCH; |
| 303 | 301 |
| 304 CComBSTR domain = pDispparams->rgvarg[0].bstrVal; | 302 CComBSTR domain = pDispparams->rgvarg[0].bstrVal; |
| 305 if (domain.Length()) | 303 if (domain.Length()) |
| 306 { | 304 { |
| 307 if (!settings->IsWhiteListedDomain((BSTR)domain)) | 305 settings->AddWhiteListedDomain((BSTR)domain); |
| 308 { | |
| 309 settings->AddWhiteListedDomain((BSTR)domain, 1, true); | |
| 310 } | |
| 311 } | 306 } |
| 312 } | 307 } |
| 313 else if (s_RemoveWhitelistDomain == method) | 308 else if (s_RemoveWhitelistDomain == method) |
| 314 { | 309 { |
| 315 if (1 != pDispparams->cArgs) | 310 if (1 != pDispparams->cArgs) |
| 316 return DISP_E_BADPARAMCOUNT; | 311 return DISP_E_BADPARAMCOUNT; |
| 317 | 312 |
| 318 if (VT_BSTR != pDispparams->rgvarg[0].vt) | 313 if (VT_BSTR != pDispparams->rgvarg[0].vt) |
| 319 return DISP_E_TYPEMISMATCH; | 314 return DISP_E_TYPEMISMATCH; |
| 320 | 315 |
| 321 CComBSTR domain = pDispparams->rgvarg[0].bstrVal; | 316 CComBSTR domain = pDispparams->rgvarg[0].bstrVal; |
| 322 if (settings->IsWhiteListedDomain((BSTR)domain)) | 317 if (settings->IsWhiteListedDomain((BSTR)domain)) |
| 323 { | 318 { |
| 324 settings->AddWhiteListedDomain((BSTR)domain, 3, true); | 319 settings->AddWhiteListedDomain((BSTR)domain); |
| 325 CPluginClient::GetInstance()->ClearWhiteListCache(); | 320 CPluginClient::GetInstance()->ClearWhiteListCache(); |
| 326 } | 321 } |
| 327 } | 322 } |
| 328 else | 323 else |
| 329 return DISP_E_MEMBERNOTFOUND; | 324 return DISP_E_MEMBERNOTFOUND; |
| 330 | 325 |
| 331 return S_OK; | 326 return S_OK; |
| 332 } | 327 } |
| 333 | 328 |
| LEFT | RIGHT |