mirror of
https://github.com/bettercap/bettercap
synced 2025-07-11 07:37:00 -07:00
46 lines
767 B
Go
46 lines
767 B
Go
// +build windows darwin
|
|
|
|
package network
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
)
|
|
|
|
type BLEDevice struct {
|
|
LastSeen time.Time
|
|
}
|
|
|
|
func NewBLEDevice() *BLEDevice {
|
|
return &BLEDevice{
|
|
LastSeen: time.Now(),
|
|
}
|
|
}
|
|
|
|
type BLEDevNewCallback func(dev *BLEDevice)
|
|
type BLEDevLostCallback func(dev *BLEDevice)
|
|
|
|
type BLE struct {
|
|
devices map[string]*BLEDevice
|
|
newCb BLEDevNewCallback
|
|
lostCb BLEDevLostCallback
|
|
}
|
|
|
|
type bleJSON struct {
|
|
Devices []*BLEDevice `json:"devices"`
|
|
}
|
|
|
|
func NewBLE(newcb BLEDevNewCallback, lostcb BLEDevLostCallback) *BLE {
|
|
return &BLE{
|
|
devices: make(map[string]*BLEDevice),
|
|
newCb: newcb,
|
|
lostCb: lostcb,
|
|
}
|
|
}
|
|
|
|
func (b *BLE) MarshalJSON() ([]byte, error) {
|
|
doc := bleJSON{
|
|
Devices: make([]*BLEDevice, 0),
|
|
}
|
|
return json.Marshal(doc)
|
|
}
|