5 // Created by Richard Murphy on 2/6/13.
10 #define sec_SOSCoder_h
12 #include <SecureObjectSync/SOSFullPeerInfo.h>
13 #include <SecureObjectSync/SOSPeerInfo.h>
14 #include <SecureObjectSync/SOSPeer.h>
16 typedef struct __OpaqueSOSCoder
*SOSCoderRef
;
18 SOSCoderRef
SOSCoderCreate(SOSPeerInfoRef peerInfo
, SOSFullPeerInfoRef myPeerInfo
, CFErrorRef
*error
);
19 SOSCoderRef
SOSCoderCreateFromData(CFDataRef exportedData
, CFErrorRef
*error
);
21 void SOSCoderDispose(SOSCoderRef coder
);
23 CFDataRef
SOSCoderCopyDER(SOSCoderRef coder
, CFErrorRef
* error
);
26 SOSCoderStart(SOSCoderRef coder
, SOSPeerSendBlock sendBlock
, CFStringRef clientId
, CFErrorRef
*error
);
29 SOSCoderResendDH(SOSCoderRef coder
, SOSPeerSendBlock sendBlock
, CFErrorRef
*error
);
31 void SOSCoderPersistState(CFStringRef peer_id
, SOSCoderRef coder
);
33 SOSPeerCoderStatus
SOSCoderUnwrap(SOSCoderRef coder
, SOSPeerSendBlock send_block
, CFDataRef codedMessage
, CFMutableDataRef
*message
, CFStringRef clientId
, CFErrorRef
*error
);
35 SOSPeerCoderStatus
SOSCoderWrap(SOSCoderRef coder
, CFDataRef message
, CFMutableDataRef
*codedMessage
, CFStringRef clientId
, CFErrorRef
*error
);
37 bool SOSCoderCanWrap(SOSCoderRef coder
);
39 void SOSCoderReset(SOSCoderRef coder
);