| Index: ios/chrome/browser/ui/settings/utils/observable_boolean.h
|
| diff --git a/ios/chrome/browser/ui/settings/utils/observable_boolean.h b/ios/chrome/browser/ui/settings/utils/observable_boolean.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4bc607302697e45822385a9891cec95faac0f8b5
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/settings/utils/observable_boolean.h
|
| @@ -0,0 +1,33 @@
|
| +// Copyright 2016 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_UI_SETTINGS_UTILS_OBSERVABLE_BOOLEAN_H_
|
| +#define IOS_CHROME_BROWSER_UI_SETTINGS_UTILS_OBSERVABLE_BOOLEAN_H_
|
| +
|
| +#import <Foundation/Foundation.h>
|
| +
|
| +@protocol BooleanObserver;
|
| +
|
| +// Describes the trait an observable boolean has.
|
| +@protocol ObservableBoolean<NSObject>
|
| +
|
| +// The value of this observable boolean.
|
| +@property(nonatomic, assign) BOOL value;
|
| +
|
| +// The observer subscribing to this observable boolean's changes notifications.
|
| +@property(nonatomic, assign) id<BooleanObserver> observer;
|
| +
|
| +@end
|
| +
|
| +// Observer protocol for boolean changes.
|
| +@protocol BooleanObserver
|
| +
|
| +// Called when the boolean changes. Note that all classes conforming to this
|
| +// protocol might send this callback even when the value is reset to the same
|
| +// value. This is the case for ContentSettingBackedBoolean for example.
|
| +- (void)booleanDidChange:(id<ObservableBoolean>)observableBoolean;
|
| +
|
| +@end
|
| +
|
| +#endif // IOS_CHROME_BROWSER_UI_SETTINGS_UTILS_OBSERVABLE_BOOLEAN_H_
|
|
|