From 6f90af377d4df32ec035a79f4a4bf2816ecee96a Mon Sep 17 00:00:00 2001 From: Karan Misra Date: Sun, 6 Apr 2014 04:52:11 +0530 Subject: [PATCH] gpio: create types for the pin factory methods --- gpiodriver.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gpiodriver.go b/gpiodriver.go index 8a2e81b..d36f9df 100644 --- a/gpiodriver.go +++ b/gpiodriver.go @@ -11,17 +11,21 @@ type pin interface { Close() error } +type digitalPinFactory func(n int) DigitalPin +type analogPinFactory func(n int) AnalogPin +type pwmPinFactory func(n string) PWMPin + type gpioDriver struct { pinMap PinMap - dpf func(n int) DigitalPin - apf func(n int) AnalogPin - ppf func(n string) PWMPin + dpf digitalPinFactory + apf analogPinFactory + ppf pwmPinFactory initializedPins map[string]pin } -func newGPIODriver(pinMap PinMap, dpf func(n int) DigitalPin, apf func(n int) AnalogPin, ppf func(n string) PWMPin) GPIODriver { +func newGPIODriver(pinMap PinMap, dpf digitalPinFactory, apf analogPinFactory, ppf pwmPinFactory) GPIODriver { return &gpioDriver{ pinMap: pinMap, dpf: dpf,