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.
|
|
|
|
|
2015-06-19 15:11:53 +00:00
|
|
|
#ifndef ATOM_COMMON_ATOM_COMMAND_LINE_H_
|
|
|
|
#define ATOM_COMMON_ATOM_COMMAND_LINE_H_
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2015-03-29 11:53:47 +00:00
|
|
|
#include <string>
|
2015-03-17 12:55:53 +00:00
|
|
|
#include <vector>
|
|
|
|
|
2016-03-08 04:38:49 +00:00
|
|
|
#include "base/macros.h"
|
2015-03-17 12:55:53 +00:00
|
|
|
|
|
|
|
namespace atom {
|
|
|
|
|
2015-03-29 11:59:16 +00:00
|
|
|
// Singleton to remember the original "argc" and "argv".
|
2015-03-17 12:55:53 +00:00
|
|
|
class AtomCommandLine {
|
|
|
|
public:
|
2015-03-29 11:53:47 +00:00
|
|
|
static void Init(int argc, const char* const* argv);
|
|
|
|
static std::vector<std::string> argv() { return argv_; }
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2015-06-19 14:56:10 +00:00
|
|
|
#if defined(OS_LINUX)
|
|
|
|
// 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:
|
2015-03-29 11:53:47 +00:00
|
|
|
static std::vector<std::string> argv_;
|
2015-03-17 12:55:53 +00:00
|
|
|
|
2015-03-29 11:59:16 +00:00
|
|
|
DISALLOW_IMPLICIT_CONSTRUCTORS(AtomCommandLine);
|
2015-03-17 12:55:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace atom
|
|
|
|
|
2015-06-19 15:11:53 +00:00
|
|
|
#endif // ATOM_COMMON_ATOM_COMMAND_LINE_H_
|