forked from use-go/onvif
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtypes.go
217 lines (178 loc) · 8.11 KB
/
types.go
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
package analytics
//go:generate python3 ../python/gen_commands.py
import (
"github.com/kerberos-io/onvif/xsd"
"github.com/kerberos-io/onvif/xsd/onvif"
)
// GetSupportedAnalyticsModules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetSupportedAnalyticsModules
type GetSupportedAnalyticsModules struct {
XMLName string `xml:"tan:GetSupportedAnalyticsModules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetSupportedAnalyticsModulesResponse struct {
SupportedAnalyticsModules SupportedAnalyticsModules
}
type SupportedAnalyticsModules struct {
Limit *xsd.Int `json:",omitempty"`
AnalyticsModuleContentSchemaLocation *xsd.String `json:",omitempty"`
AnalyticsModuleDescription []AnalyticsModuleDescription `json:",omitempty"`
}
type AnalyticsModuleDescription struct {
Name string `xml:"Name,attr"`
Fixed bool `xml:"fixed,attr"`
MaxInstances int `xml:"maxInstances,attr"`
Parameters *Parameters `json:",omitempty"`
Messages *Messages `json:",omitempty"`
}
// CreateAnalyticsModules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.CreateAnalyticsModules
type CreateAnalyticsModules struct {
XMLName string `xml:"tev:CreateAnalyticsModules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
AnalyticsModule []onvif.ConfigRequest `xml:"tan:AnalyticsModule"`
}
type CreateAnalyticsModulesResponse struct{}
// DeleteAnalyticsModules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.DeleteAnalyticsModules
type DeleteAnalyticsModules struct {
XMLName string `xml:"tan:DeleteAnalyticsModules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
AnalyticsModuleName []xsd.String `xml:"tan:AnalyticsModuleName"`
}
type DeleteAnalyticsModulesResponse struct{}
// GetAnalyticsModules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetAnalyticsModules
type GetAnalyticsModules struct {
XMLName string `xml:"tan:GetAnalyticsModules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetAnalyticsModulesResponse struct {
AnalyticsModule []onvif.Config
}
// GetAnalyticsModuleOptions and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetAnalyticsModuleOptions
type GetAnalyticsModuleOptions struct {
XMLName string `xml:"tan:GetAnalyticsModuleOptions"`
Type xsd.QName `xml:"tan:Type,omitempty"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetAnalyticsModuleOptionsResponse struct {
Options []AnalyticsModuleOptions
}
type AnalyticsModuleOptions struct {
RuleType string `json:",omitempty" xml:",attr"`
Name string `json:",omitempty" xml:",attr"`
Type string `json:",omitempty" xml:",attr"`
AnalyticsModule string `json:",omitempty" xml:",attr"`
IntRange *IntRange `json:",omitempty"`
StringItems *StringItems `json:",omitempty"`
}
type IntRange struct {
Min int
Max int
}
type StringItems struct {
Item []string
}
// ModifyAnalyticsModules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.ModifyAnalyticsModules
type ModifyAnalyticsModules struct {
XMLName string `xml:"tan:ModifyAnalyticsModules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
AnalyticsModule []onvif.ConfigRequest `xml:"tan:AnalyticsModule"`
}
type ModifyAnalyticsModulesResponse struct{}
// GetSupportedRules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetSupportedRules
type GetSupportedRules struct {
XMLName string `xml:"tan:GetSupportedRules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetSupportedRulesResponse struct {
SupportedRules SupportedRules
}
type SupportedRules struct {
Limit *xsd.Int `json:",omitempty"`
RuleContentSchemaLocation *xsd.String `json:",omitempty"`
RuleDescription []RuleDescription
}
type RuleDescription struct {
Name *xsd.String `json:",omitempty" xml:",attr"`
Fixed *xsd.Boolean `json:",omitempty" xml:"fixed,attr"`
MaxInstances *xsd.Int `json:",omitempty" xml:"maxInstances,attr"`
Parameters Parameters
Messages Messages `json:",omitempty"`
}
// GetRules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetRules
type GetRules struct {
XMLName string `xml:"tan:GetRules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetRulesResponse struct {
Rule []onvif.Config
}
// CreateRules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.CreateRules
type CreateRules struct {
XMLName string `xml:"tan:CreateRules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
Rule []onvif.ConfigRequest `xml:"tan:Rule"`
}
type ItemListExtension xsd.AnyType
type CreateRulesResponse struct{}
// DeleteRules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.DeleteRules
type DeleteRules struct {
XMLName string `xml:"tan:DeleteRules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
RuleName []xsd.String `xml:"tan:RuleName"`
}
type DeleteRulesResponse struct{}
// GetRuleOptions and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetRuleOptions
type GetRuleOptions struct {
XMLName string `xml:"tan:GetRuleOptions"`
RuleType xsd.QName `xml:"tan:RuleType"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
}
type GetRuleOptionsResponse struct {
RuleOptions []RuleOptions
}
type RuleOptions struct {
RuleType *xsd.String `json:",omitempty"`
Name *xsd.String `json:",omitempty" xml:",attr"`
Type *xsd.String `json:",omitempty" xml:",attr"`
MinOccurs *xsd.String `json:",omitempty" xml:"minOccurs,attr"`
MaxOccurs *xsd.String `json:",omitempty" xml:"maxOccurs,attr"`
AnalyticsModule *xsd.String `json:",omitempty"`
IntRange *IntRange `json:",omitempty"`
StringItems *StringItems `json:",omitempty"`
PolygonOptions *PolygonOptions `json:",omitempty"`
MotionRegionConfigOptions *MotionRegionConfigOptions `json:",omitempty"`
StringList *xsd.String `json:",omitempty"`
}
type PolygonOptions struct {
VertexLimits VertexLimits
}
type VertexLimits struct {
Min int
Max int
}
type MotionRegionConfigOptions struct {
DisarmSupport bool
PolygonSupport bool
PolygonLimits VertexLimits
}
// ModifyRules and its properties are defined in the Onvif specification:
// https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.ModifyRules
type ModifyRules struct {
XMLName string `xml:"tan:ModifyRules"`
ConfigurationToken onvif.ReferenceToken `xml:"tan:ConfigurationToken"`
Rule []onvif.ConfigRequest `xml:"tan:Rule"`
}
type ModifyRulesResponse struct{}
type GetServiceCapabilities struct {
XMLName string `xml:"tan:GetServiceCapabilities"`
}