diff options
Diffstat (limited to 'worker/types')
-rw-r--r-- | worker/types/messages.go | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/worker/types/messages.go b/worker/types/messages.go new file mode 100644 index 00000000..845bb86a --- /dev/null +++ b/worker/types/messages.go @@ -0,0 +1,55 @@ +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 +} |