blob: 50f39eb00f118d5ead54829d476bde585a10ecb1 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_DOWNLOAD_INSTALLATION_NOTIFIER_PRIVATE_H_
#define IOS_CHROME_BROWSER_DOWNLOAD_INSTALLATION_NOTIFIER_PRIVATE_H_
#import "net/base/backoff_entry.h"
// Class extension exposing private methods of InstallationNotifier
// for testing.
@interface InstallationNotifier ()
// Sets the dispatcher.
- (void)setDispatcher:(id<DispatcherProtocol>)dispatcher;
// Resets the dispatcher.
- (void)resetDispatcher;
// Dispatches a block with an exponentially increasing delay.
- (void)dispatchInstallationNotifierBlock;
// Registers for a notification and gives the option to not immediately start
// polling.
- (void)registerForInstallationNotifications:(id)observer
withSelector:(SEL)notificationSelector
forScheme:(NSString*)scheme
startPolling:(BOOL)poll;
- (net::BackoffEntry::Policy const*)backOffPolicy;
@end
#endif // IOS_CHROME_BROWSER_DOWNLOAD_INSTALLATION_NOTIFIER_PRIVATE_H_