aboutsummaryrefslogtreecommitdiff
path: root/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'api.go')
-rw-r--r--api.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/api.go b/api.go
new file mode 100644
index 0000000..8397cb9
--- /dev/null
+++ b/api.go
@@ -0,0 +1,30 @@
+// SPDX-FileCopyrightText: 2020 Ethel Morgan
+//
+// SPDX-License-Identifier: MIT
+
+// Package catbus is a convenience wrapper around MQTT for use with Catbus.
+package catbus
+
+type (
+ MessageHandler func(Client, Message)
+
+ Message struct {
+ Payload string
+ Retention Retention
+ Topic string
+ }
+
+ Client interface {
+ Connect() error
+ Subscribe(topic string, f MessageHandler) error
+ Publish(topic string, retention Retention, payload string) error
+ }
+
+ // Retention is whether or not the MQTT broker should retain the message.
+ Retention bool
+)
+
+const (
+ Retain = Retention(true)
+ DontRetain = Retention(false)
+)