5 // Created by Michael Brouwer on 10/16/12.
8 #include "SOSTestTransport.h"
10 #include <utilities/SecCFWrappers.h>
11 #include <test/testmore.h>
13 struct SOSTestTransport
{
14 struct SOSTransport t
;
15 CFDataRef lastMessage
;
19 /* Transport protocol. */
20 static bool SOSTestTransportQueue(SOSTransportRef transport
, CFDataRef message
) {
21 struct SOSTestTransport
*t
= (struct SOSTestTransport
*)transport
;
23 fail("We already had an unproccessed message");
24 CFReleaseNull(t
->lastMessage
);
27 t
->lastMessage
= message
;
31 CFDataRef
SOSTestTransportDequeue(SOSTransportRef transport
) {
32 struct SOSTestTransport
*t
= (struct SOSTestTransport
*)transport
;
33 CFDataRef message
= t
->lastMessage
;
34 t
->lastMessage
= NULL
;
38 void SOSTestTransportDispose(SOSTransportRef transport
) {
39 struct SOSTestTransport
*t
= (struct SOSTestTransport
*)transport
;
43 SOSTransportRef
SOSTestTransportCreate(void) {
44 struct SOSTestTransport
*transport
= calloc(1, sizeof(struct SOSTestTransport
));
45 transport
->t
.send
= SOSTestTransportQueue
;
47 return (SOSTransportRef
)transport
;