@class NSObject, NSString, MAAsset, SUCoreDescriptor, SUCoreFSM, SUCorePolicy, SUCoreMobileAsset; @protocol OS_os_transaction, OS_dispatch_queue; @interface SUCoreScan : NSObject @property (nonatomic) int operation; @property (nonatomic) int operationSPIType; @property (nonatomic) BOOL cancelingOperation; @property (retain, nonatomic) SUCorePolicy *scanPolicy; @property (retain, nonatomic) SUCoreDescriptor *activeDescriptor; @property (nonatomic) BOOL downloadDocumentation; @property (nonatomic) int pendingMobileAssetRequests; @property (retain, nonatomic) NSString *alternateAssetAudienceUUID; @property (retain, nonatomic) SUCoreMobileAsset *maDocumentationControl; @property (retain, nonatomic) MAAsset *primaryUpdateAsset; @property (retain, nonatomic) MAAsset *secondaryUpdateAsset; @property (retain, nonatomic) SUCoreDescriptor *slowReleasePrimaryDescriptor; @property (retain, nonatomic) SUCoreDescriptor *slowReleaseSecondaryDescriptor; @property (nonatomic) BOOL slowReleaseScanPerformed; @property (copy, nonatomic) id /* block */ checkCompletion; @property (copy, nonatomic) id /* block */ checkMajorMinorCompletion; @property (copy, nonatomic) id /* block */ checkSlowReleaseCompletion; @property (copy, nonatomic) id /* block */ verifyCompletion; @property (copy, nonatomic) id /* block */ collectCompletion; @property (copy, nonatomic) id /* block */ locateCompletion; @property (copy, nonatomic) id /* block */ cancelCompletion; @property (retain, nonatomic) NSObject *scanCheckTransaction; @property (retain, nonatomic) NSObject *scanVerifyTransaction; @property (retain, nonatomic) NSObject *scanCollectTransaction; @property (retain, nonatomic) NSObject *scanLocateTransaction; @property (retain, nonatomic) NSObject *scanCancelTransaction; @property (readonly, nonatomic) SUCoreFSM *scanFSM; @property (readonly, nonatomic) NSObject *clientCompletionQueue; @property (readonly, nonatomic) NSString *scanUUID; + (id)_generateStateTable; - (id)initWithUUID:(id)a0; - (id)description; - (void).cxx_destruct; - (long long)actionUnknownAction:(id)a0 error:(id *)a1; - (long long)performAction:(id)a0 onEvent:(id)a1 inState:(id)a2 withInfo:(id)a3 nextState:(id)a4 error:(id *)a5; - (id)_operationName; - (void)_trackScanBegin:(id)a0 withIdentifier:(id)a1; - (long long)actionCancelDocCatalogDownload:(id *)a0; - (long long)actionCancelRemoveFailed:(id)a0 error:(id *)a1; - (void)_cancelCompleteWithError:(id)a0; - (void)_cancelEndComplete:(id /* block */)a0 error:(id)a1 clearingTransaction:(BOOL)a2; - (void)_checkEndComplete:(id /* block */)a0 scanPolicy:(id)a1 primary:(id)a2 secondary:(id)a3 error:(id)a4 clearingTransaction:(BOOL)a5; - (void)_checkMajorMinorEndComplete:(id /* block */)a0 scanPolicy:(id)a1 majorPrimary:(id)a2 majorSecondary:(id)a3 minorPrimary:(id)a4 minorSecondary:(id)a5 error:(id)a6 clearingTransaction:(BOOL)a7; - (void)_checkSlowReleaseEndComplete:(id /* block */)a0 scanPolicy:(id)a1 primary:(id)a2 secondary:(id)a3 error:(id)a4 clearingTransaction:(BOOL)a5; - (void)_clearCurrentOperation; - (void)_collectEndComplete:(id /* block */)a0 scanPolicy:(id)a1 active:(id)a2 error:(id)a3 clearingTransaction:(BOOL)a4; - (BOOL)_decideAndProcessSlowReleaseUpdateFoundPrimary:(id)a0 foundSecondary:(id)a1 error:(id)a2; - (long long)_decrementMobileAssetPending:(id)a0; - (long long)_downloadCatalog:(id)a0 withIdentifier:(id)a1; - (void)_filterDocQueryResults:(id)a0; - (void)_filterSUQueryResults:(id)a0; - (void)_filterSUQueryResultsForSPITypeMajorMinorFromQuery:(id)a0; - (void)_filterSUQueryResultsForSPITypeSingleFromQuery:(id)a0; - (void)_incrementMobileAssetPending:(id)a0; - (void)_invalidOperation:(id)a0; - (void)_locateEndComplete:(id /* block */)a0 scanPolicy:(id)a1 primary:(id)a2 secondary:(id)a3 error:(id)a4 clearingTransaction:(BOOL)a5; - (void)_operationCompleting:(id)a0 error:(id)a1 clearingTransaction:(BOOL)a2; - (void)_scanCompleteFoundPrimary:(id)a0 foundSecondary:(id)a1 majorPrimary:(id)a2 majorSecondary:(id)a3 minorPrimary:(id)a4 minorSecondary:(id)a5 clearingOperation:(BOOL)a6 error:(id)a7; - (BOOL)_shouldPerformAlternateScanFromFoundDescriptor:(id)a0 policy:(id)a1; - (id)_simDescriptorAttributes; - (void)_trackScanBegin:(id)a0; - (void)_trackScanEnd:(id)a0 withIdentifier:(id)a1 withResult:(long long)a2 withError:(id)a3; - (void)_trackScanEnd:(id)a0 withResult:(long long)a1 withError:(id)a2; - (void)_verifyEndComplete:(id /* block */)a0 scanPolicy:(id)a1 active:(id)a2 primary:(id)a3 secondary:(id)a4 error:(id)a5 clearingTransaction:(BOOL)a6; - (long long)a_SimCatalogDownloadSuccess:(id *)a0; - (long long)a_SimQueryMetadataUpdateAvailable:(id *)a0; - (long long)actionAfterAvailCancelSuccess:(id)a0 error:(id *)a1; - (long long)actionAfterFailCancelSuccess:(id)a0 error:(id *)a1; - (long long)actionAfterFailCheckCancelDone:(id)a0 error:(id *)a1; - (long long)actionAlterDocDownloadConfig:(id *)a0; - (long long)actionCancelDone:(id *)a0; - (long long)actionCancelSUCatalogDownload:(id *)a0; - (long long)actionCancelSuccess:(id *)a0; - (long long)actionCheckCancelDone:(id *)a0; - (long long)actionDownloadDocAsset:(id *)a0; - (long long)actionDownloadDocCatalog:(id *)a0; - (long long)actionDownloadSUCatalog:(id *)a0; - (long long)actionQueryDocMetadata:(id *)a0; - (long long)actionQuerySUMetadata:(id *)a0; - (long long)actionRemoveDocAsset:(id *)a0; - (long long)actionScanCompleteNoUpdate:(id *)a0; - (long long)actionScanFailed:(id)a0 error:(id *)a1; - (long long)actionScanSuccess:(id)a0 error:(id *)a1; - (void)alterCurrentPolicy:(id)a0; - (void)cancelCurrentScan:(id /* block */)a0; - (void)checkForAvailableMajorMinorUpdatesWithPolicy:(id)a0 completion:(id /* block */)a1; - (void)checkForAvailableSlowReleaseUpdatesWithPolicy:(id)a0 completion:(id /* block */)a1; - (void)checkForAvailableUpdateWithPolicy:(id)a0 completion:(id /* block */)a1; - (void)collectDocumentationMetadataWithPolicy:(id)a0 descriptor:(id)a1 downloadDocumentation:(BOOL)a2 completion:(id /* block */)a3; - (id)initWithUUID:(id)a0 withCompletionQueue:(id)a1; - (void)locateAvailableUpdateWithPolicy:(id)a0 completion:(id /* block */)a1; - (void)verifyLatestAvailableWithPolicy:(id)a0 descriptor:(id)a1 completion:(id /* block */)a2; @end