blob: 38faae90c3b571462642fd2a0e7827cf13753776 [file] [log] [blame]
// Copyright 2017 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_BROWSER_SEARCH_ENGINES_SEARCH_ENGINE_OBSERVER_BRIDGE_H_
#define IOS_CHROME_BROWSER_SEARCH_ENGINES_SEARCH_ENGINE_OBSERVER_BRIDGE_H_
#import <Foundation/Foundation.h>
#include "components/search_engines/template_url_service.h"
#include "components/search_engines/template_url_service_observer.h"
// Objective-C equivalent of the TemplateURLServiceObserver class.
@protocol SearchEngineObserving
// Called when the search engine is changed.
- (void)searchEngineChanged;
@end
// Observer used to reload the Search Engine collection view once the
// TemplateURLService changes, either on first load or due to a
// policy change.
class SearchEngineObserverBridge : public TemplateURLServiceObserver {
public:
SearchEngineObserverBridge(id<SearchEngineObserving> owner,
TemplateURLService* urlService);
~SearchEngineObserverBridge() override;
void OnTemplateURLServiceChanged() override;
private:
__weak id<SearchEngineObserving> owner_;
TemplateURLService* templateURLService_; // weak
};
#endif // IOS_CHROME_BROWSER_SEARCH_ENGINES_SEARCH_ENGINE_OBSERVER_BRIDGE_H_