2 Star 1 Fork 0

蔡雨生/go-onvif

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
onvif.go 49.74 KB
一键复制 编辑 原始数据 按行查看 历史
蔡雨生 提交于 2023-07-03 16:30 . 效果流
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872
package onvif
import (
"gitee.com/cai-yusheng/go-onvif/xsd"
)
// BUG(r): Enum types implemented as simple string
//TODO: enumerations
//TODO: type <typeName> struct {Any string} convert to type <typeName> AnyType
//TODO: process restrictions
//todo посмотреть все Extensions (Any string)
//todo что делать с xs:any = Any
//todo IntList и ему подобные. Проверить нужен ли слайс. Изменить на slice
//todo посмотреть можно ли заменить StreamType и ему подобные типы на вмтроенные типы
//todo оттестировать тип VideoSourceMode из-за Description-а
//todo в документации описать, что Capabilities повторяеся у каждого сервиса, поэтому у каждого свой Capabilities (MediaCapabilities)
//todo AuxiliaryData и другие simpleTypes, как реализовать рестрикшн
//todo Name и ему подобные необходимо изучить на наличие "List of..." ошибок
//todo Add in buit in
type ContentType string // minLength value="3"
type DNSName xsd.Token
type DeviceEntity struct {
Token ReferenceToken `xml:"token,attr"`
}
type ReferenceToken xsd.String
type Name xsd.String
type IntRectangle struct {
X int `xml:"x,attr"`
Y int `xml:"y,attr"`
Width int `xml:"width,attr"`
Height int `xml:"height,attr"`
}
type IntRectangleRange struct {
XRange IntRange
YRange IntRange
WidthRange IntRange
HeightRange IntRange
}
type IntRange struct {
Min int
Max int
}
type FloatRange struct {
Min float64 `xml:"Min"`
Max float64 `xml:"Max"`
}
type OSDConfiguration struct {
DeviceEntity `xml:"token,attr"`
VideoSourceConfigurationToken OSDReference `xml:"VideoSourceConfigurationToken"`
Type OSDType `xml:"Type"`
Position OSDPosConfiguration `xml:"Position"`
TextString OSDTextConfiguration `xml:"TextString"`
Image OSDImgConfiguration `xml:"Image"`
Extension OSDConfigurationExtension `xml:"Extension"`
}
type OSDType xsd.String
type OSDPosConfiguration struct {
Type string `xml:"Type"`
Pos Vector `xml:"Pos"`
Extension OSDPosConfigurationExtension `xml:"Extension"`
}
type Vector struct {
X float64 `xml:"x,attr"`
Y float64 `xml:"y,attr"`
}
type OSDPosConfigurationExtension xsd.AnyType
type OSDReference ReferenceToken
type OSDTextConfiguration struct {
IsPersistentText xsd.Boolean `xml:"IsPersistentText,attr"`
Type xsd.String `xml:"Type"`
DateFormat xsd.String `xml:"DateFormat"`
TimeFormat xsd.String `xml:"TimeFormat"`
FontSize xsd.Int `xml:"FontSize"`
FontColor OSDColor `xml:"FontColor"`
BackgroundColor OSDColor `xml:"BackgroundColor"`
PlainText xsd.String `xml:"PlainText"`
Extension OSDTextConfigurationExtension `xml:"Extension"`
}
type OSDColor struct {
Transparent int `xml:"Transparent,attr"`
Color Color `xml:"Color"`
}
type Color struct {
X float64 `xml:"X,attr"`
Y float64 `xml:"Y,attr"`
Z float64 `xml:"Z,attr"`
Colorspace xsd.AnyURI `xml:"Colorspace,attr"`
}
type OSDTextConfigurationExtension xsd.AnyType
type OSDImgConfiguration struct {
ImgPath xsd.AnyURI `xml:"ImgPath"`
Extension OSDImgConfigurationExtension `xml:"Extension"`
}
type OSDImgConfigurationExtension xsd.AnyType
type OSDConfigurationExtension xsd.AnyType
type VideoSource struct {
DeviceEntity
Framerate float64
Resolution VideoResolution
Imaging ImagingSettings
Extension VideoSourceExtension
}
type VideoResolution struct {
Width xsd.Int `xml:"Width"`
Height xsd.Int `xml:"Height"`
}
type ImagingSettings struct {
BacklightCompensation BacklightCompensation
Brightness float64
ColorSaturation float64
Contrast float64
Exposure Exposure
Focus FocusConfiguration
IrCutFilter IrCutFilterMode
Sharpness float64
WideDynamicRange WideDynamicRange
WhiteBalance WhiteBalance
Extension ImagingSettingsExtension
}
type BacklightCompensation struct {
Mode BacklightCompensationMode
Level float64
}
type BacklightCompensationMode xsd.String
type Exposure struct {
Mode ExposureMode
Priority ExposurePriority
Window Rectangle
MinExposureTime float64
MaxExposureTime float64
MinGain float64
MaxGain float64
MinIris float64
MaxIris float64
ExposureTime float64
Gain float64
Iris float64
}
type ExposureMode xsd.String
type ExposurePriority xsd.String
type Rectangle struct {
Bottom float64 `xml:"bottom,attr"`
Top float64 `xml:"top,attr"`
Right float64 `xml:"right,attr"`
Left float64 `xml:"left,attr"`
}
type FocusConfiguration struct {
AutoFocusMode AutoFocusMode
DefaultSpeed float64
NearLimit float64
FarLimit float64
}
type AutoFocusMode xsd.String
type IrCutFilterMode xsd.String
type WideDynamicRange struct {
Mode WideDynamicMode `xml:"Mode"`
Level float64 `xml:"Level"`
}
type WideDynamicMode xsd.String
type WhiteBalance struct {
Mode WhiteBalanceMode
CrGain float64
CbGain float64
}
type WhiteBalanceMode xsd.String
type ImagingSettingsExtension xsd.AnyType
type VideoSourceExtension struct {
Imaging ImagingSettings20
Extension VideoSourceExtension2
}
type ImagingSettings20 struct {
BacklightCompensation BacklightCompensation20 `xml:"BacklightCompensation"`
Brightness float64 `xml:"Brightness"`
ColorSaturation float64 `xml:"ColorSaturation"`
Contrast float64 `xml:"Contrast"`
Exposure Exposure20 `xml:"Exposure"`
Focus FocusConfiguration20 `xml:"Focus"`
IrCutFilter IrCutFilterMode `xml:"IrCutFilter"`
Sharpness float64 `xml:"Sharpness"`
WideDynamicRange WideDynamicRange20 `xml:"WideDynamicRange"`
WhiteBalance WhiteBalance20 `xml:"WhiteBalance"`
Extension ImagingSettingsExtension20 `xml:"Extension"`
}
type BacklightCompensation20 struct {
Mode BacklightCompensationMode `xml:"Mode"`
Level float64 `xml:"Level"`
}
type Exposure20 struct {
Mode ExposureMode `xml:"Mode"`
Priority ExposurePriority `xml:"Priority"`
Window Rectangle `xml:"Window"`
MinExposureTime float64 `xml:"MinExposureTime"`
MaxExposureTime float64 `xml:"MaxExposureTime"`
MinGain float64 `xml:"MinGain"`
MaxGain float64 `xml:"MaxGain"`
MinIris float64 `xml:"MinIris"`
MaxIris float64 `xml:"MaxIris"`
ExposureTime float64 `xml:"ExposureTime"`
Gain float64 `xml:"Gain"`
Iris float64 `xml:"Iris"`
}
type FocusConfiguration20 struct {
AutoFocusMode AutoFocusMode `xml:"AutoFocusMode"`
DefaultSpeed float64 `xml:"DefaultSpeed"`
NearLimit float64 `xml:"NearLimit"`
FarLimit float64 `xml:"FarLimit"`
Extension FocusConfiguration20Extension `xml:"Extension"`
}
type FocusConfiguration20Extension xsd.AnyType
type WideDynamicRange20 struct {
Mode WideDynamicMode `xml:"Mode"`
Level float64 `xml:"Level"`
}
type WhiteBalance20 struct {
Mode WhiteBalanceMode `xml:"Mode"`
CrGain float64 `xml:"CrGain"`
CbGain float64 `xml:"CbGain"`
Extension WhiteBalance20Extension `xml:"Extension"`
}
type WhiteBalance20Extension xsd.AnyType
type ImagingSettingsExtension20 struct {
ImageStabilization ImageStabilization `xml:"ImageStabilization"`
Extension ImagingSettingsExtension202 `xml:"Extension"`
}
type ImageStabilization struct {
Mode ImageStabilizationMode `xml:"Mode"`
Level float64 `xml:"Level"`
Extension ImageStabilizationExtension `xml:"Extension"`
}
type ImageStabilizationMode xsd.String
type ImageStabilizationExtension xsd.AnyType
type ImagingSettingsExtension202 struct {
IrCutFilterAutoAdjustment IrCutFilterAutoAdjustment `xml:"IrCutFilterAutoAdjustment"`
Extension ImagingSettingsExtension203 `xml:"Extension"`
}
type IrCutFilterAutoAdjustment struct {
BoundaryType string `xml:"BoundaryType"`
BoundaryOffset float64 `xml:"BoundaryOffset"`
ResponseTime xsd.Duration `xml:"ResponseTime"`
Extension IrCutFilterAutoAdjustmentExtension `xml:"Extension"`
}
type IrCutFilterAutoAdjustmentExtension xsd.AnyType
type ImagingSettingsExtension203 struct {
ToneCompensation ToneCompensation `xml:"ToneCompensation"`
Defogging Defogging `xml:"Defogging"`
NoiseReduction NoiseReduction `xml:"NoiseReduction"`
Extension ImagingSettingsExtension204 `xml:"Extension"`
}
type ToneCompensation struct {
Mode string `xml:"Mode"`
Level float64 `xml:"Level"`
Extension ToneCompensationExtension `xml:"Extension"`
}
type ToneCompensationExtension xsd.AnyType
type Defogging struct {
Mode string
Level float64
Extension DefoggingExtension
}
type DefoggingExtension xsd.AnyType
type NoiseReduction struct {
Level float64 `xml:"Level"`
}
type ImagingSettingsExtension204 xsd.AnyType
type VideoSourceExtension2 xsd.AnyType
type AudioSource struct {
DeviceEntity
Channels int
}
type AudioOutput struct {
DeviceEntity
}
type Profile struct {
Token ReferenceToken `xml:"token,attr"`
Fixed bool `xml:"fixed,attr"`
Name Name
VideoSourceConfiguration VideoSourceConfiguration
AudioSourceConfiguration AudioSourceConfiguration
VideoEncoderConfiguration VideoEncoderConfiguration
AudioEncoderConfiguration AudioEncoderConfiguration
VideoAnalyticsConfiguration VideoAnalyticsConfiguration
PTZConfiguration PTZConfiguration
MetadataConfiguration MetadataConfiguration
Extension ProfileExtension
}
type VideoSourceConfiguration struct {
ConfigurationEntity
ViewMode string `xml:"ViewMode,attr"`
SourceToken ReferenceToken `xml:"SourceToken"`
Bounds IntRectangle `xml:"Bounds"`
Extension VideoSourceConfigurationExtension `xml:"Extension"`
}
type ConfigurationEntity struct {
Token ReferenceToken `xml:"token,attr"`
Name Name `xml:"Name"`
UseCount int `xml:"UseCount"`
}
type VideoSourceConfigurationExtension struct {
Rotate Rotate `xml:"Rotate"`
Extension VideoSourceConfigurationExtension2 `xml:"Extension"`
}
type Rotate struct {
Mode RotateMode `xml:"Mode"`
Degree xsd.Int `xml:"Degree"`
Extension RotateExtension `xml:"Extension"`
}
type RotateMode xsd.String
type RotateExtension xsd.AnyType
type VideoSourceConfigurationExtension2 struct {
LensDescription LensDescription `xml:"LensDescription"`
SceneOrientation SceneOrientation `xml:"SceneOrientation"`
}
type LensDescription struct {
FocalLength float64 `xml:"FocalLength,attr"`
Offset LensOffset `xml:"Offset"`
Projection LensProjection `xml:"Projection"`
XFactor float64 `xml:"XFactor"`
}
type LensOffset struct {
X float64 `xml:"x,attr"`
Y float64 `xml:"y,attr"`
}
type LensProjection struct {
Angle float64 `xml:"Angle"`
Radius float64 `xml:"Radius"`
Transmittance float64 `xml:"Transmittance"`
}
type SceneOrientation struct {
Mode SceneOrientationMode `xml:"Mode"`
Orientation xsd.String `xml:"Orientation"`
}
type SceneOrientationMode xsd.String
type AudioSourceConfiguration struct {
ConfigurationEntity
SourceToken ReferenceToken `xml:"SourceToken"`
}
type VideoEncoderConfiguration struct {
ConfigurationEntity
Encoding VideoEncoding `xml:"Encoding"`
Resolution VideoResolution `xml:"Resolution"`
Quality float64 `xml:"Quality"`
RateControl VideoRateControl `xml:"RateControl"`
MPEG4 Mpeg4Configuration `xml:"MPEG4"`
H264 H264Configuration `xml:"H264"`
Multicast MulticastConfiguration `xml:"Multicast"`
SessionTimeout xsd.Duration `xml:"SessionTimeout"`
}
type VideoEncoding xsd.String
type VideoRateControl struct {
FrameRateLimit xsd.Int `xml:"FrameRateLimit"`
EncodingInterval xsd.Int `xml:"EncodingInterval"`
BitrateLimit xsd.Int `xml:"BitrateLimit"`
}
type Mpeg4Configuration struct {
GovLength xsd.Int `xml:"GovLength"`
Mpeg4Profile Mpeg4Profile `xml:"Mpeg4Profile"`
}
type Mpeg4Profile xsd.String
type H264Configuration struct {
GovLength xsd.Int `xml:"GovLength"`
H264Profile H264Profile `xml:"H264Profile"`
}
type H264Profile xsd.String
type MulticastConfiguration struct {
Address IPAddress `xml:"Address"`
Port int `xml:"Port"`
TTL int `xml:"TTL"`
AutoStart xsd.Boolean `xml:"AutoStart"`
}
type IPAddress struct {
Type IPType `xml:"Type"`
IPv4Address IPv4Address `xml:"IPv4Address"`
IPv6Address IPv6Address `xml:"IPv6Address"`
}
type IPType xsd.String
//IPv4 address
type IPv4Address xsd.Token
//IPv6 address
type IPv6Address xsd.Token
type AudioEncoderConfiguration struct {
ConfigurationEntity
Encoding AudioEncoding `xml:"Encoding"`
Bitrate int `xml:"Bitrate"`
SampleRate int `xml:"SampleRate"`
Multicast MulticastConfiguration `xml:"Multicast"`
SessionTimeout xsd.Duration `xml:"SessionTimeout"`
}
type AudioEncoding xsd.String
type VideoAnalyticsConfiguration struct {
ConfigurationEntity
AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"AnalyticsEngineConfiguration"`
RuleEngineConfiguration RuleEngineConfiguration `xml:"RuleEngineConfiguration"`
}
type AnalyticsEngineConfiguration struct {
AnalyticsModule Config `xml:"AnalyticsModule"`
Extension AnalyticsEngineConfigurationExtension `xml:"Extension"`
}
type Config struct {
Name string `xml:"Name,attr"`
Type xsd.QName `xml:"Type,attr"`
Parameters ItemList `xml:"Parameters"`
}
type ItemList struct {
SimpleItem SimpleItem `xml:"SimpleItem"`
ElementItem ElementItem `xml:"ElementItem"`
Extension ItemListExtension `xml:"Extension"`
}
type SimpleItem struct {
Name string `xml:"Name,attr"`
Value xsd.AnySimpleType `xml:"Value,attr"`
}
type ElementItem struct {
Name string `xml:"Name,attr"`
}
type ItemListExtension xsd.AnyType
type AnalyticsEngineConfigurationExtension xsd.AnyType
type RuleEngineConfiguration struct {
Rule Config `xml:"Rule"`
Extension RuleEngineConfigurationExtension `xml:"Extension"`
}
type RuleEngineConfigurationExtension xsd.AnyType
type PTZConfiguration struct {
ConfigurationEntity
MoveRamp int `xml:"MoveRamp,attr"`
PresetRamp int `xml:"PresetRamp,attr"`
PresetTourRamp int `xml:"PresetTourRamp,attr"`
NodeToken ReferenceToken `xml:"NodeToken"`
DefaultAbsolutePantTiltPositionSpace xsd.AnyURI `xml:"DefaultAbsolutePantTiltPositionSpace"`
DefaultAbsoluteZoomPositionSpace xsd.AnyURI `xml:"DefaultAbsoluteZoomPositionSpace"`
DefaultRelativePanTiltTranslationSpace xsd.AnyURI `xml:"DefaultRelativePanTiltTranslationSpace"`
DefaultRelativeZoomTranslationSpace xsd.AnyURI `xml:"DefaultRelativeZoomTranslationSpace"`
DefaultContinuousPanTiltVelocitySpace xsd.AnyURI `xml:"DefaultContinuousPanTiltVelocitySpace"`
DefaultContinuousZoomVelocitySpace xsd.AnyURI `xml:"DefaultContinuousZoomVelocitySpace"`
DefaultPTZSpeed PTZSpeed `xml:"DefaultPTZSpeed"`
DefaultPTZTimeout xsd.Duration `xml:"DefaultPTZTimeout"`
PanTiltLimits PanTiltLimits `xml:"PanTiltLimits"`
ZoomLimits ZoomLimits `xml:"ZoomLimits"`
Extension PTZConfigurationExtension `xml:"Extension"`
}
type PTZSpeed struct {
PanTilt Vector2D `xml:"PanTilt"`
Zoom Vector1D `xml:"Zoom"`
}
type Vector2D struct {
X float64 `xml:"x,attr"`
Y float64 `xml:"y,attr"`
Space xsd.AnyURI `xml:"space,attr"`
}
type Vector1D struct {
X float64 `xml:"x,attr"`
Space xsd.AnyURI `xml:"space,attr"`
}
type PanTiltLimits struct {
Range Space2DDescription `xml:"Range"`
}
type Space2DDescription struct {
URI xsd.AnyURI `xml:"URI"`
XRange FloatRange `xml:"XRange"`
YRange FloatRange `xml:"YRange"`
}
type ZoomLimits struct {
Range Space1DDescription `xml:"Range"`
}
type Space1DDescription struct {
URI xsd.AnyURI `xml:"URI"`
XRange FloatRange `xml:"XRange"`
}
type PTZConfigurationExtension struct {
PTControlDirection PTControlDirection `xml:"PTControlDirection"`
Extension PTZConfigurationExtension2 `xml:"Extension"`
}
type PTControlDirection struct {
EFlip EFlip `xml:"EFlip"`
Reverse Reverse `xml:"Reverse"`
Extension PTControlDirectionExtension `xml:"Extension"`
}
type EFlip struct {
Mode EFlipMode `xml:"Mode"`
}
type EFlipMode xsd.String
type Reverse struct {
Mode ReverseMode `xml:"Mode"`
}
type ReverseMode xsd.String
type PTControlDirectionExtension xsd.AnyType
type PTZConfigurationExtension2 xsd.AnyType
type MetadataConfiguration struct {
ConfigurationEntity
CompressionType string `xml:"CompressionType,attr"`
PTZStatus PTZFilter `xml:"PTZStatus"`
Events EventSubscription `xml:"Events"`
Analytics xsd.Boolean `xml:"Analytics"`
Multicast MulticastConfiguration `xml:"Multicast"`
SessionTimeout xsd.Duration `xml:"SessionTimeout"`
AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"AnalyticsEngineConfiguration"`
Extension MetadataConfigurationExtension `xml:"Extension"`
}
type PTZFilter struct {
Status bool `xml:"Status"`
Position bool `xml:"Position"`
}
type EventSubscription struct {
Filter FilterType `xml:"Filter"`
SubscriptionPolicy `xml:"SubscriptionPolicy"`
}
type FilterType xsd.AnyType
type SubscriptionPolicy xsd.AnyType
type MetadataConfigurationExtension xsd.AnyType
type ProfileExtension struct {
AudioOutputConfiguration AudioOutputConfiguration
AudioDecoderConfiguration AudioDecoderConfiguration
Extension ProfileExtension2
}
type AudioOutputConfiguration struct {
ConfigurationEntity
OutputToken ReferenceToken `xml:"OutputToken"`
SendPrimacy xsd.AnyURI `xml:"SendPrimacy"`
OutputLevel int `xml:"OutputLevel"`
}
type AudioDecoderConfiguration struct {
ConfigurationEntity
}
type ProfileExtension2 xsd.AnyType
type VideoSourceConfigurationOptions struct {
MaximumNumberOfProfiles int `xml:"MaximumNumberOfProfiles,attr"`
BoundsRange IntRectangleRange
VideoSourceTokensAvailable ReferenceToken
Extension VideoSourceConfigurationOptionsExtension
}
type VideoSourceConfigurationOptionsExtension struct {
Rotate RotateOptions
Extension VideoSourceConfigurationOptionsExtension2
}
type RotateOptions struct {
Mode RotateMode
DegreeList IntList
Extension RotateOptionsExtension
}
type IntList struct {
Items []int
}
type RotateOptionsExtension xsd.AnyType
type VideoSourceConfigurationOptionsExtension2 struct {
SceneOrientationMode SceneOrientationMode
}
type VideoEncoderConfigurationOptions struct {
QualityRange IntRange
JPEG JpegOptions
MPEG4 Mpeg4Options
H264 H264Options
Extension VideoEncoderOptionsExtension
}
type JpegOptions struct {
ResolutionsAvailable VideoResolution
FrameRateRange IntRange
EncodingIntervalRange IntRange
}
type Mpeg4Options struct {
ResolutionsAvailable VideoResolution
GovLengthRange IntRange
FrameRateRange IntRange
EncodingIntervalRange IntRange
Mpeg4ProfilesSupported Mpeg4Profile
}
type H264Options struct {
ResolutionsAvailable VideoResolution
GovLengthRange IntRange
FrameRateRange IntRange
EncodingIntervalRange IntRange
H264ProfilesSupported H264Profile
}
type VideoEncoderOptionsExtension struct {
JPEG JpegOptions2
MPEG4 Mpeg4Options2
H264 H264Options2
Extension VideoEncoderOptionsExtension2
}
type JpegOptions2 struct {
JpegOptions
BitrateRange IntRange
}
type Mpeg4Options2 struct {
Mpeg4Options
BitrateRange IntRange
}
type H264Options2 struct {
H264Options
BitrateRange IntRange
}
type VideoEncoderOptionsExtension2 xsd.AnyType
type AudioSourceConfigurationOptions struct {
InputTokensAvailable ReferenceToken
Extension AudioSourceOptionsExtension
}
type AudioSourceOptionsExtension xsd.AnyType
type AudioEncoderConfigurationOptions struct {
Options AudioEncoderConfigurationOption
}
type AudioEncoderConfigurationOption struct {
Encoding AudioEncoding
BitrateList IntList
SampleRateList IntList
}
type MetadataConfigurationOptions struct {
PTZStatusFilterOptions PTZStatusFilterOptions
Extension MetadataConfigurationOptionsExtension
}
type PTZStatusFilterOptions struct {
PanTiltStatusSupported bool
ZoomStatusSupported bool
PanTiltPositionSupported bool
ZoomPositionSupported bool
Extension PTZStatusFilterOptionsExtension
}
type PTZStatusFilterOptionsExtension xsd.AnyType
type MetadataConfigurationOptionsExtension struct {
CompressionType string
Extension MetadataConfigurationOptionsExtension2
}
type MetadataConfigurationOptionsExtension2 xsd.AnyType
type AudioOutputConfigurationOptions struct {
OutputTokensAvailable ReferenceToken
SendPrimacyOptions xsd.AnyURI
OutputLevelRange IntRange
}
type AudioDecoderConfigurationOptions struct {
AACDecOptions AACDecOptions
G711DecOptions G711DecOptions
G726DecOptions G726DecOptions
Extension AudioDecoderConfigurationOptionsExtension
}
type AACDecOptions struct {
Bitrate IntList
SampleRateRange IntList
}
type G711DecOptions struct {
Bitrate IntList
SampleRateRange IntList
}
type G726DecOptions struct {
Bitrate IntList
SampleRateRange IntList
}
type AudioDecoderConfigurationOptionsExtension xsd.AnyType
type StreamSetup struct {
Stream StreamType `xml:"Stream"`
Transport Transport `xml:"Transport"`
}
type StreamType xsd.String
type Transport struct {
Protocol TransportProtocol `xml:"Protocol"`
Tunnel *Transport `xml:"Tunnel"`
}
//enum
type TransportProtocol xsd.String
type MediaUri struct {
Uri xsd.AnyURI
InvalidAfterConnect bool
InvalidAfterReboot bool
Timeout xsd.Duration
}
type VideoSourceMode struct {
Token ReferenceToken `xml:"token,attr"`
Enabled bool `xml:"Enabled,attr"`
MaxFramerate float64
MaxResolution VideoResolution
Encodings EncodingTypes
Reboot bool
Description Description
Extension VideoSourceModeExtension
}
type EncodingTypes struct {
EncodingTypes []string
}
type Description struct {
Description string
}
type VideoSourceModeExtension xsd.AnyType
type OSDConfigurationOptions struct {
MaximumNumberOfOSDs MaximumNumberOfOSDs
Type OSDType
PositionOption string
TextOption OSDTextOptions
ImageOption OSDImgOptions
Extension OSDConfigurationOptionsExtension
}
type MaximumNumberOfOSDs struct {
Total int `xml:"Total,attr"`
Image int `xml:"Image,attr"`
PlainText int `xml:"PlainText,attr"`
Date int `xml:"Date,attr"`
Time int `xml:"Time,attr"`
DateAndTime int `xml:"DateAndTime,attr"`
}
type OSDTextOptions struct {
Type string
FontSizeRange IntRange
DateFormat string
TimeFormat string
FontColor OSDColorOptions
BackgroundColor OSDColorOptions
Extension OSDTextOptionsExtension
}
type OSDColorOptions struct {
Color ColorOptions
Transparent IntRange
Extension OSDColorOptionsExtension
}
type ColorOptions struct {
ColorList Color
ColorspaceRange ColorspaceRange
}
type ColorspaceRange struct {
X FloatRange
Y FloatRange
Z FloatRange
Colorspace xsd.AnyURI
}
type OSDColorOptionsExtension xsd.AnyType
type OSDTextOptionsExtension xsd.AnyType
type OSDImgOptions struct {
FormatsSupported StringAttrList `xml:"FormatsSupported,attr"`
MaxSize int `xml:"MaxSize,attr"`
MaxWidth int `xml:"MaxWidth,attr"`
MaxHeight int `xml:"MaxHeight,attr"`
ImagePath xsd.AnyURI
Extension OSDImgOptionsExtension
}
type StringAttrList struct {
AttrList []string
}
type OSDImgOptionsExtension xsd.AnyType
type OSDConfigurationOptionsExtension xsd.AnyType
//PTZ
type PTZNode struct {
DeviceEntity
FixedHomePosition xsd.Boolean `xml:"FixedHomePosition,attr"`
GeoMove xsd.Boolean `xml:"GeoMove,attr"`
Name Name
SupportedPTZSpaces PTZSpaces
MaximumNumberOfPresets int
HomeSupported xsd.Boolean
AuxiliaryCommands AuxiliaryData
Extension PTZNodeExtension
}
type PTZSpaces struct {
AbsolutePanTiltPositionSpace Space2DDescription
AbsoluteZoomPositionSpace Space1DDescription
RelativePanTiltTranslationSpace Space2DDescription
RelativeZoomTranslationSpace Space1DDescription
ContinuousPanTiltVelocitySpace Space2DDescription
ContinuousZoomVelocitySpace Space1DDescription
PanTiltSpeedSpace Space1DDescription
ZoomSpeedSpace Space1DDescription
Extension PTZSpacesExtension
}
type PTZSpacesExtension xsd.AnyType
//TODO: restriction
type AuxiliaryData xsd.String
type PTZNodeExtension struct {
SupportedPresetTour PTZPresetTourSupported
Extension PTZNodeExtension2
}
type PTZPresetTourSupported struct {
MaximumNumberOfPresetTours int
PTZPresetTourOperation PTZPresetTourOperation
Extension PTZPresetTourSupportedExtension
}
type PTZPresetTourOperation xsd.String
type PTZPresetTourSupportedExtension xsd.AnyType
type PTZNodeExtension2 xsd.AnyType
type PTZConfigurationOptions struct {
PTZRamps IntAttrList `xml:"PTZRamps,attr"`
Spaces PTZSpaces
PTZTimeout DurationRange
PTControlDirection PTControlDirectionOptions
Extension PTZConfigurationOptions2
}
type IntAttrList struct {
IntAttrList []int
}
type DurationRange struct {
Min xsd.Duration
Max xsd.Duration
}
type PTControlDirectionOptions struct {
EFlip EFlipOptions
Reverse ReverseOptions
Extension PTControlDirectionOptionsExtension
}
type EFlipOptions struct {
Mode EFlipMode
Extension EFlipOptionsExtension
}
type EFlipOptionsExtension xsd.AnyType
type ReverseOptions struct {
Mode ReverseMode
Extension ReverseOptionsExtension
}
type ReverseOptionsExtension xsd.AnyType
type PTControlDirectionOptionsExtension xsd.AnyType
type PTZConfigurationOptions2 xsd.AnyType
type PTZPreset struct {
Token ReferenceToken `xml:"token,attr"`
Name Name
PTZPosition PTZVector
}
type PTZVector struct {
PanTilt Vector2D `xml:"PanTilt"`
Zoom Vector1D `xml:"Zoom"`
}
type PTZStatus struct {
Position PTZVector
MoveStatus PTZMoveStatus
Error string
UtcTime xsd.DateTime
}
type PTZMoveStatus struct {
PanTilt MoveStatus
Zoom MoveStatus
}
type MoveStatus struct {
Status string
}
type GeoLocation struct {
Lon xsd.Double `xml:"lon,attr"`
Lat xsd.Double `xml:"lat,attr"`
Elevation xsd.Float `xml:"elevation,attr"`
}
type PresetTour struct {
Token ReferenceToken `xml:"token,attr"`
Name Name `xml:"tt:Name"`
Status PTZPresetTourStatus `xml:"tt:Status"`
AutoStart xsd.Boolean `xml:"tt:AutoStart"`
StartingCondition PTZPresetTourStartingCondition `xml:"tt:StartingCondition"`
TourSpot []PTZPresetTourSpot `xml:"TourSpot"`
Extension PTZPresetTourExtension `xml:"tt:Extension"`
}
type PTZPresetTourStatus struct {
State PTZPresetTourState `xml:"State"`
CurrentTourSpot PTZPresetTourSpot `xml:"CurrentTourSpot"`
Extension PTZPresetTourStatusExtension `xml:"Extension"`
}
type PTZPresetTourState xsd.String
type PTZPresetTourSpot struct {
PresetDetail PTZPresetTourPresetDetail `xml:"tt:PresetDetail"`
Speed PTZSpeed `xml:"tt:Speed"`
StayTime xsd.Duration `xml:"tt:StayTime"`
Extension PTZPresetTourSpotExtension `xml:"tt:Extension"`
}
type PTZPresetTourPresetDetail struct {
PresetToken ReferenceToken `xml:"tt:PresetToken"`
Home xsd.Boolean `xml:"tt:Home"`
PTZPosition PTZVector `xml:"tt:PTZPosition"`
TypeExtension PTZPresetTourTypeExtension `xml:"tt:TypeExtension"`
}
type PTZPresetTourTypeExtension xsd.AnyType
type PTZPresetTourSpotExtension xsd.AnyType
type PTZPresetTourStatusExtension xsd.AnyType
type PTZPresetTourStartingCondition struct {
RandomPresetOrder xsd.Boolean `xml:"RandomPresetOrder,attr"`
RecurringTime xsd.Int `xml:"RecurringTime"`
RecurringDuration xsd.Duration `xml:"RecurringDuration"`
Direction PTZPresetTourDirection `xml:"Direction"`
Extension PTZPresetTourStartingConditionExtension `xml:"Extension"`
}
type PTZPresetTourDirection xsd.String
type PTZPresetTourStartingConditionExtension xsd.AnyType
type PTZPresetTourExtension xsd.AnyType
type PTZPresetTourOptions struct {
AutoStart xsd.Boolean
StartingCondition PTZPresetTourStartingConditionOptions
TourSpot PTZPresetTourSpotOptions
}
type PTZPresetTourStartingConditionOptions struct {
RecurringTime IntRange
RecurringDuration DurationRange
Direction PTZPresetTourDirection
Extension PTZPresetTourStartingConditionOptionsExtension
}
type PTZPresetTourStartingConditionOptionsExtension xsd.AnyType
type PTZPresetTourSpotOptions struct {
PresetDetail PTZPresetTourPresetDetailOptions
StayTime DurationRange
}
type PTZPresetTourPresetDetailOptions struct {
PresetToken ReferenceToken
Home xsd.Boolean
PanTiltPositionSpace Space2DDescription
ZoomPositionSpace Space1DDescription
Extension PTZPresetTourPresetDetailOptionsExtension
}
type PTZPresetTourPresetDetailOptionsExtension xsd.AnyType
//Device
type OnvifVersion struct {
Major int
Minor int
}
type SetDateTimeType xsd.String
type TimeZone struct {
TZ xsd.Token `xml:"TZ"`
}
type SystemDateTime struct {
DateTimeType SetDateTimeType
DaylightSavings xsd.Boolean
TimeZone TimeZone
UTCDateTime xsd.DateTime
LocalDateTime xsd.DateTime
Extension SystemDateTimeExtension
}
type SystemDateTimeExtension xsd.AnyType
type FactoryDefaultType xsd.String
type AttachmentData struct {
ContentType ContentType `xml:"contentType,attr"`
Include Include `xml:"inc:Include"`
}
type Include struct {
Href xsd.AnyURI `xml:"href,attr"`
}
type BackupFile struct {
Name string `xml:"Name"`
Data AttachmentData `xml:"Data"`
}
type SystemLogType xsd.String
type SystemLog struct {
Binary AttachmentData
String string
}
type SupportInformation struct {
Binary AttachmentData
String string
}
type Scope struct {
ScopeDef ScopeDefinition
ScopeItem xsd.AnyURI
}
type ScopeDefinition xsd.String
type DiscoveryMode xsd.String
type NetworkHost struct {
Type NetworkHostType `xml:"Type"`
IPv4Address IPv4Address `xml:"IPv4Address"`
IPv6Address IPv6Address `xml:"IPv6Address"`
DNSname DNSName `xml:"DNSname"`
Extension NetworkHostExtension `xml:"Extension"`
}
type NetworkHostType xsd.String
type NetworkHostExtension xsd.String
type RemoteUser struct {
Username string `xml:"Username"`
Password string `xml:"Password"`
UseDerivedPassword xsd.Boolean `xml:"UseDerivedPassword"`
}
type User struct {
Username string `xml:"Username"`
Password string `xml:"Password"`
UserLevel UserLevel `xml:"UserLevel"`
Extension UserExtension `xml:"Extension"`
}
type UserLevel xsd.String
type UserExtension xsd.String
type CapabilityCategory xsd.String
//Capabilities of device
type Capabilities struct {
Analytics AnalyticsCapabilities
Device DeviceCapabilities
Events EventCapabilities
Imaging ImagingCapabilities
Media MediaCapabilities
PTZ PTZCapabilities
Extension CapabilitiesExtension
}
//AnalyticsCapabilities Check
type AnalyticsCapabilities struct {
XAddr xsd.AnyURI
RuleSupport xsd.Boolean
AnalyticsModuleSupport xsd.Boolean
}
//DeviceCapabilities Check
type DeviceCapabilities struct {
XAddr xsd.AnyURI
Network NetworkCapabilities
System SystemCapabilities
IO IOCapabilities
Security SecurityCapabilities
Extension DeviceCapabilitiesExtension
}
//NetworkCapabilities Check
type NetworkCapabilities struct {
IPFilter xsd.Boolean
ZeroConfiguration xsd.Boolean
IPVersion6 xsd.Boolean
DynDNS xsd.Boolean
Extension NetworkCapabilitiesExtension
}
//NetworkCapabilitiesExtension Check
type NetworkCapabilitiesExtension struct {
Dot11Configuration xsd.Boolean
Extension NetworkCapabilitiesExtension2
}
//NetworkCapabilitiesExtension2 Extension2
type NetworkCapabilitiesExtension2 xsd.AnyType
//SystemCapabilities check
type SystemCapabilities struct {
DiscoveryResolve xsd.Boolean
DiscoveryBye xsd.Boolean
RemoteDiscovery xsd.Boolean
SystemBackup xsd.Boolean
SystemLogging xsd.Boolean
FirmwareUpgrade xsd.Boolean
SupportedVersions OnvifVersion
Extension SystemCapabilitiesExtension
}
type SystemCapabilitiesExtension struct {
HttpFirmwareUpgrade xsd.Boolean
HttpSystemBackup xsd.Boolean
HttpSystemLogging xsd.Boolean
HttpSupportInformation xsd.Boolean
Extension SystemCapabilitiesExtension2
}
type SystemCapabilitiesExtension2 xsd.AnyType
type IOCapabilities struct {
InputConnectors int
RelayOutputs int
Extension IOCapabilitiesExtension
}
type IOCapabilitiesExtension struct {
Auxiliary xsd.Boolean
AuxiliaryCommands AuxiliaryData
Extension IOCapabilitiesExtension2
}
type IOCapabilitiesExtension2 xsd.AnyType
type SecurityCapabilities struct {
TLS1_1 xsd.Boolean
TLS1_2 xsd.Boolean
OnboardKeyGeneration xsd.Boolean
AccessPolicyConfig xsd.Boolean
X_509Token xsd.Boolean
SAMLToken xsd.Boolean
KerberosToken xsd.Boolean
RELToken xsd.Boolean
Extension SecurityCapabilitiesExtension
}
type SecurityCapabilitiesExtension struct {
TLS1_0 xsd.Boolean
Extension SecurityCapabilitiesExtension2
}
type SecurityCapabilitiesExtension2 struct {
Dot1X xsd.Boolean
SupportedEAPMethod int
RemoteUserHandling xsd.Boolean
}
type DeviceCapabilitiesExtension xsd.AnyType
type EventCapabilities struct {
XAddr xsd.AnyURI
WSSubscriptionPolicySupport xsd.Boolean
WSPullPointSupport xsd.Boolean
WSPausableSubscriptionManagerInterfaceSupport xsd.Boolean
}
type ImagingCapabilities struct {
XAddr xsd.AnyURI
}
type MediaCapabilities struct {
XAddr xsd.AnyURI
StreamingCapabilities RealTimeStreamingCapabilities
Extension MediaCapabilitiesExtension
}
type RealTimeStreamingCapabilities struct {
RTPMulticast xsd.Boolean
RTP_TCP xsd.Boolean
RTP_RTSP_TCP xsd.Boolean
Extension RealTimeStreamingCapabilitiesExtension
}
type RealTimeStreamingCapabilitiesExtension xsd.AnyType
type MediaCapabilitiesExtension struct {
ProfileCapabilities ProfileCapabilities
}
type ProfileCapabilities struct {
MaximumNumberOfProfiles int
}
type PTZCapabilities struct {
XAddr xsd.AnyURI
}
type CapabilitiesExtension struct {
DeviceIO DeviceIOCapabilities
Display DisplayCapabilities
Recording RecordingCapabilities
Search SearchCapabilities
Replay ReplayCapabilities
Receiver ReceiverCapabilities
AnalyticsDevice AnalyticsDeviceCapabilities
Extensions CapabilitiesExtension2
}
type DeviceIOCapabilities struct {
XAddr xsd.AnyURI
VideoSources int
VideoOutputs int
AudioSources int
AudioOutputs int
RelayOutputs int
}
type DisplayCapabilities struct {
XAddr xsd.AnyURI
FixedLayout xsd.Boolean
}
type RecordingCapabilities struct {
XAddr xsd.AnyURI
ReceiverSource xsd.Boolean
MediaProfileSource xsd.Boolean
DynamicRecordings xsd.Boolean
DynamicTracks xsd.Boolean
MaxStringLength int
}
type SearchCapabilities struct {
XAddr xsd.AnyURI
MetadataSearch xsd.Boolean
}
type ReplayCapabilities struct {
XAddr xsd.AnyURI
}
type ReceiverCapabilities struct {
XAddr xsd.AnyURI
RTP_Multicast xsd.Boolean
RTP_TCP xsd.Boolean
RTP_RTSP_TCP xsd.Boolean
SupportedReceivers int
MaximumRTSPURILength int
}
type AnalyticsDeviceCapabilities struct {
XAddr xsd.AnyURI
RuleSupport xsd.Boolean
Extension AnalyticsDeviceExtension
}
type AnalyticsDeviceExtension xsd.AnyType
type CapabilitiesExtension2 xsd.AnyType
type HostnameInformation struct {
FromDHCP xsd.Boolean
Name xsd.Token
Extension HostnameInformationExtension
}
type HostnameInformationExtension xsd.AnyType
type DNSInformation struct {
FromDHCP xsd.Boolean
SearchDomain xsd.Token
DNSFromDHCP IPAddress
DNSManual IPAddress
Extension DNSInformationExtension
}
type DNSInformationExtension xsd.AnyType
type NTPInformation struct {
FromDHCP xsd.Boolean
NTPFromDHCP NetworkHost
NTPManual NetworkHost
Extension NTPInformationExtension
}
type NTPInformationExtension xsd.AnyType
type DynamicDNSInformation struct {
Type DynamicDNSType
Name DNSName
TTL xsd.Duration
Extension DynamicDNSInformationExtension
}
//TODO: enumeration
type DynamicDNSType xsd.String
type DynamicDNSInformationExtension xsd.AnyType
type NetworkInterface struct {
DeviceEntity
Enabled xsd.Boolean
Info NetworkInterfaceInfo
Link NetworkInterfaceLink
IPv4 IPv4NetworkInterface
IPv6 IPv6NetworkInterface
Extension NetworkInterfaceExtension
}
type NetworkInterfaceInfo struct {
Name xsd.String
HwAddress HwAddress
MTU xsd.Int
}
type HwAddress xsd.Token
type NetworkInterfaceLink struct {
AdminSettings NetworkInterfaceConnectionSetting
OperSettings NetworkInterfaceConnectionSetting
InterfaceType IANA_IfTypes `xml:"IANA-IfTypes"`
}
type IANA_IfTypes xsd.Int
type NetworkInterfaceConnectionSetting struct {
AutoNegotiation xsd.Boolean `xml:"AutoNegotiation"`
Speed xsd.Int `xml:"Speed"`
Duplex Duplex `xml:"Duplex"`
}
//TODO: enum
type Duplex xsd.String
type NetworkInterfaceExtension struct {
InterfaceType IANA_IfTypes
Dot3 Dot3Configuration
Dot11 Dot11Configuration
Extension NetworkInterfaceExtension2
}
type NetworkInterfaceExtension2 xsd.AnyType
type Dot11Configuration struct {
SSID Dot11SSIDType `xml:"SSID"`
Mode Dot11StationMode `xml:"Mode"`
Alias Name `xml:"Alias"`
Priority NetworkInterfaceConfigPriority `xml:"Priority"`
Security Dot11SecurityConfiguration `xml:"Security"`
}
type Dot11SecurityConfiguration struct {
Mode Dot11SecurityMode `xml:"Mode"`
Algorithm Dot11Cipher `xml:"Algorithm"`
PSK Dot11PSKSet `xml:"PSK"`
Dot1X ReferenceToken `xml:"Dot1X"`
Extension Dot11SecurityConfigurationExtension `xml:"Extension"`
}
type Dot11SecurityConfigurationExtension xsd.AnyType
type Dot11PSKSet struct {
Key Dot11PSK `xml:"Key"`
Passphrase Dot11PSKPassphrase `xml:"Passphrase"`
Extension Dot11PSKSetExtension `xml:"Extension"`
}
type Dot11PSKSetExtension xsd.AnyType
type Dot11PSKPassphrase xsd.String
type Dot11PSK xsd.HexBinary
//TODO: enumeration
type Dot11Cipher xsd.String
//TODO: enumeration
type Dot11SecurityMode xsd.String
//TODO: restrictions
type NetworkInterfaceConfigPriority xsd.Integer
//TODO: enumeration
type Dot11StationMode xsd.String
//TODO: restrictions
type Dot11SSIDType xsd.HexBinary
type Dot3Configuration xsd.String
type IPv6NetworkInterface struct {
Enabled xsd.Boolean
Config IPv6Configuration
}
type IPv6Configuration struct {
AcceptRouterAdvert xsd.Boolean
DHCP IPv6DHCPConfiguration
Manual PrefixedIPv6Address
LinkLocal PrefixedIPv6Address
FromDHCP PrefixedIPv6Address
FromRA PrefixedIPv6Address
Extension IPv6ConfigurationExtension
}
type IPv6ConfigurationExtension xsd.AnyType
type PrefixedIPv6Address struct {
Address IPv6Address `xml:"Address"`
PrefixLength xsd.Int `xml:"PrefixLength"`
}
//TODO: enumeration
type IPv6DHCPConfiguration xsd.String
type IPv4NetworkInterface struct {
Enabled xsd.Boolean
Config IPv4Configuration
}
type IPv4Configuration struct {
Manual PrefixedIPv4Address
LinkLocal PrefixedIPv4Address
FromDHCP PrefixedIPv4Address
DHCP xsd.Boolean
}
//optional, unbounded
type PrefixedIPv4Address struct {
Address IPv4Address `xml:"Address"`
PrefixLength xsd.Int `xml:"PrefixLength"`
}
type NetworkInterfaceSetConfiguration struct {
Enabled xsd.Boolean `xml:"Enabled"`
Link NetworkInterfaceConnectionSetting `xml:"Link"`
MTU xsd.Int `xml:"MTU"`
IPv4 IPv4NetworkInterfaceSetConfiguration `xml:"IPv4"`
IPv6 IPv6NetworkInterfaceSetConfiguration `xml:"IPv6"`
Extension NetworkInterfaceSetConfigurationExtension `xml:"Extension"`
}
type NetworkInterfaceSetConfigurationExtension struct {
Dot3 Dot3Configuration `xml:"Dot3"`
Dot11 Dot11Configuration `xml:"Dot11"`
Extension NetworkInterfaceSetConfigurationExtension2 `xml:"Extension"`
}
type NetworkInterfaceSetConfigurationExtension2 xsd.AnyType
type IPv6NetworkInterfaceSetConfiguration struct {
Enabled xsd.Boolean `xml:"Enabled"`
AcceptRouterAdvert xsd.Boolean `xml:"AcceptRouterAdvert"`
Manual PrefixedIPv6Address `xml:"Manual"`
DHCP IPv6DHCPConfiguration `xml:"DHCP"`
}
type IPv4NetworkInterfaceSetConfiguration struct {
Enabled xsd.Boolean `xml:"Enabled"`
Manual PrefixedIPv4Address `xml:"Manual"`
DHCP xsd.Boolean `xml:"DHCP"`
}
type NetworkProtocol struct {
Name NetworkProtocolType `xml:"Name"`
Enabled xsd.Boolean `xml:"Enabled"`
Port xsd.Int `xml:"Port"`
Extension NetworkProtocolExtension `xml:"Extension"`
}
type NetworkProtocolExtension xsd.AnyType
//TODO: enumeration
type NetworkProtocolType xsd.String
type NetworkGateway struct {
IPv4Address IPv4Address
IPv6Address IPv6Address
}
type NetworkZeroConfiguration struct {
InterfaceToken ReferenceToken
Enabled xsd.Boolean
Addresses IPv4Address
Extension NetworkZeroConfigurationExtension
}
type NetworkZeroConfigurationExtension struct {
Additional *NetworkZeroConfiguration
Extension NetworkZeroConfigurationExtension2
}
type NetworkZeroConfigurationExtension2 xsd.AnyType
type IPAddressFilter struct {
Type IPAddressFilterType `xml:"Type"`
IPv4Address PrefixedIPv4Address `xml:"IPv4Address,omitempty"`
IPv6Address PrefixedIPv6Address `xml:"IPv6Address,omitempty"`
Extension IPAddressFilterExtension `xml:"Extension,omitempty"`
}
type IPAddressFilterExtension xsd.AnyType
//enum { 'Allow', 'Deny' }
//TODO: enumeration
type IPAddressFilterType xsd.String
//TODO: attribite <xs:attribute ref="xmime:contentType" use="optional"/>
type BinaryData struct {
X ContentType `xml:"xmime:contentType,attr"`
Data xsd.Base64Binary `xml:"Data"`
}
type Certificate struct {
CertificateID xsd.Token `xml:"CertificateID"`
Certificate BinaryData `xml:"Certificate"`
}
type CertificateStatus struct {
CertificateID xsd.Token `xml:"CertificateID"`
Status xsd.Boolean `xml:"Status"`
}
type RelayOutput struct {
DeviceEntity
Properties RelayOutputSettings
}
type RelayOutputSettings struct {
Mode RelayMode `xml:"Mode"`
DelayTime xsd.Duration `xml:"DelayTime"`
IdleState RelayIdleState `xml:"IdleState"`
}
//TODO:enumeration
type RelayIdleState xsd.String
//TODO: enumeration
type RelayMode xsd.String
//TODO: enumeration
type RelayLogicalState xsd.String
type CertificateWithPrivateKey struct {
CertificateID xsd.Token `xml:"CertificateID"`
Certificate BinaryData `xml:"Certificate"`
PrivateKey BinaryData `xml:"PrivateKey"`
}
type CertificateInformation struct {
CertificateID xsd.Token
IssuerDN xsd.String
SubjectDN xsd.String
KeyUsage CertificateUsage
ExtendedKeyUsage CertificateUsage
KeyLength xsd.Int
Version xsd.String
SerialNum xsd.String
SignatureAlgorithm xsd.String
Validity DateTimeRange
Extension CertificateInformationExtension
}
type CertificateInformationExtension xsd.AnyType
type DateTimeRange struct {
From xsd.DateTime
Until xsd.DateTime
}
type CertificateUsage struct {
Critical xsd.Boolean `xml:"Critical,attr"`
CertificateUsage xsd.String
}
type Dot1XConfiguration struct {
Dot1XConfigurationToken ReferenceToken `xml:"Dot1XConfigurationToken"`
Identity xsd.String `xml:"Identity"`
AnonymousID xsd.String `xml:"AnonymousID,omitempty"`
EAPMethod xsd.Int `xml:"EAPMethod"`
CACertificateID xsd.Token `xml:"CACertificateID,omitempty"`
EAPMethodConfiguration EAPMethodConfiguration `xml:"EAPMethodConfiguration,omitempty"`
Extension Dot1XConfigurationExtension `xml:"Extension,omitempty"`
}
type Dot1XConfigurationExtension xsd.AnyType
type EAPMethodConfiguration struct {
TLSConfiguration TLSConfiguration `xml:"TLSConfiguration,omitempty"`
Password xsd.String `xml:"Password,omitempty"`
Extension EapMethodExtension `xml:"Extension,omitempty"`
}
type EapMethodExtension xsd.AnyType
type TLSConfiguration struct {
CertificateID xsd.Token `xml:"CertificateID,omitempty"`
}
type Dot11Capabilities struct {
TKIP xsd.Boolean
ScanAvailableNetworks xsd.Boolean
MultipleConfiguration xsd.Boolean
AdHocStationMode xsd.Boolean
WEP xsd.Boolean
}
type Dot11Status struct {
SSID Dot11SSIDType
BSSID xsd.String
PairCipher Dot11Cipher
GroupCipher Dot11Cipher
SignalStrength Dot11SignalStrength
ActiveConfigAlias ReferenceToken
}
//TODO: enumeration
type Dot11SignalStrength xsd.String
type Dot11AvailableNetworks struct {
SSID Dot11SSIDType
BSSID xsd.String
AuthAndMangementSuite Dot11AuthAndMangementSuite
PairCipher Dot11Cipher
GroupCipher Dot11Cipher
SignalStrength Dot11SignalStrength
Extension Dot11AvailableNetworksExtension
}
type Dot11AvailableNetworksExtension xsd.AnyType
//TODO: enumeration
type Dot11AuthAndMangementSuite xsd.String
type SystemLogUriList struct {
SystemLog SystemLogUri
}
type SystemLogUri struct {
Type SystemLogType
Uri xsd.AnyURI
}
type LocationEntity struct {
Entity xsd.String `xml:"Entity,attr"`
Token ReferenceToken `xml:"Token,attr"`
Fixed xsd.Boolean `xml:"Fixed,attr"`
GeoSource xsd.AnyURI `xml:"GeoSource,attr"`
AutoGeo xsd.Boolean `xml:"AutoGeo,attr"`
GeoLocation GeoLocation `xml:"GeoLocation"`
GeoOrientation GeoOrientation `xml:"GeoOrientation"`
LocalLocation LocalLocation `xml:"LocalLocation"`
LocalOrientation LocalOrientation `xml:"LocalOrientation"`
}
type LocalOrientation struct {
Lon xsd.Double `xml:"lon,attr"`
Lat xsd.Double `xml:"lat,attr"`
Elevation xsd.Float `xml:"elevation,attr"`
}
type LocalLocation struct {
X xsd.Float `xml:"x,attr"`
Y xsd.Float `xml:"y,attr"`
Z xsd.Float `xml:"z,attr"`
}
type GeoOrientation struct {
Roll xsd.Float `xml:"roll,attr"`
Pitch xsd.Float `xml:"pitch,attr"`
Yaw xsd.Float `xml:"yaw,attr"`
}
type FocusMove struct {
Absolute AbsoluteFocus `xml:"Absolute"`
Relative RelativeFocus `xml:"Relative"`
Continuous ContinuousFocus `xml:"Continuous"`
}
type ContinuousFocus struct {
Speed xsd.Float `xml:"Speed"`
}
type RelativeFocus struct {
Distance xsd.Float `xml:"Distance"`
Speed xsd.Float `xml:"Speed"`
}
type AbsoluteFocus struct {
Position xsd.Float `xml:"Position"`
Speed xsd.Float `xml:"Speed"`
}
type DateTime struct {
Time Time `xml:"Time"`
Date Date `xml:"Date"`
}
type Time struct {
Hour xsd.Int `xml:"Hour"`
Minute xsd.Int `xml:"Minute"`
Second xsd.Int `xml:"Second"`
}
type Date struct {
Year xsd.Int `xml:"Year"`
Month xsd.Int `xml:"Month"`
Day xsd.Int `xml:"Day"`
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/cai-yusheng/go-onvif.git
git@gitee.com:cai-yusheng/go-onvif.git
cai-yusheng
go-onvif
go-onvif
v0.0.4

搜索帮助