chromium/chrome/browser/ui/cocoa/applescript/bookmark_folder_applescript.h

// Copyright 2010 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_FOLDER_APPLESCRIPT_H_
#define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_FOLDER_APPLESCRIPT_H_

#import <Foundation/Foundation.h>

#import "chrome/browser/ui/cocoa/applescript/bookmark_node_applescript.h"

@class BookmarkItemAppleScript;

// Represent a bookmark folder scriptable object in AppleScript.
@interface BookmarkFolderAppleScript : BookmarkNodeAppleScript

// Returns an array of all the bookmark folders contained within this particular
// folder.
@property(readonly) NSArray<BookmarkFolderAppleScript*>* bookmarkFolders;

// Returns an array of all the bookmark items contained within this particular
// folder.
@property(readonly) NSArray<BookmarkItemAppleScript*>* bookmarkItems;

// Bookmark folder manipulation methods.

// Inserts a bookmark folder at the end.
- (void)insertInBookmarkFolders:(BookmarkFolderAppleScript*)aBookmarkFolder;

// Inserts a bookmark folder at some position in the list.
// Called by AppleScript which takes care of bounds checking, make sure of it
// before calling directly.
- (void)insertInBookmarkFolders:(BookmarkFolderAppleScript*)aBookmarkFolder
                        atIndex:(size_t)index;

// Remove a bookmark folder from the list.
// Called by AppleScript which takes care of bounds checking, make sure of it
// before calling directly.
- (void)removeFromBookmarkFoldersAtIndex:(size_t)index;

// Bookmark item manipulation methods.

// Inserts a bookmark item at the end.
- (void)insertInBookmarkItems:(BookmarkItemAppleScript*)aBookmarkItem;

// Inserts a bookmark item at some position in the list.
// Called by AppleScript which takes care of bounds checking, make sure of it
// before calling directly.
- (void)insertInBookmarkItems:(BookmarkItemAppleScript*)aBookmarkItem
                      atIndex:(size_t)index;

// Removes a bookmarks folder from the list.
// Called by AppleScript which takes care of bounds checking, make sure of it
// before calling directly.
- (void)removeFromBookmarkItemsAtIndex:(size_t)index;

@end

#endif  // CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_FOLDER_APPLESCRIPT_H_