1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 6#define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 7 8#include "components/bookmarks/browser/bookmark_node_data.h" 9 10#if defined(__OBJC__) 11@class NSString; 12#endif // __OBJC__ 13 14namespace base { 15class FilePath; 16} 17 18// This set of functions lets C++ code interact with the cocoa pasteboard and 19// dragging methods. 20 21// Writes a set of bookmark elements from a profile to the specified pasteboard. 22void WriteBookmarksToPasteboard( 23 ui::ClipboardType type, 24 const std::vector<bookmarks::BookmarkNodeData::Element>& elements, 25 const base::FilePath& profile_path); 26 27// Reads a set of bookmark elements from the specified pasteboard. 28bool ReadBookmarksFromPasteboard( 29 ui::ClipboardType type, 30 std::vector<bookmarks::BookmarkNodeData::Element>& elements, 31 base::FilePath* profile_path); 32 33// Returns true if the specified pasteboard contains any sort of bookmark 34// elements. It currently does not consider a plaintext url a valid bookmark. 35bool PasteboardContainsBookmarks(ui::ClipboardType type); 36 37#if defined(__OBJC__) 38// Pasteboard type for dictionary containing bookmark structure consisting 39// of individual bookmark nodes and/or bookmark folders. 40extern "C" NSString* const kBookmarkDictionaryListPboardType; 41#endif // __OBJC__ 42 43#endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 44