aboutsummaryrefslogtreecommitdiff
path: root/bridge.go
diff options
context:
space:
mode:
authorCollin Guarino <collin.guarino@gmail.com>2016-02-13 11:48:59 -0500
committerCollin Guarino <collin.guarino@gmail.com>2016-02-13 11:48:59 -0500
commit32df96e1dc02531c42435dd6a12a0ac6f8725ff0 (patch)
treec8477a48f55991218b40a1685546f91c2734926d /bridge.go
parent11c8df3ca1f1aac6bd893ea2ecb69f858faceda5 (diff)
Converted GetBridgeInfo to Bridge.GetInfo
Diffstat (limited to 'bridge.go')
-rw-r--r--bridge.go18
1 files changed, 11 insertions, 7 deletions
diff --git a/bridge.go b/bridge.go
index 4785175..1081616 100644
--- a/bridge.go
+++ b/bridge.go
@@ -146,28 +146,32 @@ func (self *Bridge) Error(resp *http.Response, err error) (bool) {
}
// NewBridge defines hardware that is compatible with Hue.
-func NewBridge(ip string, username string) *Bridge {
+func NewBridge(ip string, username string) (*Bridge, error) {
bridge := Bridge {
IPAddress: ip,
Username: username,
}
- GetBridgeInfo(&bridge)
- return &bridge
+ info, err := bridge.GetInfo()
+ if err != nil {
+ return &Bridge{}, err
+ }
+ bridge.Info = info
+ return &bridge, nil
}
// GetBridgeInfo retreives the description.xml file from the bridge.
-func GetBridgeInfo(self *Bridge) error {
+func (self *Bridge) GetInfo() (BridgeInfo, error) {
_, reader, err := self.Get("/description.xml")
if err != nil {
- return err
+ return BridgeInfo{}, err
}
data := BridgeInfo{}
err = xml.NewDecoder(reader).Decode(&data)
if err != nil {
- return err
+ return BridgeInfo{}, err
}
self.Info = data
- return nil
+ return data, nil
}
// CreateUser posts to ./api on the bridge to create a new whitelisted user.