| LEFT | RIGHT |
| (no file at all) | |
| 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 "../shared/Dictionary.h" | 6 #include "../shared/Dictionary.h" |
| 7 | 7 |
| 8 static const CString s_GetMessage = L"GetMessage"; | 8 static const CString s_GetMessage = L"GetMessage"; |
| 9 static const CString s_GetLanguageCount = L"GetLanguageCount"; | 9 static const CString s_GetLanguageCount = L"GetLanguageCount"; |
| 10 static const CString s_GetLanguageByIndex = L"GetLanguageByIndex"; | 10 static const CString s_GetLanguageByIndex = L"GetLanguageByIndex"; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 } | 90 } |
| 91 | 91 |
| 92 | 92 |
| 93 static CString sGetLanguage() | 93 static CString sGetLanguage() |
| 94 { | 94 { |
| 95 CPluginSettings* settings = CPluginSettings::GetInstance(); | 95 CPluginSettings* settings = CPluginSettings::GetInstance(); |
| 96 return settings->GetSubscription(); | 96 return settings->GetSubscription(); |
| 97 } | 97 } |
| 98 | 98 |
| 99 | 99 |
| 100 CStringW sGetMessage(const CString& key) | 100 CStringW sGetMessage(const CString& section, const CString& key) |
| 101 { | 101 { |
| 102 Dictionary* dictionary = Dictionary::GetInstance(); | 102 Dictionary* dictionary = Dictionary::GetInstance(); |
| 103 return CString(dictionary->Lookup("settings", std::string(CW2A(key))).c_str())
; | 103 return CStringW(dictionary->Lookup(std::string(CW2A(section)), std::string(CW2
A(key))).c_str()); |
| 104 } | 104 } |
| 105 | 105 |
| 106 std::wstring sGetMessage(const std::string& key) | 106 std::wstring sGetMessage(const std::string& section, const std::string& key) |
| 107 { | 107 { |
| 108 Dictionary* dictionary = Dictionary::GetInstance(); | 108 Dictionary* dictionary = Dictionary::GetInstance(); |
| 109 return dictionary->Lookup("settings", key); | 109 return dictionary->Lookup(section, key); |
| 110 } | 110 } |
| 111 | 111 |
| 112 | 112 |
| 113 STDMETHODIMP CPluginUserSettings::Invoke(DISPID dispidMember, REFIID riid, LCID
lcid, WORD wFlags, DISPPARAMS* pDispparams, VARIANT* pVarResult, | 113 STDMETHODIMP CPluginUserSettings::Invoke(DISPID dispidMember, REFIID riid, LCID
lcid, WORD wFlags, DISPPARAMS* pDispparams, VARIANT* pVarResult, |
| 114 EXCEPINFO* pExcepinfo, UINT* pArgErr) | 114 EXCEPINFO* pExcepinfo, UINT* pArgErr) |
| 115 { | 115 { |
| 116 if (!pDispparams) | 116 if (!pDispparams) |
| 117 return E_POINTER; | 117 return E_POINTER; |
| 118 | 118 |
| 119 if (!pExcepinfo) | 119 if (!pExcepinfo) |
| 120 return E_POINTER; | 120 return E_POINTER; |
| 121 | 121 |
| 122 if (pDispparams->cNamedArgs) | 122 if (pDispparams->cNamedArgs) |
| 123 return DISP_E_NONAMEDARGS; | 123 return DISP_E_NONAMEDARGS; |
| 124 | 124 |
| 125 CPluginSettings* settings = CPluginSettings::GetInstance(); | 125 CPluginSettings* settings = CPluginSettings::GetInstance(); |
| 126 | 126 |
| 127 if (dispidMember < 0 || dispidMember >= countof(s_Methods)) | 127 if (dispidMember < 0 || dispidMember >= countof(s_Methods)) |
| 128 return DISP_E_BADINDEX; | 128 return DISP_E_BADINDEX; |
| 129 | 129 |
| 130 const CString& method = s_Methods[dispidMember]; | 130 const CString& method = s_Methods[dispidMember]; |
| 131 | 131 |
| 132 if (s_GetMessage == method) | 132 if (s_GetMessage == method) |
| 133 { | 133 { |
| 134 if (1 != pDispparams->cArgs) | 134 if (2 != pDispparams->cArgs) |
| 135 return DISP_E_BADPARAMCOUNT; | 135 return DISP_E_BADPARAMCOUNT; |
| 136 | 136 |
| 137 if (VT_BSTR != pDispparams->rgvarg[0].vt) | 137 if (VT_BSTR != pDispparams->rgvarg[0].vt) |
| 138 return DISP_E_TYPEMISMATCH; | 138 return DISP_E_TYPEMISMATCH; |
| 139 | 139 |
| 140 if (pVarResult) | 140 if (pVarResult) |
| 141 { | 141 { |
| 142 CComBSTR key = pDispparams->rgvarg[0].bstrVal; | 142 CComBSTR key = pDispparams->rgvarg[0].bstrVal; |
| 143 CStringW message = sGetMessage((BSTR)key); | 143 CComBSTR section = pDispparams->rgvarg[1].bstrVal; |
| 144 CStringW message = sGetMessage((BSTR)section, (BSTR)key); |
| 144 | 145 |
| 145 pVarResult->vt = VT_BSTR; | 146 pVarResult->vt = VT_BSTR; |
| 146 pVarResult->bstrVal = SysAllocString(message); | 147 pVarResult->bstrVal = SysAllocString(message); |
| 147 } | 148 } |
| 148 } | 149 } |
| 149 else if (s_GetLanguageCount == method) | 150 else if (s_GetLanguageCount == method) |
| 150 { | 151 { |
| 151 if (pDispparams->cArgs) | 152 if (pDispparams->cArgs) |
| 152 return DISP_E_BADPARAMCOUNT; | 153 return DISP_E_BADPARAMCOUNT; |
| 153 | 154 |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 { | 304 { |
| 304 settings->RemoveWhiteListedDomain((BSTR)domain); | 305 settings->RemoveWhiteListedDomain((BSTR)domain); |
| 305 } | 306 } |
| 306 } | 307 } |
| 307 else | 308 else |
| 308 return DISP_E_MEMBERNOTFOUND; | 309 return DISP_E_MEMBERNOTFOUND; |
| 309 | 310 |
| 310 return S_OK; | 311 return S_OK; |
| 311 } | 312 } |
| 312 | 313 |
| LEFT | RIGHT |