CKKSOutgoingQueueEntry.h [plain text]
#include "keychain/securityd/SecDbItem.h"
#include <utilities/SecDb.h>
#import "CKKSItem.h"
#import "CKKSMirrorEntry.h"
#import "CKKSSQLDatabaseObject.h"
#ifndef CKKSOutgoingQueueEntry_h
#define CKKSOutgoingQueueEntry_h
#if OCTAGON
#import <CloudKit/CloudKit.h>
#import "keychain/ckks/CKKSMemoryKeyCache.h"
NS_ASSUME_NONNULL_BEGIN
@class CKKSKeychainView;
@class CKKSKeychainViewState;
@interface CKKSOutgoingQueueEntry : CKKSSQLDatabaseObject
@property CKKSItem* item;
@property NSString* uuid;
@property NSString* action;
@property NSString* state;
@property NSString* accessgroup;
@property NSDate* waitUntil;
- (instancetype)initWithCKKSItem:(CKKSItem*)item
action:(NSString*)action
state:(NSString*)state
waitUntil:(NSDate* _Nullable)waitUntil
accessGroup:(NSString*)accessgroup;
+ (instancetype _Nullable)withItem:(SecDbItemRef)item
action:(NSString*)action
zoneID:(CKRecordZoneID*)zoneID
keyCache:(CKKSMemoryKeyCache* _Nullable)keyCache
error:(NSError* __autoreleasing*)error;
+ (instancetype _Nullable)fromDatabase:(NSString*)uuid
state:(NSString*)state
zoneID:(CKRecordZoneID*)zoneID
error:(NSError* __autoreleasing*)error;
+ (instancetype _Nullable)tryFromDatabase:(NSString*)uuid zoneID:(CKRecordZoneID*)zoneID error:(NSError* __autoreleasing*)error;
+ (instancetype _Nullable)tryFromDatabase:(NSString*)uuid
state:(NSString*)state
zoneID:(CKRecordZoneID*)zoneID
error:(NSError* __autoreleasing*)error;
+ (NSArray<CKKSOutgoingQueueEntry*>*)fetch:(ssize_t)n
state:(NSString*)state
zoneID:(CKRecordZoneID*)zoneID
error:(NSError* __autoreleasing*)error;
+ (NSArray<CKKSOutgoingQueueEntry*>*)allInState:(NSString*)state
zoneID:(CKRecordZoneID*)zoneID
error:(NSError* __autoreleasing*)error;
+ (NSArray<CKKSOutgoingQueueEntry*>*)allWithUUID:(NSString*)uuid
states:(NSArray<NSString*>*)states
zoneID:(CKRecordZoneID*)zoneID
error:(NSError * __autoreleasing *)error;
+ (NSDictionary<NSString*, NSNumber*>*)countsByStateInZone:(CKRecordZoneID*)zoneID error:(NSError* __autoreleasing*)error;
+ (NSInteger)countByState:(CKKSItemState *)state zone:(CKRecordZoneID*)zoneID error: (NSError * __autoreleasing *) error;
- (BOOL)intransactionMoveToState:(NSString*)state
viewState:(CKKSKeychainViewState*)viewState
error:(NSError**)error;
- (BOOL)intransactionMarkAsError:(NSError*)itemError
viewState:(CKKSKeychainViewState*)viewState
error:(NSError**)error;
@end
NS_ASSUME_NONNULL_END
#endif
#endif