From c38f2fcf759f84fc1b0c5e1946270fbcea9f38ff Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Mon, 19 Oct 2015 16:20:51 -0700 Subject: [PATCH] Add a native mate converter for command lines --- .../command_line_converter.h | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 atom/common/native_mate_converters/command_line_converter.h diff --git a/atom/common/native_mate_converters/command_line_converter.h b/atom/common/native_mate_converters/command_line_converter.h new file mode 100644 index 000000000000..7941c9a0968b --- /dev/null +++ b/atom/common/native_mate_converters/command_line_converter.h @@ -0,0 +1,37 @@ +// Copyright (c) 2014 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef ATOM_COMMON_NATIVE_MATE_CONVERTERS_COMMAND_LINE_CONVERTER_H_ +#define ATOM_COMMON_NATIVE_MATE_CONVERTERS_COMMAND_LINE_CONVERTER_H_ + +#include + +#include "atom/common/native_mate_converters/string16_converter.h" +#include "base/command_line.h" + +namespace mate { + +template<> +struct Converter { + static v8::Local ToV8(v8::Isolate* isolate, + const base::CommandLine& val) { + return Converter::ToV8(isolate, val.GetCommandLineString()); + } + static bool FromV8(v8::Isolate* isolate, + v8::Local val, + base::CommandLine* out) { + base::FilePath::StringType path; + + if (Converter::FromV8(isolate, val, &path)) { + *out = base::CommandLine(base::FilePath(path)); + return true; + } else { + return false; + } + } +}; + +} // namespace mate + +#endif // ATOM_COMMON_NATIVE_MATE_CONVERTERS_FILE_PATH_CONVERTER_H_