-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsettings.go
More file actions
152 lines (120 loc) · 4.33 KB
/
Copy pathsettings.go
File metadata and controls
152 lines (120 loc) · 4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
package securityspy
import (
"errors"
"fmt"
"net/url"
"strconv"
)
// ErrCameraNumRequired is returned when a settings call needs cameraNum.
var ErrCameraNumRequired = errors.New("cameraNum required")
// GetGeneralSettings fetches ++settings-general.
func (s *Server) GetGeneralSettings() (*GeneralSettings, error) {
var val GeneralSettings
if err := s.GetXML("++settings-general", nil, &val); err != nil {
return nil, fmt.Errorf("getting general settings: %w", err)
}
return &val, nil
}
// SetGeneralSettings posts form fields to ++settings-general (partial update).
func (s *Server) SetGeneralSettings(form url.Values) error {
if err := s.PostForm("++settings-general", form); err != nil {
return fmt.Errorf("setting general settings: %w", err)
}
return nil
}
// GetDisplaySettings fetches ++settings-display.
func (s *Server) GetDisplaySettings() (*DisplaySettings, error) {
var val DisplaySettings
if err := s.GetXML("++settings-display", nil, &val); err != nil {
return nil, fmt.Errorf("getting display settings: %w", err)
}
return &val, nil
}
// SetDisplaySettings posts form fields to ++settings-display (partial update).
func (s *Server) SetDisplaySettings(form url.Values) error {
if err := s.PostForm("++settings-display", form); err != nil {
return fmt.Errorf("setting display settings: %w", err)
}
return nil
}
// GetStorageSettings fetches ++settings-storage.
func (s *Server) GetStorageSettings() (*StorageSettings, error) {
var val StorageSettings
if err := s.GetXML("++settings-storage", nil, &val); err != nil {
return nil, fmt.Errorf("getting storage settings: %w", err)
}
return &val, nil
}
// SetStorageSettings posts form fields to ++settings-storage (partial update).
func (s *Server) SetStorageSettings(form url.Values) error {
if err := s.PostForm("++settings-storage", form); err != nil {
return fmt.Errorf("setting storage settings: %w", err)
}
return nil
}
// GetCompressionSettings fetches ++settings-compression.
func (s *Server) GetCompressionSettings() (*CompressionSettings, error) {
var val CompressionSettings
if err := s.GetXML("++settings-compression", nil, &val); err != nil {
return nil, fmt.Errorf("getting compression settings: %w", err)
}
return &val, nil
}
// SetCompressionSettings posts form fields to ++settings-compression (partial update).
func (s *Server) SetCompressionSettings(form url.Values) error {
if err := s.PostForm("++settings-compression", form); err != nil {
return fmt.Errorf("setting compression settings: %w", err)
}
return nil
}
// GetEmailSettings fetches ++settings-email.
func (s *Server) GetEmailSettings() (*EmailSettings, error) {
var val EmailSettings
if err := s.GetXML("++settings-email", nil, &val); err != nil {
return nil, fmt.Errorf("getting email settings: %w", err)
}
return &val, nil
}
// SetEmailSettings posts form fields to ++settings-email (partial update).
func (s *Server) SetEmailSettings(form url.Values) error {
if err := s.PostForm("++settings-email", form); err != nil {
return fmt.Errorf("setting email settings: %w", err)
}
return nil
}
// GetWebSettings fetches ++settings-web.
func (s *Server) GetWebSettings() (*WebSettings, error) {
var val WebSettings
if err := s.GetXML("++settings-web", nil, &val); err != nil {
return nil, fmt.Errorf("getting web settings: %w", err)
}
return &val, nil
}
// SetWebSettings posts form fields to ++settings-web (partial update).
func (s *Server) SetWebSettings(form url.Values) error {
if err := s.PostForm("++settings-web", form); err != nil {
return fmt.Errorf("setting web settings: %w", err)
}
return nil
}
// GetCameraSettings fetches ++settings-cameras for a camera number.
func (s *Server) GetCameraSettings(cameraNum int) (*CameraSettings, error) {
params := make(url.Values)
params.Set("cameraNum", strconv.Itoa(cameraNum))
var val CameraSettings
if err := s.GetXML("++settings-cameras", params, &val); err != nil {
return nil, fmt.Errorf("getting camera settings: %w", err)
}
return &val, nil
}
// SetCameraSettings posts form fields to ++settings-cameras (partial update).
// form must include cameraNum.
func (s *Server) SetCameraSettings(form url.Values) error {
if form == nil || form.Get("cameraNum") == "" {
return ErrCameraNumRequired
}
if err := s.PostForm("++settings-cameras", form); err != nil {
return fmt.Errorf("setting camera settings: %w", err)
}
return nil
}