1 // Copyright (c) 2011 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 CHROME_BROWSER_BOOKMARKS_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 7 8 #include "chrome/browser/bookmarks/bookmark_node_data.h" 9 10 #if defined(__OBJC__) 11 @class NSString; 12 #endif // __OBJC__ 13 14 namespace base { 15 class 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. 22 void WriteBookmarksToPasteboard( 23 ui::ClipboardType type, 24 const std::vector<BookmarkNodeData::Element>& elements, 25 const base::FilePath& profile_path); 26 27 // Reads a set of bookmark elements from the specified pasteboard. 28 bool ReadBookmarksFromPasteboard( 29 ui::ClipboardType type, 30 std::vector<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. 35 bool 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. 40 extern "C" NSString* const kBookmarkDictionaryListPboardType; 41 #endif // __OBJC__ 42 43 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_PASTEBOARD_HELPER_MAC_H_ 44