Documentation ¶
Index ¶
- func NewMemDatabase() pairing.Database
- type JSONFile
- func (j *JSONFile) AddLongTermPublicKey(c pairing.Controller) error
- func (j *JSONFile) DiscoveryService(serviceName string, port int, category discovery.Category) discovery.Service
- func (j *JSONFile) GetLongTermPublicKey(id []byte) ([]byte, error)
- func (j *JSONFile) IsPaired() bool
- func (j *JSONFile) IsPairedWatcher(cb func(bool)) bool
- func (j *JSONFile) ListLongTermPublicKey() ([]pairing.Controller, error)
- func (j *JSONFile) RemoveLongTermPublicKey(id []byte) error
- func (j *JSONFile) VersionWatcher(_ func(uint16)) uint16
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMemDatabase ¶
NewMemDatabase is an in-memory database for testing (not thread-safe!)
Types ¶
type JSONFile ¶
type JSONFile struct { Path string pairing.AccessoryDevice // contains filtered or unexported fields }
JSONFile implements pairing.Database and pairing.AccessoryDevice, storing their settings in a JSON file.
func NewJSONFile ¶
NewJSONFile will use (and create if missing) a JSON file to act as a storage. It will use the given options, only if the concerned parameters are not already set. It will generate random pin and private key if let unspecified.
func (*JSONFile) AddLongTermPublicKey ¶
func (j *JSONFile) AddLongTermPublicKey(c pairing.Controller) error
AddLongTermPublicKey is defined by the pairing.Database interface.
func (*JSONFile) DiscoveryService ¶
func (j *JSONFile) DiscoveryService(serviceName string, port int, category discovery.Category) discovery.Service
DiscoveryService returns a discovery service, ready to be announced.
func (*JSONFile) GetLongTermPublicKey ¶
GetLongTermPublicKey is defined by the pairing.Database interface.
func (*JSONFile) IsPairedWatcher ¶
IsPairedWatcher will trigger the callback on pairing change. It will overwrite any existing callback.
func (*JSONFile) ListLongTermPublicKey ¶
func (j *JSONFile) ListLongTermPublicKey() ([]pairing.Controller, error)
ListLongTermPublicKey is defined by the pairing.Database interface.
func (*JSONFile) RemoveLongTermPublicKey ¶
RemoveLongTermPublicKey is defined by the pairing.Database interface.
func (*JSONFile) VersionWatcher ¶
VersionWatcher will never trigger the callback, since the version is changed on every restart.
type Option ¶
type Option func(*jsonData)
Option is to set some default values on first run.
func WithEd25519PrivateKey ¶
WithEd25519PrivateKey will set the private key if it wasn't previously set.
func WithPairingID ¶
WithPairingID will set the pairing ID if it wasn't previously set.