package onvif import ( "github.com/IOTechSystems/onvif" ) type Connection struct { Params DeviceParams `json:"params"` Device *onvif.Device `json:"device"` } type DeviceParams struct { Xaddr string `json:"xaddr"` EndpointRefAddress string `json:"endpointRefAddress"` Username string `json:"username"` Password string `json:"password"` AuthMode string `json:"authMode"` } func NewConnection(addr string, username string, password string) (*Connection, error) { dev, err := onvif.NewDevice(onvif.DeviceParams{ Xaddr: addr, Username: username, Password: password, }) if err != nil { return nil, err } return &Connection{ Params: DeviceParams{ Xaddr: dev.GetDeviceParams().Xaddr, EndpointRefAddress: dev.GetDeviceParams().EndpointRefAddress, Username: dev.GetDeviceParams().Username, Password: dev.GetDeviceParams().Password, AuthMode: dev.GetDeviceParams().AuthMode, }, Device: dev, }, nil }