2 // SOSAccountTransaction.h
8 #ifndef SOSAccountTransaction_h
9 #define SOSAccountTransaction_h
11 #include <CoreFoundation/CoreFoundation.h>
12 #include "keychain/SecureObjectSync/SOSAccountPriv.h"
13 #include <CoreFoundation/CFRuntime.h>
15 NS_ASSUME_NONNULL_BEGIN
17 @
class SOSAccountTransaction
;
19 @interface
SOSAccount (Transaction
)
21 + (void)performOnQuietAccountQueue
:(void (^)(void))action
;
23 - (void) performTransaction
: (void (^)(SOSAccountTransaction
* txn
)) action
;
24 - (void) performTransaction_Locked
: (void (^)(SOSAccountTransaction
* txn
)) action
;
28 @interface SOSAccountTransaction
: NSObject
30 - (instancetype
) init NS_UNAVAILABLE
;
31 - (instancetype
) initWithAccount
: (SOSAccount
*) account quiet
:(bool)quiet NS_DESIGNATED_INITIALIZER
;
36 - (void) requestSyncWith
: (NSString
*) peerID
;
37 - (void) requestSyncWithPeers
: (NSSet
<NSString
*>*) peerList
;
39 @property SOSAccount
*account
;
41 @
property (readonly
) NSString
* description
;
47 #endif /* SOSAccountTransaction_h */