gyrogpsc/core/interfaces.go

43 lines
782 B
Go

package core
import "github.com/google/uuid"
type Subscriber interface {
Subscribe() (int16, <-chan string)
Unsubscribe(id int16) error
}
type Publisher interface {
Publish(message string)
}
type Pusher interface {
Push(data *sensorData) error
}
type Storer interface {
EnqueuePair(tcp sensorData, ser sensorData)
EnqueueRaw(data sensorData)
}
type Repo interface {
Save(tracking Tracking) error
LoadAll() ([]TrackingMetadata, error)
Load(id uuid.UUID) (Tracking, error)
}
type Service interface {
AllTrackings()
NewSetup(cols ...CollectorType)
StartRecord()
StopRecord()
StopAll()
LoadTracking(trackingId uuid.UUID)
DeleteTracking(trackingId uuid.UUID)
StartReplay()
PauseReplay()
StopReplay()
}