2015-03-17 12:55:53 +00:00
|
|
|
// Copyright (c) 2015 GitHub, Inc.
|
|
|
|
// Use of this source code is governed by the MIT license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2021-11-22 07:34:31 +00:00
|
|
|
#ifndef ELECTRON_SHELL_COMMON_ELECTRON_COMMAND_LINE_H_
|
|
|
|
#define ELECTRON_SHELL_COMMON_ELECTRON_COMMAND_LINE_H_
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2018-01-22 22:49:30 +00:00
|
|
|
#include "base/command_line.h"
|
2016-03-09 13:19:56 +00:00
|
|
|
#include "build/build_config.h"
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2019-06-19 21:23:04 +00:00
|
|
|
namespace electron {
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2015-03-29 11:59:16 +00:00
|
|
|
// Singleton to remember the original "argc" and "argv".
|
2020-02-04 20:19:40 +00:00
|
|
|
class ElectronCommandLine {
|
2015-03-17 12:55:53 +00:00
|
|
|
public:
|
2021-11-03 11:41:45 +00:00
|
|
|
// disable copy
|
2021-11-24 08:45:59 +00:00
|
|
|
ElectronCommandLine() = delete;
|
2021-11-03 11:41:45 +00:00
|
|
|
ElectronCommandLine(const ElectronCommandLine&) = delete;
|
|
|
|
ElectronCommandLine& operator=(const ElectronCommandLine&) = delete;
|
|
|
|
|
2018-01-22 22:49:30 +00:00
|
|
|
static const base::CommandLine::StringVector& argv() { return argv_; }
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2018-01-22 22:49:30 +00:00
|
|
|
static void Init(int argc, base::CommandLine::CharType** argv);
|
2016-06-02 10:49:36 +00:00
|
|
|
|
2022-02-10 02:58:52 +00:00
|
|
|
#if BUILDFLAG(IS_LINUX)
|
2015-06-19 14:56:10 +00:00
|
|
|
// On Linux the command line has to be read from base::CommandLine since
|
|
|
|
// it is using zygote.
|
|
|
|
static void InitializeFromCommandLine();
|
|
|
|
#endif
|
|
|
|
|
2015-03-17 12:55:53 +00:00
|
|
|
private:
|
2018-01-22 22:49:30 +00:00
|
|
|
static base::CommandLine::StringVector argv_;
|
2015-03-17 12:55:53 +00:00
|
|
|
};
|
|
|
|
|
2019-06-19 21:23:04 +00:00
|
|
|
} // namespace electron
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2021-11-22 07:34:31 +00:00
|
|
|
#endif // ELECTRON_SHELL_COMMON_ELECTRON_COMMAND_LINE_H_
|