Skip to content

Commit c9229d3

Browse files
committed
Return boolean flag for add/remove handlers.
1 parent 8a22ed5 commit c9229d3

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

SwiftTask/_StateMachine.swift

+16-8
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,40 @@ internal class _StateMachine<Progress, Value, Error>
4141
self.state = paused ? .Paused : .Running
4242
}
4343

44-
internal func addProgressTupleHandler(inout token: _HandlerToken?, _ progressTupleHandler: ProgressTupleHandler)
44+
internal func addProgressTupleHandler(inout token: _HandlerToken?, _ progressTupleHandler: ProgressTupleHandler) -> Bool
4545
{
4646
if self.state == .Running || self.state == .Paused {
4747
token = self.progressTupleHandlers.append(progressTupleHandler)
48+
return true
4849
}
50+
return false
4951
}
5052

51-
internal func removeProgressTupleHandler(handlerToken: _HandlerToken?)
53+
internal func removeProgressTupleHandler(handlerToken: _HandlerToken?) -> Bool
5254
{
5355
if let handlerToken = handlerToken {
54-
self.progressTupleHandlers.remove(handlerToken)
56+
let removedHandler = self.progressTupleHandlers.remove(handlerToken)
57+
return removedHandler != nil
5558
}
59+
return false
5660
}
5761

58-
internal func addCompletionHandler(inout token: _HandlerToken?, _ completionHandler: Void -> Void)
62+
internal func addCompletionHandler(inout token: _HandlerToken?, _ completionHandler: Void -> Void) -> Bool
5963
{
6064
if self.state == .Running || self.state == .Paused {
6165
token = self.completionHandlers.append(completionHandler)
66+
return true
6267
}
68+
return false
6369
}
6470

65-
internal func removeCompletionHandler(handlerToken: _HandlerToken?)
71+
internal func removeCompletionHandler(handlerToken: _HandlerToken?) -> Bool
6672
{
6773
if let handlerToken = handlerToken {
68-
self.completionHandlers.remove(handlerToken)
74+
let removedHandler = self.completionHandlers.remove(handlerToken)
75+
return removedHandler != nil
6976
}
77+
return false
7078
}
7179

7280
internal func handleProgress(progress: Progress)
@@ -224,9 +232,9 @@ internal struct _Handlers<T>: SequenceType
224232
return _HandlerToken(key: self.currentKey)
225233
}
226234

227-
internal mutating func remove(token: _HandlerToken)
235+
internal mutating func remove(token: _HandlerToken) -> T?
228236
{
229-
self.elements.removeValueForKey(token.key)
237+
return self.elements.removeValueForKey(token.key)
230238
}
231239

232240
internal mutating func removeAll(keepCapacity: Bool = false)

0 commit comments

Comments
 (0)