56 lines
650 B
Go
56 lines
650 B
Go
package types
|
|
|
|
import (
|
|
"git.sr.ht/~sircmpwn/aerc2/config"
|
|
)
|
|
|
|
type WorkerMessage interface {
|
|
InResponseTo() WorkerMessage
|
|
}
|
|
|
|
type Message struct {
|
|
inResponseTo WorkerMessage
|
|
}
|
|
|
|
// Meta-messages
|
|
type Ack struct {
|
|
Message
|
|
}
|
|
|
|
type Error struct {
|
|
Message
|
|
Error error
|
|
}
|
|
|
|
type Unsupported struct {
|
|
Message
|
|
}
|
|
|
|
// Commands
|
|
type Ping struct {
|
|
Message
|
|
}
|
|
|
|
type Configure struct {
|
|
Message
|
|
Config config.AccountConfig
|
|
}
|
|
|
|
type Connect struct {
|
|
Message
|
|
}
|
|
|
|
type Disconnect struct {
|
|
Message
|
|
}
|
|
|
|
func RespondTo(msg WorkerMessage) Message {
|
|
return Message{
|
|
inResponseTo: msg,
|
|
}
|
|
}
|
|
|
|
func (m Message) InResponseTo() WorkerMessage {
|
|
return m.inResponseTo
|
|
}
|