static int GetOption(lua_State* L) { DECLARE_SELF(L) MeterWindow* meterWindow = self->GetMeterWindow(); ConfigParser& parser = meterWindow->GetParser(); std::wstring strTmp = LuaManager::ToWide(L, 2); strTmp = parser.ReadString(self->GetName(), strTmp.c_str(), L""); LuaManager::PushWide(L, strTmp); return 1; }
static int GetOption(lua_State* L) { DECLARE_SELF(L) MeterWindow* meterWindow = self->GetMeterWindow(); ConfigParser& parser = meterWindow->GetParser(); const std::wstring section = LuaManager::ToWide(2); const std::wstring defValue = LuaManager::ToWide(3); const std::wstring& value = parser.ReadString(self->GetName(), section.c_str(), defValue.c_str()); LuaManager::PushWide(value); return 1; }
// Deprecated! LPCWSTR PluginBridge(LPCWSTR command, LPCWSTR data) { if (command == nullptr || *command == L'\0') { return L"noop"; } NULLCHECK(data); if (_wcsicmp(command, L"GetConfig") == 0) { MeterWindow* meterWindow = GetRainmeter().GetMeterWindowByINI(data); if (meterWindow) { g_Buffer = L"\""; g_Buffer += meterWindow->GetFolderPath(); g_Buffer += L"\""; return g_Buffer.c_str(); } return L""; } else if (_wcsicmp(command, L"GetWindow") == 0) { std::vector<std::wstring> subStrings = CommandHandler::ParseString(data); if (subStrings.size() >= 1) { const std::wstring& config = subStrings[0]; MeterWindow* meterWindow = GetRainmeter().GetMeterWindow(config); if (meterWindow) { WCHAR buf1[64]; _snwprintf_s(buf1, _TRUNCATE, L"%lu", PtrToUlong(meterWindow->GetWindow())); g_Buffer = buf1; return g_Buffer.c_str(); } } return L"error"; } else if (_wcsicmp(command, L"GetVariable") == 0) { std::vector<std::wstring> subStrings = CommandHandler::ParseString(data); if (subStrings.size() >= 2) { const std::wstring& config = subStrings[0]; MeterWindow* meterWindow = GetRainmeter().GetMeterWindow(config); if (meterWindow) { const std::wstring& variable = subStrings[1]; const std::wstring* value = meterWindow->GetParser().GetVariable(variable); if (value) { return (*value).c_str(); } } } return L""; } else if (_wcsicmp(command, L"SetVariable") == 0) { std::vector<std::wstring> subStrings = CommandHandler::ParseString(data); if (subStrings.size() == 3) { MeterWindow* meterWindow = GetRainmeter().GetMeterWindow(subStrings[0]); if (meterWindow) { meterWindow->SetVariable(subStrings[1], subStrings[2]); return L"success"; } } return L"error"; } return L"noop"; }