builders.go 636 B

12345678910111213141516171819202122232425262728293031323334
  1. package hid
  2. import (
  3. "github.com/bettercap/bettercap/network"
  4. )
  5. type FrameBuilder interface {
  6. BuildFrames(*network.HIDDevice, []*Command) error
  7. }
  8. var FrameBuilders = map[network.HIDType]FrameBuilder{
  9. network.HIDTypeLogitech: LogitechBuilder{},
  10. network.HIDTypeAmazon: AmazonBuilder{},
  11. network.HIDTypeMicrosoft: MicrosoftBuilder{},
  12. }
  13. func availBuilders() []string {
  14. return []string{
  15. "logitech",
  16. "amazon",
  17. "microsoft",
  18. }
  19. }
  20. func builderFromName(name string) FrameBuilder {
  21. switch name {
  22. case "amazon":
  23. return AmazonBuilder{}
  24. case "microsoft":
  25. return MicrosoftBuilder{}
  26. default:
  27. return LogitechBuilder{}
  28. }
  29. }