mirror of https://github.com/jetkvm/kvm.git
31 lines
802 B
Go
31 lines
802 B
Go
package audio
|
|
|
|
// SessionProvider interface abstracts session management for audio events
|
|
type SessionProvider interface {
|
|
IsSessionActive() bool
|
|
GetAudioInputManager() *AudioInputManager
|
|
}
|
|
|
|
// DefaultSessionProvider is a no-op implementation
|
|
type DefaultSessionProvider struct{}
|
|
|
|
func (d *DefaultSessionProvider) IsSessionActive() bool {
|
|
return false
|
|
}
|
|
|
|
func (d *DefaultSessionProvider) GetAudioInputManager() *AudioInputManager {
|
|
return nil
|
|
}
|
|
|
|
var sessionProvider SessionProvider = &DefaultSessionProvider{}
|
|
|
|
// SetSessionProvider allows the main package to inject session management
|
|
func SetSessionProvider(provider SessionProvider) {
|
|
sessionProvider = provider
|
|
}
|
|
|
|
// GetSessionProvider returns the current session provider
|
|
func GetSessionProvider() SessionProvider {
|
|
return sessionProvider
|
|
}
|