dde-application-manager/apps/app-launch-helper/src/variantvalue.cpp
ck 50a0ad53ec feat: add app extra/unset env config
to fix #8667 you can
- subpath:"/FoxitReader" appExtraEnvironments : "QT_QPA_PLATFORM=xcb"
- subpath:"/FoxitReader" appEnvironmentsBlacklist : "QT_QPA_PLATFORM"

```
dde-dconfig set -a org.deepin.dde.application-manager -r org.deepin.dde.application-manager -k appExtraEnvironments -s "/FoxitReader" -v "[\"QT_QPA_PLATFORM=xcb\"]"
dde-dconfig set -a org.deepin.dde.application-manager -r org.deepin.dde.application-manager -k appEnvironmentsBlacklist -s "/FoxitReader" -v "[\"QT_QPA_PLATFORM\"]"
```

Issue: https://github.com/linuxdeepin/developer-center/issues/8667
2024-06-13 11:32:10 +08:00

56 lines
1.4 KiB
C++

// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#include "variantValue.h"
#include "constant.h"
#include <sstream>
std::unique_ptr<VariantValue> creatValueHandler(msg_ptr &msg, DBusValueType type)
{
switch (type) {
case DBusValueType::String:
return std::make_unique<StringValue>(msg);
case DBusValueType::ArrayOfString:
return std::make_unique<ASValue>(msg);
default:
return nullptr;
}
}
int StringValue::openVariant() noexcept
{
return sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_VARIANT, "s");
}
int StringValue::closeVariant() noexcept
{
return sd_bus_message_close_container(msgRef());
}
int StringValue::appendValue(std::string &&value) noexcept
{
return sd_bus_message_append(msgRef(), "s", value.data());
}
int ASValue::openVariant() noexcept
{
if (int ret = sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_VARIANT, "as"); ret < 0)
return ret;
return sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_ARRAY, "s");
}
int ASValue::closeVariant() noexcept
{
if (int ret = sd_bus_message_close_container(msgRef()); ret < 0)
return ret;
return sd_bus_message_close_container(msgRef());
}
int ASValue::appendValue(std::string &&value) noexcept
{
return sd_bus_message_append(msgRef(), "s", value.data());
}