/*!
@function SOSCCHandleIDSMessage
- @abstract Handles an IDS message from IDSKeychainSyncingProxy
+ @abstract Handles an IDS message from KeychainSyncingOverIDSProxy
@param IDS The incoming IDS message
@param error What went wrong if we returned false
*/
HandleIDSMessageReason SOSCCHandleIDSMessage(CFDictionaryRef IDS, CFErrorRef* error);
+/*!
+ @function SOSCCProcessSyncWithPeers
+ @abstract Returns the peers for whom we handled syncing from the list send to us.
+ @param peers Set of peerIDs to sync with
+ @param backupPeers Set of backup peerIDs to sync with
+ */
+CFSetRef /* CFString */ SOSCCProcessSyncWithPeers(CFSetRef peers, CFSetRef backupPeers, CFErrorRef* error);
+
/*!
@function SOSCCProcessSyncWithAllPeers
@abstract Returns the information (string, hopefully URL) that will lead to an explanation of why you have an incompatible circle.
@param error What went wrong if we returned NULL.
*/
-
SyncWithAllPeersReason SOSCCProcessSyncWithAllPeers(CFErrorRef* error);
bool SOSCCProcessEnsurePeerRegistration(CFErrorRef* error);
/*!
@function SOSCCIDSDeviceIDIsAvailableTest
- @abstract Attempts to communicate with IDSKeychainSyncingProxy to retrieve the device ID using IDS framework
+ @abstract Attempts to communicate with KeychainSyncingOverIDSProxy to retrieve the device ID using IDS framework
@param error What went wrong if we returned false
*/
bool SOSCCIDSDeviceIDIsAvailableTest(CFErrorRef *error);
bool SOSCCDeleteAccountState(CFErrorRef *error);
CFDataRef SOSCCCopyEngineData(CFErrorRef* error);
bool SOSCCDeleteEngineState(CFErrorRef *error);
-bool SOSCCRequestSyncWithPeerOverKVS( CFStringRef peerID, CFErrorRef *error);
-bool SOSCCRequestSyncWithPeerOverIDS(CFStringRef peerID, CFErrorRef *error);
+bool SOSCCRequestSyncWithPeerOverKVS( CFStringRef peerID, CFDataRef message, CFErrorRef *error);
+bool SOSCCClearPeerMessageKeyInKVS(CFStringRef peerID, CFErrorRef *error);
+CFDataRef SOSCCCopyRecoveryPublicKey(CFErrorRef *error);
+CFDictionaryRef SOSCCCopyBackupInformation(CFErrorRef *error);
+bool SOSCCRequestSyncWithPeerOverKVSUsingIDOnly(CFStringRef peerID, CFErrorRef *error);
char *SOSCCSysdiagnose(const char *directoryname);
+void SOSCCForEachEngineStateAsStringFromArray(CFArrayRef states, void (^block)(CFStringRef oneStateString));
+
__END_DECLS
#endif