// Copyright (c) 2013 GitHub, Inc. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include #include "atom/common/platform_util.h" #include "atom/common/native_mate_converters/file_path_converter.h" #include "native_mate/dictionary.h" #include "url/gurl.h" #include "atom/common/node_includes.h" namespace mate { template<> struct Converter { static bool FromV8(v8::Isolate* isolate, v8::Handle val, GURL* out) { std::string url; if (Converter::FromV8(isolate, val, &url)) { *out = GURL(url); return true; } else { return false; } } }; } // namespace mate namespace { void Initialize(v8::Handle exports) { mate::Dictionary dict(v8::Isolate::GetCurrent(), exports); dict.SetMethod("showItemInFolder", &platform_util::ShowItemInFolder); dict.SetMethod("openItem", &platform_util::OpenItem); dict.SetMethod("openExternal", &platform_util::OpenExternal); dict.SetMethod("moveItemToTrash", &platform_util::MoveItemToTrash); dict.SetMethod("beep", &platform_util::Beep); } } // namespace NODE_MODULE(atom_common_shell, Initialize)