luxlabs header browser preview


@class NSDate, NSString, NSError, _SYSharedServiceDB, NSSet, NSMutableDictionary, NSDictionary, NSObject, NSMutableSet;
@protocol OS_os_transaction, OS_dispatch_queue;

@interface SYPersistentStore : NSObject {
    NSString *_path;
    struct __CFString { } *_loggingFacility;
    double _timeToLiveCache;
    NSObject<OS_os_transaction> *_transaction;
    BOOL _changeTrackingEnabled;
    NSString *_peerID;
    NSMutableDictionary *_peerSeqnoSets;
    NSMutableSet *_ignoringMessageIDs;
    NSObject<OS_dispatch_queue> *_syncQ;
    struct sqlite3 { } *_db;
    struct sqlite3_stmt { } *_getInFullSync;
    struct sqlite3_stmt { } *_getChangeCount;
    struct sqlite3_stmt { } *_getNextExpireTime;
    struct sqlite3_stmt { } *_purgeExpiredChanges;
    struct sqlite3_stmt { } *_insertChange;
    struct sqlite3_stmt { } *_getFullsyncSent;
    struct sqlite3_stmt { } *_setFullsyncSent;
    struct sqlite3_stmt { } *_logSyncComplete;
    struct sqlite3_stmt { } *_getChangeIDsSinceVersion;
    struct sqlite3_stmt { } *_getLocalVersion;
    struct sqlite3_stmt { } *_getOldestVersion;
    struct sqlite3_stmt { } *_setVectorClock;
    struct sqlite3_stmt { } *_setPeerSeqNo;
    struct sqlite3_stmt { } *_getPeerSeqNo;
    struct sqlite3_stmt { } *_setPeerSeqNoSet;
    struct sqlite3_stmt { } *_enterFullSync;
    struct sqlite3_stmt { } *_exitFullSync;
    struct sqlite3_stmt { } *_getIgnoringSyncID;
    struct sqlite3_stmt { } *_getCurrentSyncID;
    struct sqlite3_stmt { } *_getCurrentSyncStartTime;
    struct sqlite3_stmt { } *_getLastEndedSyncID;
    struct sqlite3_stmt { } *_getWaitingForSyncID;
    struct sqlite3_stmt { } *_setWaitingForSyncID;
    struct sqlite3_stmt { } *_setAllSentForSyncID;
    struct sqlite3_stmt { } *_getAllSentForCurrentSync;
    struct sqlite3_stmt { } *_getLastSyncError;
    struct sqlite3_stmt { } *_setSyncUserInfo;
    struct sqlite3_stmt { } *_getSyncUserInfo;
    struct sqlite3_stmt { } *_setSyncIDSOptions;
    struct sqlite3_stmt { } *_getSyncIDSOptions;
}

@property (retain, nonatomic) NSSet *cachedChangedSyncIDs;
@property (nonatomic) unsigned long long cachedChangedSyncIDsVersion;
@property (nonatomic) BOOL cachedVersionStale;
@property (retain, nonatomic) _SYSharedServiceDB *sharedDB;
@property (nonatomic, getter=isPerformingDeltaSync) BOOL performingDeltaSync;
@property (readonly, nonatomic) NSString *path;
@property (nonatomic) double timeToLive;
@property (readonly, nonatomic) unsigned long long changeCount;
@property (readonly, nonatomic) NSString *peerID;
@property (retain, nonatomic) NSString *vectorClockJSON;
@property (copy, nonatomic) NSDate *overflowResyncTime;
@property (copy, nonatomic) NSDate *lastMessageReceived;
@property (nonatomic) double unfinishedSyncTimeout;
@property (readonly, nonatomic) BOOL canStartNewSyncSession;
@property (readonly, nonatomic) BOOL currentSyncSendComplete;
@property (readonly, nonatomic) BOOL lastSyncFailed;
@property (readonly, nonatomic) NSError *lastSyncError;
@property (readonly, nonatomic) NSString *currentFullSyncID;
@property (readonly, nonatomic) BOOL inFullSync;
@property (readonly, nonatomic) NSString *lastSyncEndID;
@property (copy, nonatomic) NSString *waitingForSyncEndID;
@property (copy, nonatomic) NSDictionary *fullSyncUserInfo;
@property (copy, nonatomic) NSDictionary *fullSyncIDSOptions;
@property (nonatomic) BOOL completedSync;
@property (readonly, nonatomic) double durationOfLastFullSync;
@property (readonly, nonatomic) unsigned long long currentLocalVersion;
@property (readonly, nonatomic) unsigned long long lastSeenRemoteVersion;

+ (id)sharedPersistentStoreForService:(id)a0;
+ (BOOL)_tableEmpty:(id)a0 db:(struct sqlite3 { } *)a1;
+ (id)_loadOrCreatePeerIDForDB:(struct sqlite3 { } *)a0;

- (void)_withDB:(id /* block */)a0;
- (id)init;
- (void)setPeerID:(id)a0;
- (void)dealloc;
- (void)enterFullSyncWithID:(id)a0 ignoring:(BOOL)a1;
- (BOOL)_openDBAtPath:(id)a0;
- (void)_storeSequenceNumberSet:(id)a0 forPeerID:(id)a1;
- (unsigned long long)_oldestVersion;
- (void)resetSequenceNumber:(unsigned long long)a0;
- (BOOL)objectChanged:(id)a0 sinceVersion:(unsigned long long)a1;
- (void)addMessageIDsToIgnore:(id)a0;
- (BOOL)_LOCKED_storeSequenceNumberSet:(id)a0 forPeerID:(id)a1 db:(struct sqlite3 { } *)a2 error:(id *)a3;
- (void)_verifyInTransactionForFullSync;
- (void)clearAllChanges;
- (BOOL)setLastSequenceNumber:(unsigned long long)a0 fromPeer:(id)a1 error:(id *)a2;
- (void)_setupSharedDB;
- (id)_sequenceNumberSetForPeerID:(id)a0 inDB:(struct sqlite3 { } *)a1;
- (BOOL)logChanges:(id)a0 error:(id *)a1;
- (void).cxx_destruct;
- (BOOL)ignoringFullSyncWithID:(id)a0;
- (void)changeTrackingToggled:(BOOL)a0;
- (void)_loadIgnoreList_LOCKED:(struct sqlite3 { } *)a0;
- (BOOL)reassignCurrentSyncID:(id)a0;
- (void)setLastSequenceNumber:(unsigned long long)a0 fromPeer:(id)a1;
- (BOOL)shouldIgnoreMessageID:(id)a0;
- (void)_fixPeerInfo;
- (void)_convertTimestamps;
- (id)_decodeIndexSet:(id)a0;
- (unsigned long long)_lastSequenceNumberForPeerID_LOCKED:(id)a0 db:(struct sqlite3 { } *)a1;
- (id)dbPath;
- (void)removeMessageIDFromIgnoreList:(id)a0;
- (BOOL)sequenceNumberIsDuplicate:(unsigned long long)a0 forPeer:(id)a1;
- (struct sqlite3 { } *)_dbRef;
- (BOOL)_inTransaction:(BOOL)a0 do:(id /* block */)a1;
- (id)initWithPath:(id)a0 loggingFacility:(struct __CFString { } *)a1 changeTrackingEnabled:(BOOL)a2;
- (void)resetSequenceNumbersForPeer:(id)a0;
- (void)_saveIgnoreList_LOCKED:(struct sqlite3 { } *)a0;
- (id)lastDBErrorInfo;
- (void)_cacheTTL;
- (void)_prepareStatements;
- (BOOL)logSyncCompletionToRemoteVersion:(unsigned long long)a0;
- (int)_getSchemaVersion;
- (void)sendCompletedForSyncWithID:(id)a0;
- (id)_encodeIndexSet:(id)a0;
- (unsigned long long)lastSequenceNumberForPeerID:(id)a0;
- (unsigned long long)nextSequenceNumber;
- (void)exitFullSyncWithID:(id)a0 error:(id)a1;
- (id)initWithSharedDatabase:(id)a0;

@end