5 #include <Security/SecureObjectSync/SOSTransportMessage.h>
6 #include <Security/SecureObjectSync/SOSTransportCircle.h>
7 #include <Security/SecureObjectSync/SOSTransportKeyParameter.h>
8 #include <Security/SecureObjectSync/SOSAccount.h>
10 CF_RETURNS_RETAINED CFMutableArrayRef
SOSTransportDispatchMessages(SOSAccountTransaction
* txn
, CFDictionaryRef updates
, CFErrorRef
*error
);
12 void SOSRegisterTransportMessage(SOSMessage
* additional
);
13 void SOSUnregisterTransportMessage(SOSMessage
* removal
);
15 void SOSRegisterTransportCircle(SOSCircleStorageTransport
* additional
);
16 void SOSUnregisterTransportCircle(SOSCircleStorageTransport
* removal
);
18 void SOSRegisterTransportKeyParameter(CKKeyParameter
* additional
);
19 void SOSUnregisterTransportKeyParameter(CKKeyParameter
* removal
);
20 void SOSUnregisterAllTransportMessages(void);
21 void SOSUnregisterAllTransportCircles(void);
22 void SOSUnregisterAllTransportKeyParameters(void);
25 void SOSUpdateKeyInterest(SOSAccount
* account
);
37 static inline CFMutableDictionaryRef
CFDictionaryEnsureCFDictionaryAndGetCurrentValue(CFMutableDictionaryRef dict
, CFTypeRef key
)
39 CFMutableDictionaryRef result
= (CFMutableDictionaryRef
) CFDictionaryGetValue(dict
, key
);
41 if (!isDictionary(result
)) {
42 result
= CFDictionaryCreateMutableForCFTypes(kCFAllocatorDefault
);
43 CFDictionarySetValue(dict
, key
, result
);
44 CFReleaseSafe(result
);