luxlabs header browser preview


@class SAPersistenceManager, NSHashTable, SADeviceRecord, TALocationLite, NSDate, NSMutableDictionary, NSUUID, SAAudioAccessory, NSMutableSet;
@protocol SAFenceManagerServiceProtocol, SATimeServiceProtocol, TAEventProtocol, SAFenceManagerRequestProtocol, SATravelTypeClassifierServiceProtocol, SAGeoFenceRequestProtocol, SAWithYouDetectorServiceProtocol, SAAnalyticsServiceProtocol;

@interface SAMonitoringSessionManager : NSObject <SAMonitoringSessionManagerServiceProtocol, SAScenarioClassifierClientProtocol, SAWithYouDetectorClientProtocol, SATimeClientProtocol, SATravelTypeClassifierClientProtocol>

@property (retain, nonatomic) id<SATimeServiceProtocol> clock;
@property (retain, nonatomic) id<SAWithYouDetectorServiceProtocol> withYouDetector;
@property (retain, nonatomic) id<SAGeoFenceRequestProtocol> fenceRequestServicer;
@property (retain, nonatomic) id<SAFenceManagerServiceProtocol, SAFenceManagerRequestProtocol> fenceManager;
@property (retain, nonatomic) NSHashTable *clients;
@property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoMonitoringSession;
@property (retain, nonatomic) TALocationLite *lastLocation;
@property (retain, nonatomic) SADeviceRecord *deviceRecord;
@property (retain, nonatomic) id<SAAnalyticsServiceProtocol> analytics;
@property (retain, nonatomic) id<SATravelTypeClassifierServiceProtocol> travelTypeClassifier;
@property (retain, nonatomic) NSMutableDictionary *devices;
@property (retain, nonatomic) NSMutableDictionary *safeLocations;
@property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoSafeLocationUUIDs;
@property (nonatomic) BOOL requestedPeriodicScan;
@property (nonatomic) unsigned long long disabledReasons;
@property (retain, nonatomic) NSDate *caLastAlertDate;
@property (nonatomic) long long caBroughtOutOnTravel;
@property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoAlertContext;
@property (nonatomic) unsigned long long caCurrentVehicularState;
@property (nonatomic) BOOL caIsVehicularBTHintOn;
@property (retain, nonatomic) SAPersistenceManager *persistenceManager;
@property (retain, nonatomic) SAAudioAccessory *audioAccessoryManager;
@property (retain, nonatomic) NSUUID *nextScheduledAlarmForPersistenceWrite;
@property (retain, nonatomic) NSUUID *scheduledAlarmForForceUpdateWithYouStatus;
@property (retain, nonatomic) id<TAEventProtocol> currentVisitOrLOIEvent;
@property (retain, nonatomic) id<TAEventProtocol> previousVisitOrLOIEvent;
@property (retain, nonatomic) NSDate *timeOfAttemptToLoadFromPersistence;
@property (nonatomic) BOOL isCompanionConnected;
@property (retain, nonatomic) NSMutableSet *devicesWithToBePopulatedTrackedTravelingStartLocation;
@property (retain, nonatomic) NSMutableSet *devicesWithPendingTransition;
@property (nonatomic) BOOL isInAirplaneMode;
@property (nonatomic) BOOL enabled;
@property (nonatomic) BOOL standby;

+ (id)convertSAMonitoringSessionStateToString:(unsigned long long)a0;

- (void)didForceUpdateWithYouStatus;
- (void)ingestTAEvent:(id)a0;
- (void)removeTravelFenceForDevice:(id)a0;
- (void)addClient:(id)a0;
- (void)addDevicesIfNeededPerEvent:(id)a0;
- (BOOL)isAnyTrackedWhileTraveling;
- (void)notifyWhileTraveling:(id)a0 isBookendingTravel:(BOOL)a1;
- (void)scheduleNextForceUpdateWithYouStatusFromReferenceDate:(id)a0 forAlertForDevice:(id)a1 alertType:(unsigned long long)a2;
- (void)removeClient:(id)a0;
- (id)computeRemovedSafeLocations:(id)a0;
- (BOOL)_isOnlyMonitoringCompanionDevice;
- (void)configureBackgroundScanning;
- (void)removeSafeLocation:(id)a0 forDeviceUUID:(id)a1;
- (BOOL)isWithinCurrentVisitOrLOI:(id)a0;
- (unsigned long long)scenarioClassForDeviceUUID:(id)a0;
- (void)addSafeLocationsIfNeededPerNewSet:(id)a0 forDevice:(id)a1;
- (void)addDisableReason:(unsigned long long)a0;
- (BOOL)addTravelFenceForDevice:(id)a0;
- (double)timeDelayForRetryScanForAlertForDeviceUUID:(id)a0 alertType:(unsigned long long)a1;
- (void)scheduleNextPersistenceWrite;
- (void)handleNewSafeLocation:(id)a0;
- (BOOL)allDevicesInSafeLocation;
- (BOOL)isAnyInTrackedInUnsafeLocation;
- (void)startPeriodicScans;
- (void)startPeriodicScansIfNeeded;
- (BOOL)deviceShouldTransitionWithLastScenarioChangeDate:(id)a0 lastWithYouDate:(id)a1;
- (void)notifyEarlyLeftBehind:(id)a0;
- (void)handleGeofenceEvent:(id)a0;
- (void)addDevice:(id)a0 isLastDeviceEvent:(BOOL)a1;
- (void)handleSystemStateChanged:(id)a0;
- (BOOL)_isOnlyMonitoringDisconnectedCompanionDevice;
- (BOOL)monitoringSessionState:(unsigned long long)a0 matchesWithScenarioClass:(unsigned long long)a1;
- (long long)determineTrackedTravelingCount;
- (void)checkReunion:(unsigned long long)a0 to:(unsigned long long)a1 forDeviceWithUUID:(id)a2;
- (void)updateLocation:(id)a0;
- (void)stopSafeLocation:(id)a0 forDevice:(id)a1;
- (void)updateDevicesWithSafeLocations:(id)a0;
- (void)checkForDevicesNeedingTransition;
- (void)didChangeScenarioClassFrom:(unsigned long long)a0 to:(unsigned long long)a1 forDevice:(id)a2;
- (void)removeAndStopSafeLocationsForDeviceUUID:(id)a0;
- (void)requestToStopBackgroundScanning;
- (void)attemptToPopulateTrackedTravelingStartLocationForDevice:(id)a0;
- (void)startSafeLocation:(id)a0 forDevice:(id)a1;
- (void)requestToStartBackgroundScanning;
- (void)changeMonitoringSessionState:(id)a0 toState:(unsigned long long)a1;
- (void)notifyLeftBehind:(id)a0 withRegion:(id)a1 isEarlyVehicularTrigger:(BOOL)a2;
- (BOOL)shouldIssueBookendedNotificationBasedOnTimeForDevice:(id)a0;
- (long long)earlyVehicularTriggerForDeviceUUID:(id)a0;
- (void)stopPeriodicScans;
- (void).cxx_destruct;
- (void)removeDevicesIfNeededPerEvent:(id)a0;
- (BOOL)needPeriodicScan;
- (BOOL)shouldIssueBookendedNotificationBasedOnLocationForDevice:(id)a0;
- (void)modifyDevice:(id)a0;
- (void)removeDeviceWithUUID:(id)a0 isLastDeviceEvent:(BOOL)a1;
- (void)alarmFiredForUUID:(id)a0;
- (id)getLastScenarioChangeDateAmongAllDevices;
- (void)removeDisableReason:(unsigned long long)a0;
- (void)handleModifiedSafeLocation:(id)a0 forDeviceUUID:(id)a1;
- (void)updateSafeLocations:(id)a0;
- (void)setSafeLocations:(id)a0 forDeviceUUID:(id)a1;
- (void)bootstrapMonitoringSessionRecord:(id)a0;
- (void)stopPeriodicScansIfNotNeeded;
- (double)minimumTimeSinceScenarioTransitionForAlertForDeviceUUID:(id)a0 alertType:(unsigned long long)a1;
- (unsigned long long)stateForDeviceUUID:(id)a0;
- (void)createMonitoringDevice:(id)a0;
- (void)handleModifiedSafeLocation:(id)a0;
- (id)createLocationFromCircularRegion:(id)a0 forDevice:(id)a1 withContext:(unsigned long long)a2;
- (void)handleSeparationForDeviceUUID:(id)a0 withSafeLocationRecommendation:(id)a1 context:(id)a2;
- (BOOL)enoughTimeHasPassedBeforeSurfacingAlert:(id)a0 forAlertForDevice:(id)a1 alertType:(unsigned long long)a2;
- (void)cancelMonitoringDevice:(id)a0;
- (void)setUpTravelingGeofencesOnAirplaneModeToggleOffIfNeeded;
- (void)updatedWithYouStatusFrom:(unsigned long long)a0 to:(unsigned long long)a1 forDeviceWithUUID:(id)a2;
- (void)removeSafeLocationsIfNeededPerNewSet:(id)a0 forDevice:(id)a1;
- (unsigned long long)getMoreSpecificSADeviceType:(id)a0;
- (id)initWithWithYouDetector:(id)a0 fenceRequestServicer:(id)a1 fenceManager:(id)a2 travelTypeClassifier:(id)a3 clock:(id)a4 deviceRecord:(id)a5 analytics:(id)a6 persistenceManager:(id)a7 audioAccessoryManager:(id)a8;
- (long long)checkInEarStatus:(id)a0;
- (BOOL)shouldIssueBookendedNotificationForDevice:(id)a0;
- (void)handleRemovedSafeLocation:(id)a0;
- (void)didChangeTravelTypeFrom:(unsigned long long)a0 to:(unsigned long long)a1 hints:(unsigned long long)a2;
- (void)notifyWhenLeftBehind:(id)a0;
- (void)requestToFetchLastVisit;
- (void)storeSeparationLocation:(id)a0;
- (void)forceStandbyMode:(id)a0;
- (BOOL)anyDeviceInUnsafeLocation;
- (void)addSafeLocation:(id)a0 forDeviceUUID:(id)a1;
- (void)handleGeofenceExitedForDeviceUUID:(id)a0;

@end