luxlabs header browser preview


@class SBFAuthenticationAssertionManager, NSString, SBFMobileKeyBag, NSDate, NSHashTable, SBFAuthenticationAssertion, PCPersistentTimer, SBFMobileKeyBagState, NSMutableArray, BSCompoundAssertion, SBFSecureDisplayCoordinator;
@protocol SBFAuthenticationPolicy, SBFUserAuthenticationModel;

@interface SBFUserAuthenticationController : NSObject <SBFMobileKeyBagObserver, SBFUserAuthenticationModelDelegate, SBFAuthenticationAssertionProviding, SBFAuthenticationStatusProvider, SBFPasscodeFieldChangeObserver> {
    SBFMobileKeyBag *_keybag;
    NSMutableArray *_responders;
    NSHashTable *_observers;
    id<SBFUserAuthenticationModel> _model;
    long long _authenticationState;
    SBFAuthenticationAssertionManager *_assertionManager;
    NSString *_lastIncorrectPasscodeAttempt;
    SBFAuthenticationAssertion *_transientAuthCheckingAssertion;
    struct __CFRunLoopObserver { } *_runLoopObserver;
    PCPersistentTimer *_unblockTimer;
    long long _cachedAuthFlag;
    SBFSecureDisplayCoordinator *_secureDisplayCoordinator;
    SBFMobileKeyBagState *_cachedExtendedState;
    BSCompoundAssertion *_secureDisplayDeferralAssertions;
}

@property (retain, nonatomic, getter=_policy, setter=_setPolicy:) id<SBFAuthenticationPolicy> policy;
@property (readonly, nonatomic) NSDate *lastRevokedAuthenticationDate;
@property (readonly, nonatomic) BOOL inSecureDisplayMode;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (BOOL)_authenticateIfInGracePeriod;
- (void)dealloc;
- (BOOL)hasPasscodeSet;
- (void)_handleSuccessfulAuthentication:(id)a0 responder:(id)a1;
- (id)succinctDescriptionBuilder;
- (void)removeResponder:(id)a0;
- (BOOL)_isPermanentlyBlocked;
- (BOOL)_performNilPasscodeCheck;
- (id)publicDescription;
- (void)_clearBlockedState;
- (BOOL)isAuthenticated;
- (void)notePasscodeEntryBegan;
- (void)_uncachePasscodeIfNecessary;
- (long long)_evaluateAuthenticationAttempt:(id)a0 outError:(id *)a1;
- (BOOL)_isUserRequestedEraseEnabled;
- (void)_noteDeviceLockStateMayHaveChangedForExternalReasons;
- (BOOL)_processAuthenticationRequest:(id)a0 responder:(id)a1;
- (void)_updateAuthenticationStateAndDateForLockState:(id)a0;
- (BOOL)_isTemporarilyBlocked;
- (void)_removeAuthenticationAssertion:(id)a0;
- (void)_addAuthenticationAssertion:(id)a0;
- (void)_notifyClientsOfAuthenticationResult:(long long)a0 forRequest:(id)a1 error:(id)a2 withResponder:(id)a3;
- (id)descriptionBuilderWithMultilinePrefix:(id)a0;
- (id)createGracePeriodAssertionWithReason:(id)a0;
- (void)_handleInvalidAuthentication:(id)a0 responder:(id)a1;
- (void)_setModel:(id)a0;
- (BOOL)hasAuthenticatedAtLeastOnceSinceBoot;
- (long long)_evaluatePasscodeAttempt:(id)a0 outError:(id *)a1;
- (void)_updateAuthenticationStateForPublicReason:(id)a0;
- (void)_removeAuthResponder:(id)a0;
- (void)addAsFirstResponder:(id)a0;
- (BOOL)_isAssertionValid:(id)a0;
- (void)keybag:(id)a0 extendedStateDidChange:(id)a1;
- (void)processAuthenticationRequest:(id)a0 responder:(id)a1;
- (void)_unblockTimerFired;
- (id)createSecureDisplayDeferralAssertionWithReason:(id)a0;
- (void)_revokeAuthenticationImmediately:(BOOL)a0 forPublicReason:(id)a1;
- (void)_setup_runLoopObserverIfNecessary;
- (id)descriptionWithMultilinePrefix:(id)a0;
- (void)_removePrivateAuthenticationObserver:(id)a0;
- (void)deviceLockStateMayHaveChangedForModel:(id)a0;
- (BOOL)_isInBioUnlockState;
- (void)_setupPolicy:(id)a0;
- (void)_clearUnblockTimer;
- (void)_scheduleUnblockTimer;
- (id)createKeybagUnlockAssertionWithReason:(id)a0;
- (void).cxx_destruct;
- (void)revokeAuthenticationIfNecessaryForPublicReason:(id)a0;
- (void)_setAuthState:(long long)a0;
- (void)notePasscodeEntryCancelled;
- (void)_updateSecureModeIfNecessaryForNewAuthState;
- (void)_addAsFirstResponder:(id)a0;
- (BOOL)isAuthenticatedCached;
- (void)_updateAuthenticationStateImmediately:(BOOL)a0 forPublicReason:(id)a1;
- (void)_addPrivateAuthenticationObserver:(id)a0;
- (id)succinctDescription;
- (void)deviceLockModelRequestsDeviceWipe:(id)a0;
- (void)_handleFailedAuthentication:(id)a0 error:(id)a1 responder:(id)a2;
- (void)keybagDidUnlockForTheFirstTime:(id)a0;
- (void)processAuthenticationRequest:(id)a0;
- (BOOL)_isUserAuthenticated;
- (id)initWithAssertionManager:(id)a0 policy:(id)a1;
- (BOOL)_boolForAuthenticationResult:(long long)a0;
- (double)_timeUntilUnblockedSinceReferenceDate;
- (BOOL)_shouldRevokeAuthenticationNow;
- (long long)_evaluateBiometricAttempt:(id)a0;
- (id)initWithAssertionManager:(id)a0 policy:(id)a1 keybag:(id)a2 model:(id)a3;
- (void)_notifyAboutTemporaryBlockStatusChanged;
- (id)_cachedLockStateExtended;
- (void)_refreshModelCacheIfNeeded;
- (void)_invalidateCachedPasscodeLockState;
- (void)revokeAuthenticationImmediatelyIfNecessaryForPublicReason:(id)a0;
- (void)revokeAuthenticationImmediatelyForPublicReason:(id)a0;
- (BOOL)_isInGracePeriodState;

@end