luxlabs header browser preview


@class NSData, NSArray, CKDProtocolTranslator, NSMutableDictionary, NSDictionary, CKDDecryptRecordsOperation, NSObject, C2RequestOptions, NSMapTable;
@protocol OS_dispatch_queue, CKModifyRecordsOperationCallbacks;

@interface CKDModifyRecordsOperation : CKDDatabaseOperation {
    CKDDecryptRecordsOperation *_decryptOperation;
    BOOL _hasRecordsToSave;
    BOOL _hasRecordsToDelete;
}

@property (nonatomic) unsigned long long state;
@property (retain, nonatomic) NSArray *recordsToSave;
@property (retain, nonatomic) NSArray *recordIDsToDelete;
@property (retain, nonatomic) NSDictionary *recordIDsToDeleteToEtags;
@property (retain, nonatomic) NSDictionary *recordIDsToDeleteToSigningPCSIdentity;
@property (retain, nonatomic) NSDictionary *conflictLosersToResolveByRecordID;
@property (retain, nonatomic) NSDictionary *pluginFieldsForRecordDeletesByID;
@property (retain, nonatomic) NSDictionary *handlersByRecordID;
@property (retain, nonatomic) NSDictionary *parentsByRecordID;
@property (retain, nonatomic) NSMapTable *handlersByAssetNeedingRecordFetch;
@property (retain, nonatomic) NSMapTable *handlersByAsset;
@property (retain, nonatomic) NSMutableDictionary *modifyHandlersByZoneID;
@property (nonatomic) int saveAttempts;
@property (nonatomic) long long savePolicy;
@property (copy, nonatomic) NSData *clientChangeTokenData;
@property (nonatomic) BOOL retriedRecords;
@property (nonatomic) BOOL shouldOnlySaveAssetContent;
@property (nonatomic) BOOL haveOutstandingHandlers;
@property (nonatomic) BOOL atomic;
@property (retain, nonatomic) CKDProtocolTranslator *translator;
@property (nonatomic) BOOL shouldReportRecordsInFlight;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *modifyRecordsQueue;
@property (readonly, nonatomic) CKDDecryptRecordsOperation *recordDecryptOperation;
@property (readonly, nonatomic) BOOL hasDecryptOperation;
@property (copy, nonatomic) NSData *cachedUserBoundaryKeyData;
@property (retain, nonatomic) NSDictionary *assetUUIDToExpectedProperties;
@property (retain, nonatomic) NSDictionary *packageUUIDToExpectedProperties;
@property (nonatomic) BOOL originatingFromDaemon;
@property (nonatomic) BOOL markAsParticipantNeedsNewInvitationToken;
@property (nonatomic) BOOL requestNeedsUserPublicKeys;
@property (retain, nonatomic) NSArray *userPublicKeys;
@property (copy, nonatomic) C2RequestOptions *streamingAssetRequestOptions;
@property (nonatomic) BOOL shouldModifyRecordsInDatabase;
@property (nonatomic) BOOL includeMergeableDeltasInModifyRecordsRequest;
@property (nonatomic) BOOL shouldCloneFileInAssetCache;
@property (retain, nonatomic) id<CKModifyRecordsOperationCallbacks> clientOperationCallbackProxy;
@property (nonatomic) BOOL retryPCSFailures;
@property (nonatomic) BOOL canSetPreviousProtectionEtag;
@property (nonatomic) BOOL trustProtectionData;
@property (nonatomic) BOOL alwaysFetchPCSFromServer;
@property (copy, nonatomic) id /* block */ saveProgressBlock;
@property (copy, nonatomic) id /* block */ saveCompletionBlock;
@property (copy, nonatomic) id /* block */ deleteCompletionBlock;
@property (copy, nonatomic) id /* block */ uploadCompletionBlock;
@property (copy, nonatomic) id /* block */ recordsInFlightBlock;

+ (long long)isPredominatelyDownload;
+ (BOOL)_claimPackagesInRecord:(id)a0 error:(id *)a1;
+ (id)nameForState:(unsigned long long)a0;

- (id)relevantZoneIDs;
- (BOOL)isOperationType:(int)a0;
- (BOOL)makeStateTransition;
- (BOOL)supportsClearAssetEncryption;
- (BOOL)_needsSigningPCS;
- (void)_finishOnCallbackQueueWithError:(id)a0;
- (void)_fetchSharePCSData;
- (id)initWithOperationInfo:(id)a0 container:(id)a1;
- (id)analyticsPayload;
- (id)requestedFieldsByRecordIDForRecords:(id)a0;
- (int)operationType;
- (id)activityCreate;
- (void)assetArray:(id)a0 didFetchRecord:(id)a1 error:(id)a2;
- (void)_fetchShareParticipants;
- (void)_fetchRecordPCSData;
- (void)_handleMergeableDeltaSavedForRecordID:(id)a0 key:(id)a1 result:(id)a2;
- (void)_enumerateHandlersInState:(unsigned long long)a0 withBlock:(id /* block */)a1;
- (void)_verifyRecordEncryption;
- (void)main;
- (void)_handleDecryptionFailure:(id)a0 forRecordID:(id)a1;
- (BOOL)_shouldToposortInContainerID:(id)a0;
- (id)handlerForSaveWithRecord:(id)a0;
- (id)_prepareAssetsForUpload;
- (void)_reportRecordsInFlight;
- (void)_fetchContainerScopedUserID;
- (void)_applySideEffects;
- (void)_performHandlerCallbacks;
- (BOOL)_topoSortRecords;
- (void)_uploadAssets;
- (void)_markRecordHandlersAsUploaded;
- (void)saveCallbackWithMetadata:(id)a0 error:(id)a1;
- (void)_reallyHandleRecordSaved:(id)a0 handler:(id)a1 etag:(id)a2 dateStatistics:(id)a3 expirationDate:(id)a4 responseCode:(id)a5 keysAssociatedWithETag:(id)a6 recordForOplockFailure:(id)a7 decryptedServerRecord:(id)a8;
- (void)_determineEnvironment;
- (void)_clearProtectionDataIfNotEntitled;
- (id)handlerForDeleteWithRecordID:(id)a0;
- (void).cxx_destruct;
- (void)deleteCallbackWithMetadata:(id)a0 error:(id)a1;
- (id)_topoSortRecordsForHandlers:(id)a0;
- (void)_uploadMergeableDeltas;
- (void)_prepareForUpload;
- (void)_fetchUserPublicKeys;
- (BOOL)validateAgainstLiveContainer:(id)a0 error:(id *)a1;
- (void)_prepareParentPCS;
- (BOOL)_hasHandlerInState:(unsigned long long)a0;
- (void)_handleRecordSaved:(id)a0 handler:(id)a1 etag:(id)a2 dateStatistics:(id)a3 expirationDate:(id)a4 responseCode:(id)a5 keysAssociatedWithETag:(id)a6 recordForOplockFailure:(id)a7 serverRecord:(id)a8;
- (void)_handleReplaceDeltasRequest:(id)a0 result:(id)a1;
- (void)_performCallbacksForNonAtomicZoneHandlers:(id)a0;
- (void)_performCallbacksForAtomicZoneHandlers:(id)a0;
- (id)_createModifyRequestWithRecordsToSave:(id)a0 recordsToDelete:(id)a1 recordsToDeleteToEtags:(id)a2 recordIDsToDeleteToSigningPCSIdentity:(id)a3 handlersByRecordID:(id)a4 sendMergeableDeltas:(BOOL)a5;
- (BOOL)_prepareRecordsForSave;
- (void)packageArray:(id)a0 didFetchRecord:(id)a1 error:(id)a2;
- (void)_didCompleteRecordFetchOperation:(id)a0 assetArrayByRecordID:(id)a1;
- (void)_fetchAssetRecordsForRereferencing;
- (void)_handleRecordDeleted:(id)a0 handler:(id)a1 responseCode:(id)a2;
- (void)finishWithError:(id)a0;
- (void)_continueRecordsModify;
- (void)_setBoundaryKeyOnAssetsToUpload:(id)a0;
- (void)callbackWithMetadata:(id)a0 error:(id)a1;
- (void)_fetchUserBoundaryKey;

@end