luxlabs header browser preview


@class NSMutableArray, NSMutableDictionary, IMDRecordZoneManager, NSObject, IMDCKAttachmentSyncCKOperationFactory;
@protocol OS_dispatch_queue, SyncTokenStoreProviding;

@interface IMDCKAttachmentSyncController : IMDCKAbstractSyncController

@property (retain, nonatomic) NSObject<OS_dispatch_queue> *ckQueue;
@property (retain, nonatomic) IMDRecordZoneManager *recordZoneManager;
@property (retain, nonatomic) IMDCKAttachmentSyncCKOperationFactory *CKOperationFactory;
@property (retain, nonatomic) id<SyncTokenStoreProviding> syncTokenStore;
@property (retain, nonatomic) NSMutableDictionary *completionBlocksForAssetFetchOperations;
@property (retain, nonatomic) NSMutableDictionary *recordIDToTransferMap;
@property (copy, nonatomic) id /* block */ perTransferProgress;
@property (nonatomic) BOOL assetDownloadInProgress;
@property (retain, nonatomic) NSMutableArray *downloadAssetsForTransferGUIDs;
@property (nonatomic) unsigned long long deviceConditionsToCheck;
@property (nonatomic) BOOL isDoingDeleteRecoverySync;

+ (id)sharedInstance;

- (id)init;
- (void)_needsToMarkAllAttachmentsAsNeedingSync;
- (long long)syncControllerRecordType;
- (void)_scheduleOperation:(id)a0;
- (id)_updateAttachmentGUIDIfNeededAndReturnTransfersToForceMarkAsSync:(id)a0 transfersToSyncRowIDs:(id)a1;
- (void)deleteAttachmentZone;
- (void)_markAllFailedAttachmentsAsNeedingSync;
- (void)deleteAttachmentSyncToken;
- (void).cxx_destruct;
- (BOOL)_shouldMarkAttachmentsAsNeedingReupload;
- (BOOL)_shouldMarkAllAttachmentsAsNeedingSync;
- (void)clearLocalSyncState:(unsigned long long)a0;
- (void)_removeTransferFromiCloudBackupWithGuid:(id)a0;
- (void)_markAttachmentWithROWIDAsFailedToUploadToCloudKit:(id)a0;
- (void)_hasMarkedAllAttachmentsAsNeedingSync;
- (id)recordStore;
- (id)_fetchAndPrepareRecordsToWrite:(BOOL *)a0;
- (id)_recordKeyManagerSharedInstance;
- (void)_markResyncForDeleteRecoveryAs:(int)a0;
- (void)_validateTransferFromCloudKit:(id)a0 localTransfer:(id)a1 validateCompletion:(id /* block */)a2;
- (void)acceptFileTransfers:(id)a0 completion:(id /* block */)a1;
- (void)setLatestSyncToken:(id)a0 forSyncType:(long long)a1;
- (id)__databaseRequestForAttachmentsWithAssets;
- (BOOL)__shouldOptimizeAttachmentDefault;
- (unsigned long long)_attachmentDeleteBatchSize;
- (BOOL)_attachmentDownloadCanStart:(BOOL)a0 withActivity:(id)a1;
- (BOOL)_attachmentZoneCreated;
- (id)_attachmentZoneID;
- (id)_attachmentZoneSalt;
- (id)_changeTokenKeyForSyncType:(long long)a0;
- (id)_ckUtilitiesInstance;
- (id)_constructAttachmentRecordIDUsingTombStoneDictionary:(id)a0;
- (id)_copyRecordIDsToDeleteWithLimit:(unsigned long long)a0;
- (void)_deleteAttachmentsWithRecordIDs:(id)a0 completion:(id /* block */)a1;
- (BOOL)_deviceConditionsAllowsMessageSyncForCurrentBatchCount:(long long)a0 maxBatchCount:(long long)a1 activity:(id)a2;
- (BOOL)_deviceConditionsAllowsMessageSyncIgnoreFeatureEnabled:(BOOL)a0 activity:(id)a1;
- (BOOL)_deviceConditionsAllowsMessageSyncWithActivity:(id)a0;
- (void)_downloadAttachmentAssetsWithActivity:(id)a0 restoringAttachments:(BOOL)a1 retryCount:(unsigned long long)a2 numAttachmentsDownloaded:(unsigned long long)a3 completion:(id /* block */)a4;
- (void)_downloadAttachmentAssetsWithActivity:(id)a0 restoringAttachments:(BOOL)a1 retryCount:(unsigned long long)a2 numAttachmentsDownloaded:(unsigned long long)a3 transfers:(id)a4 completion:(id /* block */)a5;
- (void)_fetchAndValidateFileTransfersFromCloudKit:(id)a0 capturedWithABC:(BOOL)a1 activity:(id)a2 completion:(id /* block */)a3;
- (void)_fetchAttachmentZoneChangesShouldWriteBackChanges:(BOOL)a0 desiredKeys:(long long)a1 syncType:(long long)a2 currentBatchCount:(long long)a3 maxBatchCount:(long long)a4 syncToken:(id)a5 activity:(id)a6 completionBlock:(id /* block */)a7;
- (void)_fetchAttachmentZoneRecords:(id)a0 desiredKeys:(long long)a1 ognSuffix:(id)a2 removeTombstones:(BOOL)a3 activity:(id)a4 completion:(id /* block */)a5;
- (BOOL)_fetchedAllChangesFromCloudKit;
- (BOOL)_hasCompletedRecoveryResync;
- (void)_initResyncForDeleteRecovery;
- (void)_kickOffAssetFetchForTransfersIfNeededWithActivity:(id)a0;
- (BOOL)_kickOffWriteIfNeededForSyncType:(long long)a0 activity:(id)a1 completion:(id /* block */)a2;
- (void)_kickOffWriteOnCKQueueWithActivity:(id)a0 completion:(id /* block */)a1;
- (void)_markAttachmentWithROWIDAsSyncedWithCloudKit:(long long)a0;
- (void)_markTransferAsNotBeingAbleToSync:(id)a0;
- (void)_markTransferAsNotBeingAbleToSyncUsingCKRecord:(id)a0;
- (void)_migrateSyncToken;
- (unsigned long long)_numberOfAttachmentsToDownload;
- (unsigned long long)_numberOfAttachmentsToWriteUp;
- (long long)_numberOfBatchesOfAttachmentsToFetchInInitialSync;
- (long long)_numberOfMetadataBatchesOfAttachmentsToFetchInInitialSync;
- (id)_operationErrorForModifyingRecordCompletion:(id)a0;
- (void)_processAndValidateAttachmentRecordsEligibleForPurge:(id)a0 recordIDsToTransfers:(id)a1 capturedWithABC:(BOOL)a2 completion:(id /* block */)a3;
- (void)_processAssetFetchOperationCompletionBlock:(id)a0 removeTombstones:(BOOL)a1 operationID:(id)a2 error:(id)a3;
- (void)_processAssetFetchPerRecordCompletionBlock:(id)a0 recordID:(id)a1 error:(id)a2;
- (void)_processAssetFetchPerRecordProgressBlock:(id)a0 progress:(double)a1;
- (void)_processFetchRecordChangesCompleted:(id)a0 completionBlock:(id /* block */)a1;
- (void)_processModifyPerRecordCallBack:(id)a0 error:(id)a1;
- (void)_processModifyRecordCompletion:(id)a0 deletedRecordIDs:(id)a1 error:(id)a2 completionBlock:(id /* block */)a3;
- (void)_processRecordChanged:(id)a0;
- (void)_processRecordDeletion:(id)a0;
- (void)_processRecordZoneChangeTokenUpdated:(id)a0 zoneID:(id)a1 clienChangeToken:(id)a2 syncType:(long long)a3;
- (void)_processRecordZoneFetchCompletion:(id)a0 zoneID:(id)a1 clientChangeTokenData:(id)a2 moreComing:(BOOL)a3 shouldWriteBackChanges:(BOOL)a4 desiredKeys:(long long)a5 syncType:(long long)a6 error:(id)a7 currentBatchCount:(long long)a8 maxBatchCount:(long long)a9 activity:(id)a10 completionBlock:(id /* block */)a11;
- (unsigned long long)_readNextDeleteAfterRow;
- (id)_recordsToProcessWithError:(id)a0 error:(id)a1;
- (void)_resetAttachmentSyncStateForRecord:(id)a0 toState:(long long)a1;
- (int)_resyncForDeleteRecoveryState;
- (void)_setNextDeleteAfterRow:(unsigned long long)a0;
- (void)_updateDeviceConditionsToCheckIfNeededForCurrentBatchCount:(long long)a0 maxBatchCount:(long long)a1;
- (void)_updateTransferUsingCKRecord:(id)a0 wasFetched:(BOOL)a1 dispatchToMain:(BOOL)a2;
- (void)_writeAttachmentsToCloudKitWithActivity:(id)a0 completionBlock:(id /* block */)a1;
- (void)_writeCKRecordsToAttachmentZone:(id)a0 activity:(id)a1 withCompletion:(id /* block */)a2;
- (void)acceptFileTransfer:(id)a0 completion:(id /* block */)a1;
- (void)downloadAttachmentAssetsForChatIDs:(id)a0 services:(id)a1 style:(unsigned char)a2 completion:(id /* block */)a3;
- (void)downloadAttachmentAssetsWithActivity:(id)a0 restoringAttachments:(BOOL)a1;
- (void)downloadAttachmentAssetsWithActivity:(id)a0 restoringAttachments:(BOOL)a1 completion:(id /* block */)a2;
- (void)fetchAttachmentDataForTransfers:(id)a0 highQuality:(BOOL)a1 perTransferProgress:(id /* block */)a2 activity:(id)a3 completion:(id /* block */)a4;
- (id)fileTransferCenter;
- (id)initWithSyncTokenStore:(id)a0;
- (id)latestSyncTokenForSyncType:(long long)a0;
- (unsigned long long)purgedAttachmentsCountForChatsWithChatIdentifiers:(id)a0 services:(id)a1;
- (id)purgedAttachmentsForChat:(id)a0 services:(id)a1 limit:(long long)a2;
- (void)syncAttachmentDeletesToCloudKitWithActivity:(id)a0 completion:(id /* block */)a1;
- (void)syncAttachmentsWithSyncType:(long long)a0 deviceConditionsToCheck:(unsigned long long)a1 activity:(id)a2 completionBlock:(id /* block */)a3;

@end