#include "base/nix/scoped_xdg_activation_token_injector.h"
#include "base/command_line.h"
#include "base/environment.h"
#include "base/nix/xdg_util.h"
namespace base::nix {
ScopedXdgActivationTokenInjector::ScopedXdgActivationTokenInjector(
base::CommandLine& command_line,
base::Environment& env)
: command_line_(command_line) {
if (auto token = ExtractXdgActivationTokenFromEnv(env); token.has_value()) {
command_line.AppendSwitchASCII(kXdgActivationTokenSwitch, *token);
token_injected_ = true;
}
}
ScopedXdgActivationTokenInjector::~ScopedXdgActivationTokenInjector() {
if (token_injected_) {
command_line_->RemoveSwitch(kXdgActivationTokenSwitch);
}
}
}