@class NSMutableDictionary, CPLEngineScope, CPLRecordTargetMapping, NSDate, NSObject, CPLEngineScheduler, CPLEngineTransport, NSMutableArray, NSString, CPLBatchExtractionStrategy, CPLDerivativesFilter, CPLEngineStoreTransaction, CPLTransportScopeMapping, NSArray, CPLChangeBatch, CPLEngineScopeStorage, CPLEnginePushRepository, CPLBeforeUploadCheckItems; @protocol CPLEngineTransportFetchRecordsTask, CPLEngineTransportUploadBatchTask, CPLEngineTransportGroup, CPLUploadPushedChangesTaskDelegate, OS_dispatch_queue, CPLBatchExtractionStrategyStorage; @interface CPLUploadPushedChangesTask : CPLEngineScopedTask { NSObject *_lock; NSString *_scopeIdentifier; CPLEngineScopeStorage *_scopes; CPLEngineTransport *_transport; CPLEngineScheduler *_scheduler; id _batchStorage; CPLBatchExtractionStrategy *_currentStrategy; CPLChangeBatch *_diffedBatch; CPLChangeBatch *_batchToCommit; BOOL _mustConsiderOtherPriorities; CPLDerivativesFilter *_derivativesFilter; NSArray *_uploadResourceTasks; NSMutableDictionary *_cloudScopedIdentifiersToUploadResourceTaskErrors; CPLBeforeUploadCheckItems *_checkItems; CPLEngineStoreTransaction *_transactionDuringItemsPreparation; NSMutableArray *_preparedUploadResourceTasks; CPLRecordTargetMapping *_targetMapping; NSMutableDictionary *_invalidTransportScopes; id _fetchRecordsTask; id _uploadTask; unsigned long long _lastReportedProgress; unsigned long long _countOfPushedChanges; double _startOfIteration; double _startOfDerivativesGeneration; BOOL _deferredCancel; BOOL _hasCachedShouldCheckResourcesAhead; BOOL _shouldCheckResourcesAhead; BOOL _shouldSetupEstimatedSize; id _transportGroup; long long _taskItem; BOOL _hasPushedSomeChanges; BOOL _isUsingOverQuotaStrategy; BOOL _resetStrategy; double _latestApproximativeUploadRate; NSString *_currentTaskKey; NSDate *_taskStartDate; unsigned long long _recordCount; BOOL _didExtractOneBatch; BOOL _wasBusy; BOOL _hasUploadedOneBatch; } @property (class, nonatomic) BOOL disableOverQuotaRule; @property (retain) id delegate; @property (readonly, nonatomic) id storedTransportGroup; @property (readonly, nonatomic) CPLEngineScope *sharedScope; @property (readonly, nonatomic) CPLTransportScopeMapping *transportScopeMapping; @property (readonly, nonatomic) long long ruleGroup; @property (readonly, nonatomic) BOOL highPriority; @property (readonly, nonatomic) unsigned long long maxBatchSize; @property (readonly, nonatomic) unsigned long long pushRepositoryPriority; @property (readonly, nonatomic) CPLEnginePushRepository *pushRepository; @property (readonly, nonatomic) BOOL didUseOverQuotaStrategy; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)resetDisabledOverQuotaRule; - (id)taskIdentifier; - (void)launch; - (void).cxx_destruct; - (void)cancel; - (BOOL)isResourceDynamic:(id)a0; - (void)cancel:(BOOL)a0; - (void)_checkPrioritiesWithFetchCache:(id)a0; - (BOOL)checkScopeIsValidInTransaction:(id)a0; - (BOOL)_canUseOverQuotaRule; - (void)_checkForRecordExistence; - (void)_clearUploadBatch; - (void)_deleteGeneratedResourcesAfterError:(id)a0; - (void)_didFinishTaskWithKey:(id)a0 error:(BOOL)a1 cancelled:(BOOL)a2; - (void)_didStartTaskWithKey:(id)a0 recordCount:(unsigned long long)a1; - (BOOL)_discardUploadedExtractedBatch:(id)a0 error:(id *)a1; - (void)_excludeScopeFromMingling; - (void)_extractAndUploadOneBatch; - (void)_extractBatchWithTransaction:(id)a0 andStore:(id)a1; - (void)_generateDerivativesForNextRecord:(id)a0 usingDerivativesCache:(id)a1 fetchCache:(id)a2; - (void)_generateNeededDerivativesWithFetchCache:(id)a0; - (BOOL)_markUploadedTasksDidFinishWithError:(id)a0 transaction:(id)a1 error:(id *)a2; - (void)_noteSuccessfulUpdateInTransaction:(id)a0; - (void)_popNextBatchAndContinue; - (void)_prepareTransportGroupForOneBatch; - (void)_prepareUploadBatch; - (BOOL)_reenqueueExtractedBatchWithRejectedRecords:(id)a0 extractedBatch:(id)a1 error:(id *)a2; - (BOOL)_shouldNotTrustCloudCacheAfterError:(id)a0; - (BOOL)_shouldUploadBatchesWithDropReason:(id *)a0 shouldQuarantineRecords:(BOOL *)a1 inTransaction:(id)a2; - (void)_updateQuotaStrategyAfterSuccessInTransaction:(id)a0; - (void)_uploadBatchWithFetchCache:(id)a0; - (void)_uploadTaskDidFinishWithError:(id)a0; - (BOOL)_willNeedToAccessScopeWithIdentifier:(id)a0 primaryScope:(BOOL)a1 error:(id *)a2; - (id)availableResourceTypesToUploadForChange:(id)a0; - (id)initWithEngineLibrary:(id)a0 session:(id)a1 clientCacheIdentifier:(id)a2 scope:(id)a3 transportScope:(id)a4 storedTransportGroup:(id)a5 sharedScope:(id)a6 transportScopeMapping:(id)a7 ruleGroup:(long long)a8 highPriority:(BOOL)a9 maxBatchSize:(unsigned long long)a10 pushRepositoryPriority:(unsigned long long)a11 pushRepository:(id)a12; - (BOOL)isCloudRecordWithScopedIdentifierShared:(id)a0; - (id)knownCloudRecordWithScopedIdentifier:(id)a0; - (BOOL)willNeedToAccessRecordWithScopedIdentifier:(id)a0 error:(id *)a1; - (id)willUploadCloudResource:(id)a0 localResource:(id)a1 error:(id *)a2; @end