rewrite using IoC and DI

This commit is contained in:
Aynakeya
2022-12-23 05:06:57 -08:00
parent 0498d2dbf3
commit c47d338a9e
88 changed files with 2295 additions and 1856 deletions

34
controller/playcontrol.go Normal file
View File

@@ -0,0 +1,34 @@
package controller
import (
"AynaLivePlayer/common/event"
"AynaLivePlayer/model"
"AynaLivePlayer/player"
)
type IPlayController interface {
EventManager() *event.Manager
GetPlaying() *model.Media
GetPlayer() player.IPlayer
PlayNext()
Play(media *model.Media)
Add(keyword string, user interface{})
AddWithProvider(keyword string, provider string, user interface{})
Seek(position float64, absolute bool)
Toggle() bool
SetVolume(volume float64)
Destroy()
GetCurrentAudioDevice() string
GetAudioDevices() []model.AudioDevice
SetAudioDevice(device string)
GetLyric() ILyricLoader
GetSkipPlaylist() bool
SetSkipPlaylist(b bool)
}
type ILyricLoader interface {
EventManager() *event.Manager
Get() *model.Lyric
Reload(lyric string)
Update(time float64)
}