| Index: ios/chrome/app/spotlight/base_spotlight_manager.h
|
| diff --git a/ios/chrome/app/spotlight/base_spotlight_manager.h b/ios/chrome/app/spotlight/base_spotlight_manager.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bdf5ffa94aedd01b5d20aa08b016f2f167faa9fb
|
| --- /dev/null
|
| +++ b/ios/chrome/app/spotlight/base_spotlight_manager.h
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
|
| +#define IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
|
| +
|
| +#import <CoreSpotlight/CoreSpotlight.h>
|
| +#import <UIKit/UIKit.h>
|
| +
|
| +#include "base/mac/scoped_nsobject.h"
|
| +#include "ios/chrome/app/spotlight/spotlight_util.h"
|
| +
|
| +class GURL;
|
| +
|
| +namespace favicon {
|
| +class LargeIconService;
|
| +}
|
| +
|
| +@interface BaseSpotlightManager : NSObject
|
| +
|
| +- (instancetype)initWithLargeIconService:
|
| + (favicon::LargeIconService*)largeIconService
|
| + domain:(spotlight::Domain)domain
|
| + NS_DESIGNATED_INITIALIZER;
|
| +
|
| +- (instancetype)init NS_UNAVAILABLE;
|
| +
|
| +// Refreshes all items that point to |URLToRefresh|, using title |title|, by
|
| +// calling spotlightItemsWithURL on given URL. The values of |title| and |URL|
|
| +// will be passed to spotlightItemsWithURL.
|
| +- (void)refreshItemsWithURL:(const GURL&)URLToRefresh title:(NSString*)title;
|
| +
|
| +// Creates a spotlight item with |itemID|, using the |attributeSet|.
|
| +- (CSSearchableItem*)spotlightItemWithItemID:(NSString*)itemID
|
| + attributeSet:
|
| + (CSSearchableItemAttributeSet*)attributeSet;
|
| +
|
| +// Creates spotlight items in the class's domain for |URL|,
|
| +// using |favicon| and |defaultTitle|
|
| +// Base implementation creates a single item directly using provided arguments
|
| +// and expects a non-nil title.
|
| +- (NSArray*)spotlightItemsWithURL:(const GURL&)URL
|
| + favicon:(UIImage*)favicon
|
| + defaultTitle:(NSString*)defaultTitle;
|
| +
|
| +// Removes all items in the current manager's domain from the Spotlight
|
| +// index, then calls |callback| on completion
|
| +- (void)clearAllSpotlightItems:(BlockWithError)callback;
|
| +
|
| +// Cancel all large icon pending tasks.
|
| +- (void)cancelAllLargeIconPendingTasks;
|
| +
|
| +// Returns the spotlight ID for an item indexing |URL| and |title|.
|
| +- (NSString*)spotlightIDForURL:(const GURL&)URL title:(NSString*)title;
|
| +
|
| +// Returns the number of pending large icon query tasks
|
| +- (NSUInteger)pendingLargeIconTasksCount;
|
| +
|
| +@end
|
| +
|
| +#endif // IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
|
|
|