Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleaning up abandoned callbacks. #42

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 30 additions & 6 deletions dialog/callback_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ var sessionStartedCallbacks = make(map[C.SPXHANDLE]speech.SessionEventHandler)
func registerSessionStartedCallback(handler speech.SessionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
sessionStartedCallbacks[handle] = handler
if handler != nil {
sessionStartedCallbacks[handle] = handler
} else {
delete(sessionStartedCallbacks, handle)
}
}

func getSessionStartedCallback(handle C.SPXHANDLE) speech.SessionEventHandler {
Expand All @@ -45,7 +49,11 @@ var sessionStoppedCallbacks = make(map[C.SPXHANDLE]speech.SessionEventHandler)
func registerSessionStoppedCallback(handler speech.SessionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
sessionStoppedCallbacks[handle] = handler
if handler != nil {
sessionStoppedCallbacks[handle] = handler
} else {
delete(sessionStoppedCallbacks, handle)
}
}

func getSessionStoppedCallback(handle C.SPXHANDLE) speech.SessionEventHandler {
Expand All @@ -70,7 +78,11 @@ var recognizedCallbacks = make(map[C.SPXHANDLE]speech.SpeechRecognitionEventHand
func registerRecognizedCallback(handler speech.SpeechRecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
recognizedCallbacks[handle] = handler
if handler != nil {
recognizedCallbacks[handle] = handler
} else {
delete(recognizedCallbacks, handle)
}
}

func getRecognizedCallback(handle C.SPXHANDLE) speech.SpeechRecognitionEventHandler {
Expand All @@ -95,7 +107,11 @@ var recognizingCallbacks = make(map[C.SPXHANDLE]speech.SpeechRecognitionEventHan
func registerRecognizingCallback(handler speech.SpeechRecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
recognizingCallbacks[handle] = handler
if handler != nil {
recognizingCallbacks[handle] = handler
} else {
delete(recognizingCallbacks, handle)
}
}

func getRecognizingCallback(handle C.SPXHANDLE) speech.SpeechRecognitionEventHandler {
Expand All @@ -120,7 +136,11 @@ var canceledCallbacks = make(map[C.SPXHANDLE]speech.SpeechRecognitionCanceledEve
func registerCanceledCallback(handler speech.SpeechRecognitionCanceledEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
canceledCallbacks[handle] = handler
if handler != nil {
canceledCallbacks[handle] = handler
} else {
delete(canceledCallbacks, handle)
}
}

func getCanceledCallback(handle C.SPXHANDLE) speech.SpeechRecognitionCanceledEventHandler {
Expand All @@ -145,7 +165,11 @@ var activityReceivedCallbacks = make(map[C.SPXHANDLE]ActivityReceivedEventHandle
func registerActivityReceivedCallback(handler ActivityReceivedEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
activityReceivedCallbacks[handle] = handler
if handler != nil {
activityReceivedCallbacks[handle] = handler
} else {
delete(activityReceivedCallbacks, handle)
}
}

func getActivityReceivedCallback(handle C.SPXHANDLE) ActivityReceivedEventHandler {
Expand Down
84 changes: 70 additions & 14 deletions speech/callback_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ var sessionStartedCallbacks = make(map[C.SPXHANDLE]SessionEventHandler)
func registerSessionStartedCallback(handler SessionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
sessionStartedCallbacks[handle] = handler
if handler != nil {
sessionStartedCallbacks[handle] = handler
} else {
delete(sessionStartedCallbacks, handle)
}
}

func getSessionStartedCallback(handle C.SPXHANDLE) SessionEventHandler {
Expand All @@ -43,7 +47,11 @@ var sessionStoppedCallbacks = make(map[C.SPXHANDLE]SessionEventHandler)
func registerSessionStoppedCallback(handler SessionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
sessionStoppedCallbacks[handle] = handler
if handler != nil {
sessionStoppedCallbacks[handle] = handler
} else {
delete(sessionStoppedCallbacks, handle)
}
}

func getSessionStoppedCallback(handle C.SPXHANDLE) SessionEventHandler {
Expand All @@ -68,7 +76,11 @@ var speechStartDetectedCallbacks = make(map[C.SPXHANDLE]RecognitionEventHandler)
func registerSpeechStartDetectedCallback(handler RecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
speechStartDetectedCallbacks[handle] = handler
if handler != nil {
speechStartDetectedCallbacks[handle] = handler
} else {
delete(speechStartDetectedCallbacks, handle)
}
}

func getSpeechStartDetectedCallback(handle C.SPXHANDLE) RecognitionEventHandler {
Expand All @@ -93,7 +105,11 @@ var speechEndDetectedCallbacks = make(map[C.SPXHANDLE]RecognitionEventHandler)
func registerSpeechEndDetectedCallback(handler RecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
speechEndDetectedCallbacks[handle] = handler
if handler != nil {
speechEndDetectedCallbacks[handle] = handler
} else {
delete(speechEndDetectedCallbacks, handle)
}
}

func getSpeechEndDetectedCallback(handle C.SPXHANDLE) RecognitionEventHandler {
Expand All @@ -118,7 +134,11 @@ var recognizedCallbacks = make(map[C.SPXHANDLE]SpeechRecognitionEventHandler)
func registerRecognizedCallback(handler SpeechRecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
recognizedCallbacks[handle] = handler
if handler != nil {
recognizedCallbacks[handle] = handler
} else {
delete(recognizedCallbacks, handle)
}
}

func getRecognizedCallback(handle C.SPXHANDLE) SpeechRecognitionEventHandler {
Expand All @@ -143,7 +163,11 @@ var recognizingCallbacks = make(map[C.SPXHANDLE]SpeechRecognitionEventHandler)
func registerRecognizingCallback(handler SpeechRecognitionEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
recognizingCallbacks[handle] = handler
if handler != nil {
recognizingCallbacks[handle] = handler
} else {
delete(recognizingCallbacks, handle)
}
}

func getRecognizingCallback(handle C.SPXHANDLE) SpeechRecognitionEventHandler {
Expand All @@ -168,7 +192,11 @@ var canceledCallbacks = make(map[C.SPXHANDLE]SpeechRecognitionCanceledEventHandl
func registerCanceledCallback(handler SpeechRecognitionCanceledEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
canceledCallbacks[handle] = handler
if handler != nil {
canceledCallbacks[handle] = handler
} else {
delete(canceledCallbacks, handle)
}
}

func getCanceledCallback(handle C.SPXHANDLE) SpeechRecognitionCanceledEventHandler {
Expand All @@ -193,7 +221,11 @@ var synthesisStartedCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisEventHandler
func registerSynthesisStartedCallback(handler SpeechSynthesisEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisStartedCallbacks[handle] = handler
if handler != nil {
synthesisStartedCallbacks[handle] = handler
} else {
delete(synthesisStartedCallbacks, handle)
}
}

func getSynthesisStartedCallback(handle C.SPXHANDLE) SpeechSynthesisEventHandler {
Expand All @@ -218,7 +250,11 @@ var synthesizingCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisEventHandler)
func registerSynthesizingCallback(handler SpeechSynthesisEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesizingCallbacks[handle] = handler
if handler != nil {
synthesizingCallbacks[handle] = handler
} else {
delete(synthesizingCallbacks, handle)
}
}

func getSynthesizingCallback(handle C.SPXHANDLE) SpeechSynthesisEventHandler {
Expand All @@ -243,7 +279,11 @@ var synthesisCompletedCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisEventHandl
func registerSynthesisCompletedCallback(handler SpeechSynthesisEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisCompletedCallbacks[handle] = handler
if handler != nil {
synthesisCompletedCallbacks[handle] = handler
} else {
delete(synthesisCompletedCallbacks, handle)
}
}

func getSynthesisCompletedCallback(handle C.SPXHANDLE) SpeechSynthesisEventHandler {
Expand All @@ -268,7 +308,11 @@ var synthesisCanceledCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisEventHandle
func registerSynthesisCanceledCallback(handler SpeechSynthesisEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisCanceledCallbacks[handle] = handler
if handler != nil {
synthesisCanceledCallbacks[handle] = handler
} else {
delete(synthesisCanceledCallbacks, handle)
}
}

func getSynthesisCanceledCallback(handle C.SPXHANDLE) SpeechSynthesisEventHandler {
Expand All @@ -293,7 +337,11 @@ var synthesisWordBoundaryCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisWordBou
func registerSynthesisWordBoundaryCallback(handler SpeechSynthesisWordBoundaryEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisWordBoundaryCallbacks[handle] = handler
if handler != nil {
synthesisWordBoundaryCallbacks[handle] = handler
} else {
delete(synthesisWordBoundaryCallbacks, handle)
}
}

func getSynthesisWordBoundaryCallback(handle C.SPXHANDLE) SpeechSynthesisWordBoundaryEventHandler {
Expand All @@ -318,7 +366,11 @@ var synthesisVisemeReceivedCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisVisem
func registerSynthesisVisemeReceivedCallback(handler SpeechSynthesisVisemeEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisVisemeReceivedCallbacks[handle] = handler
if handler != nil {
synthesisVisemeReceivedCallbacks[handle] = handler
} else {
delete(synthesisVisemeReceivedCallbacks, handle)
}
}

func getSynthesisVisemeReceivedCallback(handle C.SPXHANDLE) SpeechSynthesisVisemeEventHandler {
Expand All @@ -343,7 +395,11 @@ var synthesisBookmarkReachedCallbacks = make(map[C.SPXHANDLE]SpeechSynthesisBook
func registerSynthesisBookmarkReachedCallback(handler SpeechSynthesisBookmarkEventHandler, handle C.SPXHANDLE) {
mu.Lock()
defer mu.Unlock()
synthesisBookmarkReachedCallbacks[handle] = handler
if handler != nil {
synthesisBookmarkReachedCallbacks[handle] = handler
} else {
delete(synthesisBookmarkReachedCallbacks, handle)
}
}

func getSynthesisBookmarkReachedCallback(handle C.SPXHANDLE) SpeechSynthesisBookmarkEventHandler {
Expand Down