| package ble |
| |
| import "context" |
| |
| // Device ... |
| type Device interface { |
| // AddService adds a service to database. |
| AddService(svc *Service) error |
| |
| // RemoveAllServices removes all services that are currently in the database. |
| RemoveAllServices() error |
| |
| // SetServices set the specified service to the database. |
| // It removes all currently added services, if any. |
| SetServices(svcs []*Service) error |
| |
| // Stop detatch the GATT server from a peripheral device. |
| Stop() error |
| |
| // Advertise advertises a given Advertisement |
| Advertise(ctx context.Context, adv Advertisement) error |
| |
| // AdvertiseNameAndServices advertises device name, and specified service UUIDs. |
| // It tres to fit the UUIDs in the advertising packet as much as possi |
| // If name doesn't fit in the advertising packet, it will be put in scan response. |
| AdvertiseNameAndServices(ctx context.Context, name string, uuids ...UUID) error |
| |
| // AdvertiseMfgData avertises the given manufacturer data. |
| AdvertiseMfgData(ctx context.Context, id uint16, b []byte) error |
| |
| // AdvertiseServiceData16 advertises data associated with a 16bit service uuid |
| AdvertiseServiceData16(ctx context.Context, id uint16, b []byte) error |
| |
| // AdvertiseIBeaconData advertise iBeacon with given manufacturer data. |
| AdvertiseIBeaconData(ctx context.Context, b []byte) error |
| |
| // AdvertiseIBeacon advertises iBeacon with specified parameters. |
| AdvertiseIBeacon(ctx context.Context, u UUID, major, minor uint16, pwr int8) error |
| |
| // Scan starts scanning. Duplicated advertisements will be filtered out if allowDup is set to false. |
| Scan(ctx context.Context, allowDup bool, h AdvHandler) error |
| |
| // Dial ... |
| Dial(ctx context.Context, a Addr) (Client, error) |
| } |