@class SYVectorClock, NSDictionary, NSObject, SYSyncEngine, SYDevice, NSMutableArray, SYPersistentStore, NSString, _SYMultiSuspendableQueue, NSMutableSet, SYSession, PBCodable, _SYQueuedStartSession; @protocol OS_os_activity, OS_dispatch_source, OS_dispatch_queue, SYServiceDelegate; @interface SYService : NSObject <SYSyncEngineResponder, SYStateLoggable> { NSDictionary *_customIDSOptions; SYSession *_currentSession; id<SYServiceDelegate> _delegate; NSObject<OS_dispatch_queue> *_incomingIOQueue; NSObject<OS_dispatch_queue> *_delegateQueue; NSObject<OS_dispatch_source> *_processSignalSource; SYPersistentStore *_persistentStore; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _persistentStoreLock; SYVectorClock *_vectorClock; NSMutableSet *_rejectingV1SyncSessions; NSString *_inFlightSyncRequestIdentifier; _SYQueuedStartSession *_queuedStartSession; SYDevice *_targetedDevice; NSMutableArray *_onSessionEnd; unsigned long long _stateHandle; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _flagLock; struct { unsigned char isMaster : 1; unsigned char hasChanges : 1; unsigned char needsReset : 1; unsigned char hasPairingStore : 1; unsigned char isRunning : 1; unsigned char registeredForPairingNotifications : 1; unsigned char remoteProtocolVersion : 3; unsigned char remoteDeviceIsWatch : 1; unsigned char isObservingRemoteDeviceProperties : 1; unsigned char requestedEngineType : 3; unsigned char assignedEngineType : 3; unsigned char suspendedForQWS : 1; } _flags; } @property (copy, nonatomic) NSDictionary *customIDSOptions; @property (readonly, nonatomic) BOOL hasPairingStore; @property (readonly, nonatomic) SYSyncEngine *syncEngine; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *queue; @property (readonly, nonatomic) SYPersistentStore *persistentStore; @property (readonly, nonatomic) _SYMultiSuspendableQueue *sessionQueue; @property (readonly, nonatomic) NSObject<OS_os_activity> *serviceActivity; @property (readonly, nonatomic) NSString *peerID; @property (nonatomic) unsigned int engineType; @property (readonly, nonatomic) NSString *generationID; @property (readonly, nonatomic) NSString *name; @property (nonatomic) long long priority; @property (readonly, nonatomic) BOOL isMasterStore; @property (nonatomic) double defaultMessageTimeout; @property (nonatomic) double sessionStalenessInterval; @property (readonly, nonatomic) BOOL targetIsInProximity; @property (readonly, nonatomic) BOOL targetIsConnected; @property (readonly) SYSession *currentSession; @property (retain, nonatomic) NSDictionary *options; @property (nonatomic) long long sendingBufferCap; @property (readonly, nonatomic) NSDictionary *extraTransportOptions; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) PBCodable *stateForLogging; - (BOOL)resume:(id *)a0; - (void)_downgradeEngineForVersion:(int)a0; - (BOOL)_handleEndSessionResponse:(id)a0 error:(id *)a1; - (id)init; - (void)_upgradeEngineTo:(unsigned int)a0; - (void)_vectorClockUpdated; - (void)_peerRejectedVersion:(id)a0 completion:(id /* block */)a1; - (BOOL)_v1_handleFullSyncRequestAck:(id)a0 error:(id *)a1; - (void)_swapSessionForVersionChange; - (void)dealloc; - (BOOL)_handleSyncBatchResponse:(id)a0 error:(id *)a1; - (id)initWithService:(id)a0 priority:(long long)a1 qos:(unsigned int)a2 asMasterStore:(BOOL)a3 options:(id)a4; - (id)_newMessageHeader; - (void)handleSyncError:(id)a0 forMessageWithIdentifier:(id)a1; - (void)_v1_handleSyncAllObjects:(id)a0 completion:(id /* block */)a1; - (void)_sendResetRequest; - (void)suspend; - (void)_suspend; - (void)_deviceRemoved:(id)a0; - (void)_processPendingChanges; - (void)_wrapUpCurrentSession:(id)a0; - (void)sessionFailedToCancelMessageUUIDs:(id)a0; - (void)handleSyncRequest:(id)a0 ofType:(unsigned short)a1 response:(id /* block */)a2; - (void)_swapEngineTo:(unsigned int)a0; - (void)enqueuedMessageWithID:(id)a0 context:(id)a1; - (void)_deviceOSInfoChanged:(id)a0; - (void)_whenSessionEnds:(id /* block */)a0; - (void)_v1_handleBatchSyncChunk:(id)a0 completion:(id /* block */)a1; - (void)_setupPairingStoreWithDevice:(id)a0; - (id)_claimOwnershipOfFileAtURL:(id)a0 error:(id *)a1; - (BOOL)_shouldSession:(id)a0 fromPeer:(id)a1 supercedeSession:(id)a2 ofAge:(double)a3 collisionDetected:(BOOL *)a4; - (BOOL)_v1_handleBatchEndResponse:(id)a0 error:(id *)a1; - (void)_v1_handleFullSyncRequest:(id)a0 completion:(id /* block */)a1; - (void)handleSyncResponse:(id)a0 ofType:(unsigned short)a1 completion:(id /* block */)a2; - (BOOL)_protocolVersion:(int)a0 supportsEngineType:(unsigned int)a1; - (BOOL)_initializeMessaging:(id *)a0; - (void)_handleSyncBatch:(id)a0 completion:(id /* block */)a1; - (id)_chooseBetweenCollidingSessions:(id)a0 :(id)a1; - (void)_updateMetaProtocolInfoForDevice:(id)a0; - (void)_enqueueIncomingStartSessionRequest:(id)a0 withCompletion:(id /* block */)a1; - (void)_handleError:(id)a0; - (id)_sessionFromIncomingStartRequest:(id)a0; - (void)dataStreamWithMetadata:(id)a0 options:(id)a1 completion:(id /* block */)a2; - (void)_handleResetRequest:(id)a0 completion:(id /* block */)a1; - (void)deliveredMessageWithID:(id)a0 context:(id)a1; - (BOOL)_handleRestartSessionResponse:(id)a0 error:(id *)a1; - (void)_setupPairingNotifications; - (void)_postVersionRejectionMessageForMessageWithID:(id)a0; - (id)_makeSyncEngineOfType:(unsigned int)a0; - (void)_signalPairingStoreUnavailable; - (id)dataStreamWithMetadata:(id)a0 options:(id)a1 identifier:(id *)a2 error:(id *)a3; - (void)_copyPeerClockFromMessageHeaderIfNecessary:(id)a0; - (void)_deviceTargetabilityChanged:(id)a0; - (BOOL)_handleResetResponse:(id)a0 error:(id *)a1; - (BOOL)sendData:(id)a0 options:(id)a1 identifier:(id *)a2 error:(id *)a3; - (void)setHasChangesAvailable; - (id)_pathForDataStore; - (void)sessionDidEnd:(id)a0 withError:(id)a1; - (void)_signalPairingStoreAvailable; - (void)setNeedsResetSync; - (BOOL)willAcceptMessageWithHeader:(id)a0 messageID:(id)a1; - (BOOL)_handleStartSessionResponse:(id)a0 error:(id *)a1; - (void)setDelegate:(id)a0 queue:(id)a1; - (void).cxx_destruct; - (BOOL)_initializeServiceDB:(id *)a0; - (BOOL)_request:(id)a0 hasValidSessionIDForSession:(id)a1 response:(id)a2 completion:(id /* block */)a3; - (void)sendData:(id)a0 options:(id)a1 completion:(id /* block */)a2; - (void)handleOutOfBandData:(id)a0 completion:(id /* block */)a1; - (void)_removePairingStoreDevice; - (void)_v1_handleBatchSyncStart:(id)a0 completion:(id /* block */)a1; - (void)serializeForIncomingSession:(id /* block */)a0; - (void)sentMessageWithID:(id)a0 context:(id)a1; - (BOOL)_v1_handleBatchChunkAck:(id)a0 error:(id *)a1; - (void)currentDeviceConnectionChanged:(BOOL)a0; - (id)_makeSessionForDeltaSync:(BOOL)a0; - (void)_switchToNewTargetedDevice:(id)a0; - (void)_setProtocolVersionForRemoteOSVersion:(id)a0 build:(id)a1 remoteIsWatch:(BOOL)a2 switchingEngines:(BOOL)a3; - (void)handleFileTransfer:(id)a0 metadata:(id)a1 completion:(id /* block */)a2; - (void)_handleEndSession:(id)a0 completion:(id /* block */)a1; - (id)initWithService:(id)a0 priority:(long long)a1 asMasterStore:(BOOL)a2 options:(id)a3; - (void)_handleRestartSession:(id)a0 completion:(id /* block */)a1; - (void)_dealWithPotentiallyStallingCurrentSession; - (void)_handleStartSession:(id)a0 completion:(id /* block */)a1; - (void)currentDeviceProximityChanged:(BOOL)a0; - (void)_v1_handleChangeMessage:(id)a0 completion:(id /* block */)a1; - (void)_v1_handleBatchSyncEnd:(id)a0 completion:(id /* block */)a1; - (void)_ifDelegateImplements:(SEL)a0 do:(id /* block */)a1 then:(id /* block */)a2; @end