File indexing completed on 2024-04-28 16:54:33

0001 /*
0002     SPDX-FileCopyrightText: 2020 Kai Uwe Broulik <kde@broulik.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "kworkspace_export.h"
0010 
0011 #include <KJob>
0012 #include <QProcessEnvironment>
0013 
0014 class QString;
0015 
0016 /**
0017  * Job for updating the launch environment.
0018  *
0019  * This job adds or updates an environment variable in process environment that will be used
0020  * anywhere a process is launched, e.g. DBus-activation environment, KLauncher environment, etc.
0021  *
0022  * @code
0023  * UpdateLaunchEnvJob("XCURSOR_THEME", "NewTheme");
0024  * @endcode
0025  *
0026  * @since 5.19
0027  */
0028 class KWORKSPACE_EXPORT UpdateLaunchEnvJob : public KJob
0029 {
0030     Q_OBJECT
0031 
0032 public:
0033     explicit UpdateLaunchEnvJob(const QString &varName, const QString &value);
0034     explicit UpdateLaunchEnvJob(const QProcessEnvironment &environment);
0035     ~UpdateLaunchEnvJob() override;
0036 
0037     void start() override;
0038 
0039 private:
0040     class Private;
0041     Private *const d;
0042 };