luxlabs header browser preview


@class DiagnosticCaseSummaryAnalytics, NSString, DiagnosticsController, AnalyticsWorkspace, NSMutableDictionary, ABCConfigurationManager, DiagnosticStatisticsManager, NSMutableArray, DiagnosticLiaison, NSObject, NSMutableSet, DiagnosticCaseStorageAnalytics;
@protocol OS_dispatch_queue, DiagnosticCaseManagerStorageDelegate, OS_dispatch_source;

@interface DiagnosticCaseManager : NSObject <DiagnosticReportGeneratorDelegate, DiagnosticLiaisonDelegate> {
    AnalyticsWorkspace *_workspace;
    NSMutableArray *_pendingStatisticsUpdateCases;
    NSMutableSet *_reportOutlets;
    long long _saveCount;
    NSMutableArray *_requestedReportGenerators;
    DiagnosticCaseStorageAnalytics *_caseStorageAnalytics;
    DiagnosticCaseSummaryAnalytics *_caseSummaryAnalytics;
    DiagnosticsController *_diagnosticsController;
    NSObject<OS_dispatch_source> *periodicTimer;
    BOOL _initializationComplete;
    NSMutableSet *sessionsWaitingToEnd;
    NSMutableDictionary *activeProbes;
    NSMutableDictionary *activeIDSMessages;
    NSMutableDictionary *_activeTransactions;
    BOOL _shouldPurgeStorageAfterSave;
}

@property (readonly, nonatomic) DiagnosticLiaison *liaison;
@property (readonly, nonatomic) DiagnosticsController *diagnosticsController;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (readonly, nonatomic) DiagnosticStatisticsManager *statsManager;
@property (readonly, nonatomic) ABCConfigurationManager *configManager;
@property (readonly, nonatomic) NSMutableDictionary *reportGenerators;
@property (readonly, copy, nonatomic) NSMutableArray *activeCases;
@property (readonly, copy, nonatomic) NSMutableArray *totalCases;
@property (nonatomic) unsigned int avgCasesPerDay;
@property (weak, nonatomic) id<DiagnosticCaseManagerStorageDelegate> storageDelegate;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (BOOL)isException:(id)a0 containedInString:(id)a1;
+ (BOOL)isString:(id)a0 inExceptionList:(id)a1;
+ (int)symptomDiagnosticErrorForDiagnosticCaseDampeningType:(short)a0;

- (void)shutdown;
- (void)addSignatureContentForSession:(id)a0 key:(id)a1 content:(id)a2 reply:(id /* block */)a3;
- (unsigned long long)_processProbeActions:(id)a0 session:(id)a1;
- (void)addToSession:(id)a0 events:(id)a1 payload:(id)a2 queue:(id)a3 reply:(id /* block */)a4;
- (BOOL)isAllowedTransientException:(id)a0;
- (BOOL)statisticsRowForDiagnosticCase:(id)a0 matchesWith:(id)a1;
- (void)addCaseReportOutlet:(id)a0;
- (BOOL)allowDampeningExceptionFor:(id)a0;
- (void)_processRemoteIDSTriggers:(id)a0 validFor:(double)a1 signature:(id)a2 sessionID:(id)a3 reply:(id /* block */)a4;
- (void)updateAverageCasesPerDay;
- (void)resetAll;
- (unsigned int)dampeningFactorForSignature:(id)a0 caseTime:(id)a1 limit:(long long)a2;
- (void)saveAllCases;
- (void)startCollectingNextReportForDiagnosticCase:(id)a0;
- (BOOL)hasOpenCases;
- (void)cancelProbesForSession:(id)a0;
- (long long)dailyCountLimitForDomain:(id)a0 type:(id)a1 subtype:(id)a2 domainPredicates:(id)a3;
- (void)endSessionIfProbesCompletedFor:(id)a0;
- (void)configureWithWorkspace:(id)a0;
- (id)diagnosticCaseDictionariesFromIdentifier:(id)a0 withEvents:(BOOL)a1 count:(unsigned long long)a2;
- (id)caseSummariesWithIdentifiers:(id)a0;
- (void)endSessionWithIdentifier:(id)a0 forced:(BOOL)a1;
- (BOOL)sendReportsForCase:(id)a0;
- (void)payloadsForSignatures:(id)a0 reply:(id /* block */)a1;
- (void)startPeriodicTimer;
- (void)addTransactionForCaseID:(id)a0;
- (void)listCaseSummariesOfType:(id)a0 fromIdentifier:(id)a1 count:(unsigned long long)a2 reply:(id /* block */)a3;
- (unsigned int)defaultDampeningFactorForSignature:(id)a0 limit:(long long)a1;
- (void)postProcessActionsForClosedCase:(id)a0;
- (BOOL)disableDampening;
- (void)resetDiagnosticCaseStorage;
- (void)forceCloseDiagnosticCaseStorage;
- (void)removeCaseStorageWithID:(id)a0;
- (BOOL)requestReportGenerator:(id)a0 options:(id)a1;
- (void)requestSnapshotWithSignature:(id)a0 flags:(unsigned long long)a1 events:(id)a2;
- (int)addSignatureContentToCaseWithId:(id)a0 key:(id)a1 content:(id)a2;
- (void)removeTransactionForCaseID:(id)a0;
- (void)requestGroupCaseIdentifierForSignature:(id)a0 reply:(id /* block */)a1;
- (void)reportGeneratorEnded:(id)a0 reportInfo:(id)a1 error:(id)a2;
- (void)updateSignatureWithBundleIdentifier:(id)a0 reply:(id /* block */)a1;
- (void)endSession:(id)a0 forced:(BOOL)a1 onlyIfReady:(BOOL)a2;
- (id)casesMatchingDomain:(id)a0 type:(id)a1 subtype:(id)a2 process:(id)a3 withinLast:(double)a4;
- (void)setUpGeneralCaseReportGenerators;
- (void)stopPeriodicTimer;
- (id)createDiagnosticCaseWithSignature:(id)a0 flags:(unsigned long long)a1 events:(id)a2 payload:(id)a3 actions:(id)a4;
- (void)caseAllowanceForSignature:(id)a0 timestamp:(id)a1 result:(id /* block */)a2;
- (void)removeAllCases;
- (BOOL)finalizeDiagnosticCaseWithId:(id)a0 closureType:(short)a1 onlyIfReady:(BOOL)a2;
- (id)_updateSignatureWithBuildVariantInfoAndFlags:(id)a0;
- (void)addToSession:(id)a0 event:(id)a1 payload:(id)a2 queue:(id)a3 reply:(id /* block */)a4;
- (id)caseStorageForCaseID:(id)a0;
- (id)caseStorageAnalytics;
- (void)recordDiagnosticCaseSummaryForCase:(id)a0;
- (id)responseDictWithSuccess:(BOOL)a0 sessionId:(id)a1 reasonCode:(long long)a2;
- (BOOL)closeCase:(id)a0;
- (void)removeTransientCasesWithSignature:(id)a0 beforeTime:(double)a1;
- (void)addToSession:(id)a0 events:(id)a1 payload:(id)a2 reply:(id /* block */)a3;
- (void).cxx_destruct;
- (void)buildSpecificRestrictionsForSignature:(id)a0 result:(id /* block */)a1;
- (void)promoteTemporaryCase:(id)a0;
- (void)startSessionWithSignature:(id)a0 duration:(double)a1 events:(id)a2 payload:(id)a3 triggerRemote:(BOOL)a4 queue:(id)a5 reply:(id /* block */)a6;
- (void)getHistoricalDiagnosicCaseDictionaryFromIdentifier:(id)a0 withEvents:(BOOL)a1 count:(unsigned long long)a2 reply:(id /* block */)a3;
- (void)_processTriggerActions:(id)a0 session:(id)a1;
- (void)startPacketCaptureForSession:(id)a0 duration:(id)a1;
- (void)listCaseSummariesWithIdentifiers:(id)a0 reply:(id /* block */)a1;
- (id)caseSummariesOfType:(id)a0 fromIdentifier:(id)a1 count:(unsigned long long)a2;
- (id)casesDiagnosedInTheLast:(double)a0 from:(double)a1 matchingDomain:(id)a2;
- (void)remoteTriggerDeliveryUpdateEvent:(id)a0;
- (void)cancelSessionWithIdentifier:(id)a0;
- (void)periodicSessionManagement;
- (void)_processReportActions:(id)a0 session:(id)a1;
- (id)createTemporaryDiagnosticCaseStorageForUUID:(id)a0;
- (id)initWithWorkspace:(id)a0 liaison:(id)a1;
- (id)diagnosticCaseWithId:(id)a0;
- (void)resetAllForCustomerBuilds;
- (void)startSessionWithSignature:(id)a0 flags:(unsigned long long)a1 preferredTimeout:(double)a2 events:(id)a3 payload:(id)a4 actions:(id)a5 reply:(id /* block */)a6;
- (void)_forceCloseDiagnosticCaseStorage;
- (void)removeClosedCasesFromTotalCases;
- (id)lookUpDiagnosticCaseStorageForUUID:(id)a0;
- (int)addToCaseWithId:(id)a0 events:(id)a1 payload:(id)a2;
- (void)_updateCaseStatisticsWithCase:(id)a0;
- (BOOL)isAdmissible:(id)a0 dampenedBy:(short *)a1;
- (int)cancelCaseWithId:(id)a0;
- (void)endSessionWithIdentifier:(id)a0 forced:(BOOL)a1 onlyIfReady:(BOOL)a2;
- (void)_processActionsForPacketCaptureProbe:(id)a0 session:(id)a1;
- (void)addToInternalStateDictionary:(id)a0;
- (unsigned long long)collectDiagnosticExtensionLogsWithParameters:(id)a0 options:(id)a1 diagCase:(id)a2 reply:(id /* block */)a3;
- (void)endSessions:(id)a0 forced:(BOOL)a1;
- (void)_saveAllCases;

@end