ptz.go 251 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620
  1. package ptz
  2. import (
  3. "context"
  4. "encoding/xml"
  5. "time"
  6. "lc/common/onvif/soap"
  7. )
  8. // against "unused imports"
  9. var _ time.Time
  10. var _ xml.Name
  11. // GetServiceCapabilities type
  12. type GetServiceCapabilities struct {
  13. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetServiceCapabilities"`
  14. }
  15. // GetServiceCapabilitiesResponse type
  16. type GetServiceCapabilitiesResponse struct {
  17. XMLName xml.Name `xml:"GetServiceCapabilitiesResponse"`
  18. // The capabilities for the PTZ service is returned in the Capabilities element.
  19. Capabilities Capabilities `xml:"Capabilities,omitempty"`
  20. }
  21. // GetNodes type
  22. type GetNodes struct {
  23. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNodes"`
  24. }
  25. // GetNodesResponse type
  26. type GetNodesResponse struct {
  27. XMLName xml.Name `xml:"GetNodesResponse"`
  28. // A list of the existing PTZ Nodes on the device.
  29. //
  30. PTZNode []PTZNode `xml:"PTZNode,omitempty"`
  31. }
  32. // GetNode type
  33. type GetNode struct {
  34. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNode"`
  35. // Token of the requested PTZNode.
  36. //
  37. NodeToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl NodeToken,omitempty"`
  38. }
  39. // GetNodeResponse type
  40. type GetNodeResponse struct {
  41. XMLName xml.Name `xml:"GetNodeResponse"`
  42. // A requested PTZNode.
  43. //
  44. PTZNode PTZNode `xml:"PTZNode,omitempty"`
  45. }
  46. // GetConfigurations type
  47. type GetConfigurations struct {
  48. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurations"`
  49. }
  50. // GetConfigurationsResponse type
  51. type GetConfigurationsResponse struct {
  52. XMLName xml.Name `xml:"GetConfigurationsResponse"`
  53. // A list of all existing PTZConfigurations on the device.
  54. //
  55. PTZConfiguration []PTZConfiguration `xml:"PTZConfiguration,omitempty"`
  56. }
  57. // GetConfiguration type
  58. type GetConfiguration struct {
  59. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfiguration"`
  60. // Token of the requested PTZConfiguration.
  61. //
  62. PTZConfigurationToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZConfigurationToken,omitempty"`
  63. }
  64. // GetConfigurationResponse type
  65. type GetConfigurationResponse struct {
  66. XMLName xml.Name `xml:"GetConfigurationResponse"`
  67. // A requested PTZConfiguration.
  68. //
  69. PTZConfiguration PTZConfiguration `xml:"PTZConfiguration,omitempty"`
  70. }
  71. // SetConfiguration type
  72. type SetConfiguration struct {
  73. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetConfiguration"`
  74. PTZConfiguration PTZConfiguration `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZConfiguration,omitempty"`
  75. // Flag that makes configuration persistent. Example: User wants the configuration to exist after reboot.
  76. //
  77. ForcePersistence bool `xml:"http://www.onvif.org/ver20/ptz/wsdl ForcePersistence,omitempty"`
  78. }
  79. // SetConfigurationResponse type
  80. type SetConfigurationResponse struct {
  81. XMLName xml.Name `xml:"SetConfigurationResponse"`
  82. }
  83. // GetConfigurationOptions type
  84. type GetConfigurationOptions struct {
  85. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurationOptions"`
  86. // Token of an existing configuration that the options are intended for.
  87. //
  88. ConfigurationToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ConfigurationToken,omitempty"`
  89. }
  90. // GetConfigurationOptionsResponse type
  91. type GetConfigurationOptionsResponse struct {
  92. XMLName xml.Name `xml:"GetConfigurationOptionsResponse"`
  93. // The requested PTZ configuration options.
  94. //
  95. PTZConfigurationOptions PTZConfigurationOptions `xml:"PTZConfigurationOptions,omitempty"`
  96. }
  97. // SendAuxiliaryCommand type
  98. type SendAuxiliaryCommand struct {
  99. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SendAuxiliaryCommand"`
  100. // A reference to the MediaProfile where the operation should take place.
  101. //
  102. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  103. // The Auxiliary request data.
  104. //
  105. AuxiliaryData AuxiliaryData `xml:"http://www.onvif.org/ver20/ptz/wsdl AuxiliaryData,omitempty"`
  106. }
  107. // SendAuxiliaryCommandResponse type
  108. type SendAuxiliaryCommandResponse struct {
  109. XMLName xml.Name `xml:"SendAuxiliaryCommandResponse"`
  110. // The response contains the auxiliary response.
  111. //
  112. AuxiliaryResponse AuxiliaryData `xml:"AuxiliaryResponse,omitempty"`
  113. }
  114. // GetPresets type
  115. type GetPresets struct {
  116. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresets"`
  117. // A reference to the MediaProfile where the operation should take place.
  118. //
  119. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  120. }
  121. // GetPresetsResponse type
  122. type GetPresetsResponse struct {
  123. XMLName xml.Name `xml:"GetPresetsResponse"`
  124. // A list of presets which are available for the requested MediaProfile.
  125. //
  126. Preset []PTZPreset `xml:"Preset,omitempty"`
  127. }
  128. // SetPreset type
  129. type SetPreset struct {
  130. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetPreset"`
  131. // A reference to the MediaProfile where the operation should take place.
  132. //
  133. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  134. // A requested preset name.
  135. //
  136. PresetName string `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetName,omitempty"`
  137. // A requested preset token.
  138. //
  139. PresetToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetToken,omitempty"`
  140. }
  141. // SetPresetResponse type
  142. type SetPresetResponse struct {
  143. XMLName xml.Name `xml:"SetPresetResponse"`
  144. // A token to the Preset which has been set.
  145. //
  146. PresetToken ReferenceToken `xml:"PresetToken,omitempty"`
  147. }
  148. // RemovePreset type
  149. type RemovePreset struct {
  150. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePreset"`
  151. // A reference to the MediaProfile where the operation should take place.
  152. //
  153. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  154. // A requested preset token.
  155. //
  156. PresetToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetToken,omitempty"`
  157. }
  158. // RemovePresetResponse type
  159. type RemovePresetResponse struct {
  160. XMLName xml.Name `xml:"RemovePresetResponse"`
  161. }
  162. // GotoPreset type
  163. type GotoPreset struct {
  164. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoPreset"`
  165. // A reference to the MediaProfile where the operation should take place.
  166. //
  167. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  168. // A requested preset token.
  169. //
  170. PresetToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetToken,omitempty"`
  171. // A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node.
  172. //
  173. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  174. }
  175. // GotoPresetResponse type
  176. type GotoPresetResponse struct {
  177. XMLName xml.Name `xml:"GotoPresetResponse"`
  178. }
  179. // GetStatus type
  180. type GetStatus struct {
  181. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetStatus"`
  182. // A reference to the MediaProfile where the PTZStatus should be requested.
  183. //
  184. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  185. }
  186. // GetStatusResponse type
  187. type GetStatusResponse struct {
  188. XMLName xml.Name `xml:"GetStatusResponse"`
  189. // The PTZStatus for the requested MediaProfile.
  190. //
  191. PTZStatus PTZStatus `xml:"PTZStatus,omitempty"`
  192. }
  193. // GotoHomePosition type
  194. type GotoHomePosition struct {
  195. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoHomePosition"`
  196. // A reference to the MediaProfile where the operation should take place.
  197. //
  198. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  199. // A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node.
  200. //
  201. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  202. }
  203. // GotoHomePositionResponse type
  204. type GotoHomePositionResponse struct {
  205. XMLName xml.Name `xml:"GotoHomePositionResponse"`
  206. }
  207. // SetHomePosition type
  208. type SetHomePosition struct {
  209. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetHomePosition"`
  210. // A reference to the MediaProfile where the home position should be set.
  211. //
  212. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  213. }
  214. // SetHomePositionResponse type
  215. type SetHomePositionResponse struct {
  216. XMLName xml.Name `xml:"SetHomePositionResponse"`
  217. }
  218. // ContinuousMove type
  219. type ContinuousMove struct {
  220. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ContinuousMove"`
  221. // A reference to the MediaProfile.
  222. //
  223. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  224. // A Velocity vector specifying the velocity of pan, tilt and zoom.
  225. //
  226. Velocity PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Velocity,omitempty"`
  227. // An optional Timeout parameter.
  228. //
  229. Timeout Duration `xml:"http://www.onvif.org/ver10/schema Timeout,omitempty"`
  230. }
  231. // ContinuousMoveResponse type
  232. type ContinuousMoveResponse struct {
  233. XMLName xml.Name `xml:"ContinuousMoveResponse"`
  234. }
  235. // RelativeMove type
  236. type RelativeMove struct {
  237. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RelativeMove"`
  238. // A reference to the MediaProfile.
  239. //
  240. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  241. // A positional Translation relative to the current position
  242. //
  243. Translation PTZVector `xml:"http://www.onvif.org/ver20/ptz/wsdl Translation,omitempty"`
  244. // An optional Speed parameter.
  245. //
  246. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  247. }
  248. // RelativeMoveResponse type
  249. type RelativeMoveResponse struct {
  250. XMLName xml.Name `xml:"RelativeMoveResponse"`
  251. }
  252. // AbsoluteMove type
  253. type AbsoluteMove struct {
  254. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl AbsoluteMove"`
  255. // A reference to the MediaProfile.
  256. //
  257. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  258. // A Position vector specifying the absolute target position.
  259. //
  260. Position PTZVector `xml:"http://www.onvif.org/ver20/ptz/wsdl Position,omitempty"`
  261. // An optional Speed.
  262. //
  263. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  264. }
  265. // AbsoluteMoveResponse type
  266. type AbsoluteMoveResponse struct {
  267. XMLName xml.Name `xml:"AbsoluteMoveResponse"`
  268. }
  269. // GeoMove type
  270. type GeoMove struct {
  271. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoMove"`
  272. // A reference to the MediaProfile.
  273. //
  274. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  275. // The geolocation of the target position.
  276. //
  277. Target GeoLocation `xml:"http://www.onvif.org/ver20/ptz/wsdl Target,omitempty"`
  278. // An optional Speed.
  279. //
  280. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  281. // An optional indication of the height of the target/area.
  282. //
  283. AreaHeight float32 `xml:"http://www.onvif.org/ver10/schema AreaHeight,omitempty"`
  284. // An optional indication of the width of the target/area.
  285. //
  286. AreaWidth float32 `xml:"http://www.onvif.org/ver10/schema AreaWidth,omitempty"`
  287. }
  288. // GeoMoveResponse type
  289. type GeoMoveResponse struct {
  290. XMLName xml.Name `xml:"GeoMoveResponse"`
  291. }
  292. // Stop type
  293. type Stop struct {
  294. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl Stop"`
  295. // A reference to the MediaProfile that indicate what should be stopped.
  296. //
  297. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  298. // Set true when we want to stop ongoing pan and tilt movements.If PanTilt arguments are not present, this command stops these movements.
  299. //
  300. PanTilt bool `xml:"http://www.onvif.org/ver20/ptz/wsdl PanTilt,omitempty"`
  301. // Set true when we want to stop ongoing zoom movement.If Zoom arguments are not present, this command stops ongoing zoom movement.
  302. //
  303. Zoom bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Zoom,omitempty"`
  304. }
  305. // StopResponse type
  306. type StopResponse struct {
  307. XMLName xml.Name `xml:"StopResponse"`
  308. }
  309. // GetPresetTours type
  310. type GetPresetTours struct {
  311. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTours"`
  312. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  313. }
  314. // GetPresetToursResponse type
  315. type GetPresetToursResponse struct {
  316. XMLName xml.Name `xml:"GetPresetToursResponse"`
  317. PresetTour []PresetTour `xml:"PresetTour,omitempty"`
  318. }
  319. // GetPresetTour type
  320. type GetPresetTour struct {
  321. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTour"`
  322. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  323. PresetTourToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetTourToken,omitempty"`
  324. }
  325. // GetPresetTourResponse type
  326. type GetPresetTourResponse struct {
  327. XMLName xml.Name `xml:"GetPresetTourResponse"`
  328. PresetTour PresetTour `xml:"PresetTour,omitempty"`
  329. }
  330. // GetPresetTourOptions type
  331. type GetPresetTourOptions struct {
  332. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTourOptions"`
  333. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  334. PresetTourToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetTourToken,omitempty"`
  335. }
  336. // GetPresetTourOptionsResponse type
  337. type GetPresetTourOptionsResponse struct {
  338. XMLName xml.Name `xml:"GetPresetTourOptionsResponse"`
  339. Options PTZPresetTourOptions `xml:"Options,omitempty"`
  340. }
  341. // CreatePresetTour type
  342. type CreatePresetTour struct {
  343. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl CreatePresetTour"`
  344. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  345. }
  346. // CreatePresetTourResponse type
  347. type CreatePresetTourResponse struct {
  348. XMLName xml.Name `xml:"CreatePresetTourResponse"`
  349. PresetTourToken ReferenceToken `xml:"PresetTourToken,omitempty"`
  350. }
  351. // ModifyPresetTour type
  352. type ModifyPresetTour struct {
  353. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ModifyPresetTour"`
  354. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  355. PresetTour PresetTour `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetTour,omitempty"`
  356. }
  357. // ModifyPresetTourResponse type
  358. type ModifyPresetTourResponse struct {
  359. XMLName xml.Name `xml:"ModifyPresetTourResponse"`
  360. }
  361. // OperatePresetTour type
  362. type OperatePresetTour struct {
  363. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl OperatePresetTour"`
  364. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  365. PresetTourToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetTourToken,omitempty"`
  366. Operation PTZPresetTourOperation `xml:"http://www.onvif.org/ver20/ptz/wsdl Operation,omitempty"`
  367. }
  368. // OperatePresetTourResponse type
  369. type OperatePresetTourResponse struct {
  370. XMLName xml.Name `xml:"OperatePresetTourResponse"`
  371. }
  372. // RemovePresetTour type
  373. type RemovePresetTour struct {
  374. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePresetTour"`
  375. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  376. PresetTourToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetTourToken,omitempty"`
  377. }
  378. // RemovePresetTourResponse type
  379. type RemovePresetTourResponse struct {
  380. XMLName xml.Name `xml:"RemovePresetTourResponse"`
  381. }
  382. // GetCompatibleConfigurations type
  383. type GetCompatibleConfigurations struct {
  384. XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetCompatibleConfigurations"`
  385. // Contains the token of an existing media profile the configurations shall be compatible with.
  386. ProfileToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl ProfileToken,omitempty"`
  387. }
  388. // GetCompatibleConfigurationsResponse type
  389. type GetCompatibleConfigurationsResponse struct {
  390. XMLName xml.Name `xml:"GetCompatibleConfigurationsResponse"`
  391. // A list of all existing PTZConfigurations on the NVT that is suitable to be added to the addressed media profile.
  392. //
  393. PTZConfiguration []PTZConfiguration `xml:"PTZConfiguration,omitempty"`
  394. }
  395. // Capabilities type
  396. type Capabilities struct {
  397. // Indicates whether or not EFlip is supported.
  398. EFlip bool `xml:"http://www.onvif.org/ver20/ptz/wsdl EFlip,attr,omitempty"`
  399. // Indicates whether or not reversing of PT control direction is supported.
  400. Reverse bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Reverse,attr,omitempty"`
  401. // Indicates support for the GetCompatibleConfigurations command.
  402. GetCompatibleConfigurations bool `xml:"http://www.onvif.org/ver20/ptz/wsdl GetCompatibleConfigurations,attr,omitempty"`
  403. // Indicates that the PTZStatus includes MoveStatus information.
  404. MoveStatus bool `xml:"http://www.onvif.org/ver20/ptz/wsdl MoveStatus,attr,omitempty"`
  405. // Indicates that the PTZStatus includes Position information.
  406. StatusPosition bool `xml:"http://www.onvif.org/ver20/ptz/wsdl StatusPosition,attr,omitempty"`
  407. }
  408. // FaultcodeEnum type
  409. type FaultcodeEnum QName
  410. const (
  411. // FaultcodeEnumTnsDataEncodingUnknown const
  412. FaultcodeEnumTnsDataEncodingUnknown FaultcodeEnum = "tns:DataEncodingUnknown"
  413. // FaultcodeEnumTnsMustUnderstand const
  414. FaultcodeEnumTnsMustUnderstand FaultcodeEnum = "tns:MustUnderstand"
  415. // FaultcodeEnumTnsReceiver const
  416. FaultcodeEnumTnsReceiver FaultcodeEnum = "tns:Receiver"
  417. // FaultcodeEnumTnsSender const
  418. FaultcodeEnumTnsSender FaultcodeEnum = "tns:Sender"
  419. // FaultcodeEnumTnsVersionMismatch const
  420. FaultcodeEnumTnsVersionMismatch FaultcodeEnum = "tns:VersionMismatch"
  421. )
  422. // NotUnderstood type
  423. type NotUnderstood NotUnderstoodType
  424. // Upgrade type
  425. type Upgrade UpgradeType
  426. // Envelope type
  427. type Envelope struct {
  428. Header Header `xml:"Header,omitempty"`
  429. Body Body `xml:"Body,omitempty"`
  430. }
  431. // Header type
  432. type Header struct {
  433. }
  434. // Body type
  435. type Body struct {
  436. }
  437. // Fault type
  438. type Fault struct {
  439. Code Faultcode `xml:"Code,omitempty"`
  440. Reason Faultreason `xml:"Reason,omitempty"`
  441. Node AnyURI `xml:"http://www.onvif.org/ver10/schema Node,omitempty"`
  442. Role AnyURI `xml:"http://www.onvif.org/ver10/schema Role,omitempty"`
  443. Detail Detail `xml:"Detail,omitempty"`
  444. }
  445. // Faultreason type
  446. type Faultreason struct {
  447. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultreason"`
  448. Text []Reasontext `xml:"Text,omitempty"`
  449. }
  450. // Reasontext type
  451. type Reasontext struct {
  452. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope reasontext"`
  453. Value string
  454. string `xml:",attr,omitempty"`
  455. }
  456. // Faultcode type
  457. type Faultcode struct {
  458. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultcode"`
  459. Value FaultcodeEnum `xml:"Value,omitempty"`
  460. Subcode *Subcode `xml:"Subcode,omitempty"`
  461. }
  462. // Subcode type
  463. type Subcode struct {
  464. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope subcode"`
  465. Value QName `xml:"http://www.onvif.org/ver10/schema Value,omitempty"`
  466. Subcode *Subcode `xml:"Subcode,omitempty"`
  467. }
  468. // Detail type
  469. type Detail struct {
  470. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope detail"`
  471. }
  472. // NotUnderstoodType type
  473. type NotUnderstoodType struct {
  474. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope NotUnderstood"`
  475. Qname QName `xml:"qname,attr,omitempty"`
  476. }
  477. // SupportedEnvType type
  478. type SupportedEnvType struct {
  479. Qname QName `xml:"qname,attr,omitempty"`
  480. }
  481. // UpgradeType type
  482. type UpgradeType struct {
  483. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope Upgrade"`
  484. SupportedEnvelope []SupportedEnvType `xml:"SupportedEnvelope,omitempty"`
  485. }
  486. // RelationshipTypeOpenEnum type
  487. type RelationshipTypeOpenEnum string
  488. // RelationshipType type
  489. type RelationshipType AnyURI
  490. const (
  491. // RelationshipTypeHttpwwww3org200508addressingreply const
  492. RelationshipTypeHttpwwww3org200508addressingreply RelationshipType = "http://www.w3.org/2005/08/addressing/reply"
  493. )
  494. // FaultCodesType type
  495. type FaultCodesType QName
  496. const (
  497. // FaultCodesTypeTnsInvalidAddressingHeader const
  498. FaultCodesTypeTnsInvalidAddressingHeader FaultCodesType = "tns:InvalidAddressingHeader"
  499. // FaultCodesTypeTnsInvalidAddress const
  500. FaultCodesTypeTnsInvalidAddress FaultCodesType = "tns:InvalidAddress"
  501. // FaultCodesTypeTnsInvalidEPR const
  502. FaultCodesTypeTnsInvalidEPR FaultCodesType = "tns:InvalidEPR"
  503. // FaultCodesTypeTnsInvalidCardinality const
  504. FaultCodesTypeTnsInvalidCardinality FaultCodesType = "tns:InvalidCardinality"
  505. // FaultCodesTypeTnsMissingAddressInEPR const
  506. FaultCodesTypeTnsMissingAddressInEPR FaultCodesType = "tns:MissingAddressInEPR"
  507. // FaultCodesTypeTnsDuplicateMessageID const
  508. FaultCodesTypeTnsDuplicateMessageID FaultCodesType = "tns:DuplicateMessageID"
  509. // FaultCodesTypeTnsActionMismatch const
  510. FaultCodesTypeTnsActionMismatch FaultCodesType = "tns:ActionMismatch"
  511. // FaultCodesTypeTnsMessageAddressingHeaderRequired const
  512. FaultCodesTypeTnsMessageAddressingHeaderRequired FaultCodesType = "tns:MessageAddressingHeaderRequired"
  513. // FaultCodesTypeTnsDestinationUnreachable const
  514. FaultCodesTypeTnsDestinationUnreachable FaultCodesType = "tns:DestinationUnreachable"
  515. // FaultCodesTypeTnsActionNotSupported const
  516. FaultCodesTypeTnsActionNotSupported FaultCodesType = "tns:ActionNotSupported"
  517. // FaultCodesTypeTnsEndpointUnavailable const
  518. FaultCodesTypeTnsEndpointUnavailable FaultCodesType = "tns:EndpointUnavailable"
  519. )
  520. // EndpointReference type
  521. type EndpointReference EndpointReferenceType
  522. // Metadata type
  523. type Metadata MetadataType
  524. // RelatesTo type
  525. type RelatesTo RelatesToType
  526. // To type
  527. type To AttributedURIType
  528. // Action type
  529. type Action AttributedURIType
  530. // ProblemAction type
  531. type ProblemAction ProblemActionType
  532. // EndpointReferenceType type
  533. type EndpointReferenceType struct {
  534. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing EndpointReference"`
  535. Address AttributedURIType `xml:"Address,omitempty"`
  536. ReferenceParameters ReferenceParametersType `xml:"ReferenceParameters,omitempty"`
  537. Metadata Metadata `xml:"Metadata,omitempty"`
  538. }
  539. // ReferenceParametersType type
  540. type ReferenceParametersType struct {
  541. }
  542. // MetadataType type
  543. type MetadataType struct {
  544. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing Metadata"`
  545. }
  546. // RelatesToType type
  547. type RelatesToType struct {
  548. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing RelatesTo"`
  549. Value AnyURI
  550. RelationshipType RelationshipTypeOpenEnum `xml:"RelationshipType,attr,omitempty"`
  551. }
  552. // AttributedURIType type
  553. type AttributedURIType struct {
  554. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing MessageID"`
  555. Value AnyURI
  556. }
  557. // ProblemActionType type
  558. type ProblemActionType struct {
  559. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing ProblemAction"`
  560. Action Action `xml:"Action,omitempty"`
  561. SoapAction AnyURI `xml:"http://www.onvif.org/ver10/schema SoapAction,omitempty"`
  562. }
  563. // BaseFault type
  564. type BaseFault BaseFaultType
  565. // BaseFaultType type
  566. type BaseFaultType struct {
  567. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsrf/bf-2 BaseFault"`
  568. Timestamp string `xml:"http://www.onvif.org/ver10/schema Timestamp,omitempty"`
  569. Originator EndpointReferenceType `xml:"Originator,omitempty"`
  570. ErrorCode struct {
  571. Dialect AnyURI `xml:"dialect,attr,omitempty"`
  572. } `xml:"ErrorCode,omitempty"`
  573. Description []struct {
  574. Value string
  575. string `xml:",attr,omitempty"`
  576. } `xml:"Description,omitempty"`
  577. FaultCause struct {
  578. } `xml:"FaultCause,omitempty"`
  579. }
  580. // ConcreteTopicExpression type
  581. type ConcreteTopicExpression string
  582. // SimpleTopicExpression type
  583. type SimpleTopicExpression QName
  584. // TopicNamespace type
  585. type TopicNamespace TopicNamespaceType
  586. // TopicSet type
  587. type TopicSet TopicSetType
  588. // Documentation type
  589. type Documentation struct {
  590. }
  591. // ExtensibleDocumented type
  592. type ExtensibleDocumented struct {
  593. Documentation Documentation `xml:"documentation,omitempty"`
  594. }
  595. // QueryExpressionType type
  596. type QueryExpressionType struct {
  597. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 ProducerProperties"`
  598. Dialect AnyURI `xml:"http://www.onvif.org/ver10/schema Dialect,attr,omitempty"`
  599. }
  600. // TopicNamespaceType type
  601. type TopicNamespaceType struct {
  602. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 TopicNamespace"`
  603. *ExtensibleDocumented
  604. Topic []struct {
  605. *TopicType
  606. Parent ConcreteTopicExpression `xml:"parent,attr,omitempty"`
  607. } `xml:"Topic,omitempty"`
  608. Name NCName `xml:"name,attr,omitempty"`
  609. TargetNamespace AnyURI `xml:"targetNamespace,attr,omitempty"`
  610. Final bool `xml:"final,attr,omitempty"`
  611. }
  612. // TopicType type
  613. type TopicType struct {
  614. *ExtensibleDocumented
  615. MessagePattern QueryExpressionType `xml:"MessagePattern,omitempty"`
  616. Topic []TopicType `xml:"Topic,omitempty"`
  617. Name NCName `xml:"name,attr,omitempty"`
  618. MessageTypes string `xml:"messageTypes,attr,omitempty"`
  619. Final bool `xml:"final,attr,omitempty"`
  620. }
  621. // TopicSetType type
  622. type TopicSetType struct {
  623. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 TopicSet"`
  624. *ExtensibleDocumented
  625. }
  626. // AbsoluteOrRelativeTimeType type
  627. type AbsoluteOrRelativeTimeType string
  628. // TopicExpression type
  629. type TopicExpression TopicExpressionType
  630. // FixedTopicSet type
  631. type FixedTopicSet bool
  632. // TopicExpressionDialect type
  633. type TopicExpressionDialect AnyURI
  634. // ConsumerReference type
  635. type ConsumerReference EndpointReferenceType
  636. // Filter type
  637. type Filter FilterType
  638. // SubscriptionPolicy type
  639. type SubscriptionPolicy SubscriptionPolicyType
  640. // CreationTime type
  641. type CreationTime time.Time
  642. // SubscriptionReference type
  643. type SubscriptionReference EndpointReferenceType
  644. // Topic type
  645. type Topic TopicExpressionType
  646. // ProducerReference type
  647. type ProducerReference EndpointReferenceType
  648. // NotificationMessage type
  649. type NotificationMessage NotificationMessageHolderType
  650. // Notify type
  651. type Notify struct {
  652. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Notify"`
  653. NotificationMessage []NotificationMessage `xml:"NotificationMessage,omitempty"`
  654. }
  655. // CurrentTime type
  656. type CurrentTime time.Time
  657. // TerminationTime type
  658. type TerminationTime time.Time
  659. // Subscribe type
  660. type Subscribe struct {
  661. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Subscribe"`
  662. ConsumerReference EndpointReferenceType `xml:"ConsumerReference,omitempty"`
  663. Filter FilterType `xml:"Filter,omitempty"`
  664. InitialTerminationTime AbsoluteOrRelativeTimeType `xml:"InitialTerminationTime,omitempty"`
  665. SubscriptionPolicy struct {
  666. } `xml:"SubscriptionPolicy,omitempty"`
  667. }
  668. // SubscribeCreationFailedFault type
  669. type SubscribeCreationFailedFault SubscribeCreationFailedFaultType
  670. // InvalidFilterFault type
  671. type InvalidFilterFault InvalidFilterFaultType
  672. // TopicExpressionDialectUnknownFault type
  673. type TopicExpressionDialectUnknownFault TopicExpressionDialectUnknownFaultType
  674. // InvalidTopicExpressionFault type
  675. type InvalidTopicExpressionFault InvalidTopicExpressionFaultType
  676. // TopicNotSupportedFault type
  677. type TopicNotSupportedFault TopicNotSupportedFaultType
  678. // MultipleTopicsSpecifiedFault type
  679. type MultipleTopicsSpecifiedFault MultipleTopicsSpecifiedFaultType
  680. // InvalidProducerPropertiesExpressionFault type
  681. type InvalidProducerPropertiesExpressionFault InvalidProducerPropertiesExpressionFaultType
  682. // InvalidMessageContentExpressionFault type
  683. type InvalidMessageContentExpressionFault InvalidMessageContentExpressionFaultType
  684. // UnrecognizedPolicyRequestFault type
  685. type UnrecognizedPolicyRequestFault UnrecognizedPolicyRequestFaultType
  686. // UnsupportedPolicyRequestFault type
  687. type UnsupportedPolicyRequestFault UnsupportedPolicyRequestFaultType
  688. // NotifyMessageNotSupportedFault type
  689. type NotifyMessageNotSupportedFault NotifyMessageNotSupportedFaultType
  690. // UnacceptableInitialTerminationTimeFault type
  691. type UnacceptableInitialTerminationTimeFault UnacceptableInitialTerminationTimeFaultType
  692. // NoCurrentMessageOnTopicFault type
  693. type NoCurrentMessageOnTopicFault NoCurrentMessageOnTopicFaultType
  694. // UnableToGetMessagesFault type
  695. type UnableToGetMessagesFault UnableToGetMessagesFaultType
  696. // UnableToDestroyPullPointFault type
  697. type UnableToDestroyPullPointFault UnableToDestroyPullPointFaultType
  698. // UnableToCreatePullPointFault type
  699. type UnableToCreatePullPointFault UnableToCreatePullPointFaultType
  700. // UnacceptableTerminationTimeFault type
  701. type UnacceptableTerminationTimeFault UnacceptableTerminationTimeFaultType
  702. // UnableToDestroySubscriptionFault type
  703. type UnableToDestroySubscriptionFault UnableToDestroySubscriptionFaultType
  704. // PauseFailedFault type
  705. type PauseFailedFault PauseFailedFaultType
  706. // ResumeFailedFault type
  707. type ResumeFailedFault ResumeFailedFaultType
  708. // Removed QueryExpressionType
  709. // TopicExpressionType type
  710. type TopicExpressionType struct {
  711. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicExpression"`
  712. Dialect AnyURI `xml:"http://www.onvif.org/ver10/schema Dialect,attr,omitempty"`
  713. }
  714. // FilterType type
  715. type FilterType struct {
  716. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Filter"`
  717. }
  718. // SubscriptionPolicyType type
  719. type SubscriptionPolicyType struct {
  720. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 SubscriptionPolicy"`
  721. }
  722. // NotificationMessageHolderType type
  723. type NotificationMessageHolderType struct {
  724. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NotificationMessage"`
  725. SubscriptionReference SubscriptionReference `xml:"SubscriptionReference,omitempty"`
  726. Topic Topic `xml:"Topic,omitempty"`
  727. ProducerReference ProducerReference `xml:"ProducerReference,omitempty"`
  728. Message struct {
  729. } `xml:"Message,omitempty"`
  730. }
  731. // SubscribeCreationFailedFaultType type
  732. type SubscribeCreationFailedFaultType struct {
  733. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 SubscribeCreationFailedFault"`
  734. *BaseFaultType
  735. }
  736. // InvalidFilterFaultType type
  737. type InvalidFilterFaultType struct {
  738. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidFilterFault"`
  739. *BaseFaultType
  740. UnknownFilter []QName `xml:"http://www.onvif.org/ver10/schema UnknownFilter,omitempty"`
  741. }
  742. // TopicExpressionDialectUnknownFaultType type
  743. type TopicExpressionDialectUnknownFaultType struct {
  744. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicExpressionDialectUnknownFault"`
  745. *BaseFaultType
  746. }
  747. // InvalidTopicExpressionFaultType type
  748. type InvalidTopicExpressionFaultType struct {
  749. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidTopicExpressionFault"`
  750. *BaseFaultType
  751. }
  752. // TopicNotSupportedFaultType type
  753. type TopicNotSupportedFaultType struct {
  754. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicNotSupportedFault"`
  755. *BaseFaultType
  756. }
  757. // MultipleTopicsSpecifiedFaultType type
  758. type MultipleTopicsSpecifiedFaultType struct {
  759. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 MultipleTopicsSpecifiedFault"`
  760. *BaseFaultType
  761. }
  762. // InvalidProducerPropertiesExpressionFaultType type
  763. type InvalidProducerPropertiesExpressionFaultType struct {
  764. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidProducerPropertiesExpressionFault"`
  765. *BaseFaultType
  766. }
  767. // InvalidMessageContentExpressionFaultType type
  768. type InvalidMessageContentExpressionFaultType struct {
  769. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidMessageContentExpressionFault"`
  770. *BaseFaultType
  771. }
  772. // UnrecognizedPolicyRequestFaultType type
  773. type UnrecognizedPolicyRequestFaultType struct {
  774. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnrecognizedPolicyRequestFault"`
  775. *BaseFaultType
  776. UnrecognizedPolicy []QName `xml:"http://www.onvif.org/ver10/schema UnrecognizedPolicy,omitempty"`
  777. }
  778. // UnsupportedPolicyRequestFaultType type
  779. type UnsupportedPolicyRequestFaultType struct {
  780. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnsupportedPolicyRequestFault"`
  781. *BaseFaultType
  782. UnsupportedPolicy []QName `xml:"http://www.onvif.org/ver10/schema UnsupportedPolicy,omitempty"`
  783. }
  784. // NotifyMessageNotSupportedFaultType type
  785. type NotifyMessageNotSupportedFaultType struct {
  786. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NotifyMessageNotSupportedFault"`
  787. *BaseFaultType
  788. }
  789. // UnacceptableInitialTerminationTimeFaultType type
  790. type UnacceptableInitialTerminationTimeFaultType struct {
  791. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnacceptableInitialTerminationTimeFault"`
  792. *BaseFaultType
  793. MinimumTime string `xml:"http://www.onvif.org/ver10/schema MinimumTime,omitempty"`
  794. MaximumTime string `xml:"http://www.onvif.org/ver10/schema MaximumTime,omitempty"`
  795. }
  796. // NoCurrentMessageOnTopicFaultType type
  797. type NoCurrentMessageOnTopicFaultType struct {
  798. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NoCurrentMessageOnTopicFault"`
  799. *BaseFaultType
  800. }
  801. // UnableToGetMessagesFaultType type
  802. type UnableToGetMessagesFaultType struct {
  803. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToGetMessagesFault"`
  804. *BaseFaultType
  805. }
  806. // UnableToDestroyPullPointFaultType type
  807. type UnableToDestroyPullPointFaultType struct {
  808. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToDestroyPullPointFault"`
  809. *BaseFaultType
  810. }
  811. // UnableToCreatePullPointFaultType type
  812. type UnableToCreatePullPointFaultType struct {
  813. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToCreatePullPointFault"`
  814. *BaseFaultType
  815. }
  816. // UnacceptableTerminationTimeFaultType type
  817. type UnacceptableTerminationTimeFaultType struct {
  818. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnacceptableTerminationTimeFault"`
  819. *BaseFaultType
  820. MinimumTime string `xml:"http://www.onvif.org/ver10/schema MinimumTime,omitempty"`
  821. MaximumTime string `xml:"http://www.onvif.org/ver10/schema MaximumTime,omitempty"`
  822. }
  823. // UnableToDestroySubscriptionFaultType type
  824. type UnableToDestroySubscriptionFaultType struct {
  825. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToDestroySubscriptionFault"`
  826. *BaseFaultType
  827. }
  828. // PauseFailedFaultType type
  829. type PauseFailedFaultType struct {
  830. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 PauseFailedFault"`
  831. *BaseFaultType
  832. }
  833. // ResumeFailedFaultType type
  834. type ResumeFailedFaultType struct {
  835. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 ResumeFailedFault"`
  836. *BaseFaultType
  837. }
  838. // Include type
  839. type Include struct {
  840. Href AnyURI `xml:"href,attr,omitempty"`
  841. }
  842. // Unique identifier for a physical or logical resource.
  843. // Tokens should be assigned such that they are unique within a device. Tokens must be at least unique within its class.
  844. // Length up to 64 characters.
  845. // ReferenceToken type
  846. type ReferenceToken string
  847. // MoveStatus type
  848. type MoveStatus string
  849. const (
  850. // MoveStatusIDLE const
  851. MoveStatusIDLE MoveStatus = "IDLE"
  852. // MoveStatusMOVING const
  853. MoveStatusMOVING MoveStatus = "MOVING"
  854. // MoveStatusUNKNOWN const
  855. MoveStatusUNKNOWN MoveStatus = "UNKNOWN"
  856. )
  857. // Entity type
  858. type Entity string
  859. const (
  860. // EntityDevice const
  861. EntityDevice Entity = "Device"
  862. // EntityVideoSource const
  863. EntityVideoSource Entity = "VideoSource"
  864. // EntityAudioSource const
  865. EntityAudioSource Entity = "AudioSource"
  866. )
  867. // IntRange type
  868. type IntRange struct {
  869. Min int32 `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  870. Max int32 `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  871. }
  872. // Vector2D type
  873. type Vector2D struct {
  874. X float32 `xml:"x,attr,omitempty"`
  875. Y float32 `xml:"y,attr,omitempty"`
  876. //
  877. // Pan/tilt coordinate space selector. The following options are defined:
  878. //
  879. Space AnyURI `xml:"space,attr,omitempty"`
  880. }
  881. // Vector1D type
  882. type Vector1D struct {
  883. X float32 `xml:"x,attr,omitempty"`
  884. //
  885. // Zoom coordinate space selector. The following options are defined:
  886. //
  887. Space AnyURI `xml:"space,attr,omitempty"`
  888. }
  889. // PTZVector type
  890. type PTZVector struct {
  891. // Pan and tilt position. The x component corresponds to pan and the y component to tilt.
  892. PanTilt Vector2D `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  893. //
  894. // A zoom position.
  895. //
  896. Zoom Vector1D `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  897. }
  898. // PTZStatus type
  899. type PTZStatus struct {
  900. //
  901. // Specifies the absolute position of the PTZ unit together with the Space references. The default absolute spaces of the corresponding PTZ configuration MUST be referenced within the Position element.
  902. //
  903. Position PTZVector `xml:"http://www.onvif.org/ver20/ptz/wsdl Position,omitempty"`
  904. //
  905. // Indicates if the Pan/Tilt/Zoom device unit is currently moving, idle or in an unknown state.
  906. //
  907. MoveStatus PTZMoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  908. //
  909. // States a current PTZ error.
  910. //
  911. Error string `xml:"http://www.onvif.org/ver20/ptz/wsdl Error,omitempty"`
  912. //
  913. // Specifies the UTC time when this status was generated.
  914. //
  915. UtcTime string `xml:"http://www.onvif.org/ver10/schema UtcTime,omitempty"`
  916. }
  917. // PTZMoveStatus type
  918. type PTZMoveStatus struct {
  919. PanTilt MoveStatus `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  920. Zoom MoveStatus `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  921. }
  922. // Vector type
  923. type Vector struct {
  924. X float32 `xml:"x,attr,omitempty"`
  925. Y float32 `xml:"y,attr,omitempty"`
  926. }
  927. // Rectangle type
  928. type Rectangle struct {
  929. Bottom float32 `xml:"bottom,attr,omitempty"`
  930. Top float32 `xml:"top,attr,omitempty"`
  931. Right float32 `xml:"right,attr,omitempty"`
  932. Left float32 `xml:"left,attr,omitempty"`
  933. }
  934. // Polygon type
  935. type Polygon struct {
  936. Point []Vector `xml:"http://www.onvif.org/ver10/schema Point,omitempty"`
  937. }
  938. // Color type
  939. type Color struct {
  940. X float32 `xml:"http://www.onvif.org/ver10/schema X,attr,omitempty"`
  941. Y float32 `xml:"http://www.onvif.org/ver10/schema Y,attr,omitempty"`
  942. Z float32 `xml:"http://www.onvif.org/ver10/schema Z,attr,omitempty"`
  943. //
  944. // Acceptable values:
  945. //
  946. // If the Colorspace attribute is absent, YCbCr is implied.
  947. //
  948. // Deprecated values:
  949. //
  950. //
  951. Colorspace AnyURI `xml:"http://www.onvif.org/ver10/schema Colorspace,attr,omitempty"`
  952. }
  953. // Transformation type
  954. type Transformation struct {
  955. Translate Vector `xml:"http://www.onvif.org/ver10/schema Translate,omitempty"`
  956. Scale Vector `xml:"http://www.onvif.org/ver10/schema Scale,omitempty"`
  957. Extension TransformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  958. }
  959. // TransformationExtension type
  960. type TransformationExtension struct {
  961. }
  962. // GeoLocation type
  963. type GeoLocation struct {
  964. // East west location as angle.
  965. Lon float64 `xml:"lon,attr,omitempty"`
  966. // North south location as angle.
  967. Lat float64 `xml:"lat,attr,omitempty"`
  968. // Hight in meters above sea level.
  969. Elevation float32 `xml:"elevation,attr,omitempty"`
  970. }
  971. // User readable name. Length up to 64 characters.
  972. // Name type
  973. type Name string
  974. // IntAttrList type
  975. type IntAttrList []int32
  976. // FloatAttrList type
  977. type FloatAttrList []float32
  978. // StringAttrList type
  979. type StringAttrList []string
  980. // ReferenceTokenList type
  981. type ReferenceTokenList []ReferenceToken
  982. // RotateMode type
  983. type RotateMode string
  984. const (
  985. // Enable the Rotate feature. Degree of rotation is specified Degree parameter.
  986. // RotateModeOFF const
  987. RotateModeOFF RotateMode = "OFF"
  988. // Disable the Rotate feature.
  989. // RotateModeON const
  990. RotateModeON RotateMode = "ON"
  991. // Rotate feature is automatically activated by the device.
  992. // RotateModeAUTO const
  993. RotateModeAUTO RotateMode = "AUTO"
  994. )
  995. // SceneOrientationMode type
  996. type SceneOrientationMode string
  997. const (
  998. // SceneOrientationModeMANUAL const
  999. SceneOrientationModeMANUAL SceneOrientationMode = "MANUAL"
  1000. // SceneOrientationModeAUTO const
  1001. SceneOrientationModeAUTO SceneOrientationMode = "AUTO"
  1002. )
  1003. // SceneOrientationOption type
  1004. type SceneOrientationOption string
  1005. const (
  1006. // SceneOrientationOptionBelow const
  1007. SceneOrientationOptionBelow SceneOrientationOption = "Below"
  1008. // SceneOrientationOptionHorizon const
  1009. SceneOrientationOptionHorizon SceneOrientationOption = "Horizon"
  1010. // SceneOrientationOptionAbove const
  1011. SceneOrientationOptionAbove SceneOrientationOption = "Above"
  1012. )
  1013. // Source view modes supported by device.
  1014. // ViewModes type
  1015. type ViewModes string
  1016. const (
  1017. // Undewarped viewmode from device supporting fisheye lens.
  1018. // ViewModesTtFisheye const
  1019. ViewModesTtFisheye ViewModes = "tt:Fisheye"
  1020. // 360 degree panoramic view.
  1021. // ViewModesTt360Panorama const
  1022. ViewModesTt360Panorama ViewModes = "tt:360Panorama"
  1023. // 180 degree panoramic view.
  1024. // ViewModesTt180Panorama const
  1025. ViewModesTt180Panorama ViewModes = "tt:180Panorama"
  1026. // View mode combining four streams in single Quad, eg., applicable for devices supporting four heads.
  1027. // ViewModesTtQuad const
  1028. ViewModesTtQuad ViewModes = "tt:Quad"
  1029. // Unaltered view from the sensor.
  1030. // ViewModesTtOriginal const
  1031. ViewModesTtOriginal ViewModes = "tt:Original"
  1032. // Viewmode combining the left side sensors, applicable for devices supporting multiple sensors.
  1033. // ViewModesTtLeftHalf const
  1034. ViewModesTtLeftHalf ViewModes = "tt:LeftHalf"
  1035. // Viewmode combining the right side sensors, applicable for devices supporting multiple sensors.
  1036. // ViewModesTtRightHalf const
  1037. ViewModesTtRightHalf ViewModes = "tt:RightHalf"
  1038. // Dewarped view mode for device supporting fisheye lens.
  1039. // ViewModesTtDewarp const
  1040. ViewModesTtDewarp ViewModes = "tt:Dewarp"
  1041. )
  1042. // VideoEncoding type
  1043. type VideoEncoding string
  1044. const (
  1045. // VideoEncodingJPEG const
  1046. VideoEncodingJPEG VideoEncoding = "JPEG"
  1047. // VideoEncodingMPEG4 const
  1048. VideoEncodingMPEG4 VideoEncoding = "MPEG4"
  1049. // VideoEncodingH264 const
  1050. VideoEncodingH264 VideoEncoding = "H264"
  1051. )
  1052. // Mpeg4Profile type
  1053. type Mpeg4Profile string
  1054. const (
  1055. // Mpeg4ProfileSP const
  1056. Mpeg4ProfileSP Mpeg4Profile = "SP"
  1057. // Mpeg4ProfileASP const
  1058. Mpeg4ProfileASP Mpeg4Profile = "ASP"
  1059. )
  1060. // H264Profile type
  1061. type H264Profile string
  1062. const (
  1063. // H264ProfileBaseline const
  1064. H264ProfileBaseline H264Profile = "Baseline"
  1065. // H264ProfileMain const
  1066. H264ProfileMain H264Profile = "Main"
  1067. // H264ProfileExtended const
  1068. H264ProfileExtended H264Profile = "Extended"
  1069. // H264ProfileHigh const
  1070. H264ProfileHigh H264Profile = "High"
  1071. )
  1072. // Video Media Subtypes as referenced by IANA (without the leading "video/" Video Media Type). See also .
  1073. // VideoEncodingMimeNames type
  1074. type VideoEncodingMimeNames string
  1075. const (
  1076. // VideoEncodingMimeNamesJPEG const
  1077. VideoEncodingMimeNamesJPEG VideoEncodingMimeNames = "JPEG"
  1078. // VideoEncodingMimeNamesMPV4ES const
  1079. VideoEncodingMimeNamesMPV4ES VideoEncodingMimeNames = "MPV4-ES"
  1080. // VideoEncodingMimeNamesH264 const
  1081. VideoEncodingMimeNamesH264 VideoEncodingMimeNames = "H264"
  1082. // VideoEncodingMimeNamesH265 const
  1083. VideoEncodingMimeNamesH265 VideoEncodingMimeNames = "H265"
  1084. )
  1085. // VideoEncodingProfiles type
  1086. type VideoEncodingProfiles string
  1087. const (
  1088. // VideoEncodingProfilesSimple const
  1089. VideoEncodingProfilesSimple VideoEncodingProfiles = "Simple"
  1090. // VideoEncodingProfilesAdvancedSimple const
  1091. VideoEncodingProfilesAdvancedSimple VideoEncodingProfiles = "AdvancedSimple"
  1092. // VideoEncodingProfilesBaseline const
  1093. VideoEncodingProfilesBaseline VideoEncodingProfiles = "Baseline"
  1094. // VideoEncodingProfilesMain const
  1095. VideoEncodingProfilesMain VideoEncodingProfiles = "Main"
  1096. // VideoEncodingProfilesMain10 const
  1097. VideoEncodingProfilesMain10 VideoEncodingProfiles = "Main10"
  1098. // VideoEncodingProfilesExtended const
  1099. VideoEncodingProfilesExtended VideoEncodingProfiles = "Extended"
  1100. // VideoEncodingProfilesHigh const
  1101. VideoEncodingProfilesHigh VideoEncodingProfiles = "High"
  1102. )
  1103. // AudioEncoding type
  1104. type AudioEncoding string
  1105. const (
  1106. // AudioEncodingG711 const
  1107. AudioEncodingG711 AudioEncoding = "G711"
  1108. // AudioEncodingG726 const
  1109. AudioEncodingG726 AudioEncoding = "G726"
  1110. // AudioEncodingAAC const
  1111. AudioEncodingAAC AudioEncoding = "AAC"
  1112. )
  1113. // Audio Media Subtypes as referenced by IANA (without the leading "audio/" Audio Media Type). See also .
  1114. // AudioEncodingMimeNames type
  1115. type AudioEncodingMimeNames string
  1116. const (
  1117. // AudioEncodingMimeNamesPCMU const
  1118. AudioEncodingMimeNamesPCMU AudioEncodingMimeNames = "PCMU"
  1119. // AudioEncodingMimeNamesG726 const
  1120. AudioEncodingMimeNamesG726 AudioEncodingMimeNames = "G726"
  1121. // AudioEncodingMimeNamesMP4ALATM const
  1122. AudioEncodingMimeNamesMP4ALATM AudioEncodingMimeNames = "MP4A-LATM"
  1123. // AudioEncodingMimeNamesMpeg4generic const
  1124. AudioEncodingMimeNamesMpeg4generic AudioEncodingMimeNames = "mpeg4-generic"
  1125. )
  1126. // MetadataCompressionType type
  1127. type MetadataCompressionType string
  1128. const (
  1129. // MetadataCompressionTypeNone const
  1130. MetadataCompressionTypeNone MetadataCompressionType = "None"
  1131. // MetadataCompressionTypeGZIP const
  1132. MetadataCompressionTypeGZIP MetadataCompressionType = "GZIP"
  1133. // MetadataCompressionTypeEXI const
  1134. MetadataCompressionTypeEXI MetadataCompressionType = "EXI"
  1135. )
  1136. // StreamType type
  1137. type StreamType string
  1138. const (
  1139. // StreamTypeRTPUnicast const
  1140. StreamTypeRTPUnicast StreamType = "RTP-Unicast"
  1141. // StreamTypeRTPMulticast const
  1142. StreamTypeRTPMulticast StreamType = "RTP-Multicast"
  1143. )
  1144. // TransportProtocol type
  1145. type TransportProtocol string
  1146. const (
  1147. // TransportProtocolUDP const
  1148. TransportProtocolUDP TransportProtocol = "UDP"
  1149. // This value is deprecated.
  1150. // TransportProtocolTCP const
  1151. TransportProtocolTCP TransportProtocol = "TCP"
  1152. // TransportProtocolRTSP const
  1153. TransportProtocolRTSP TransportProtocol = "RTSP"
  1154. // TransportProtocolHTTP const
  1155. TransportProtocolHTTP TransportProtocol = "HTTP"
  1156. )
  1157. // ScopeDefinition type
  1158. type ScopeDefinition string
  1159. const (
  1160. // ScopeDefinitionFixed const
  1161. ScopeDefinitionFixed ScopeDefinition = "Fixed"
  1162. // ScopeDefinitionConfigurable const
  1163. ScopeDefinitionConfigurable ScopeDefinition = "Configurable"
  1164. )
  1165. // DiscoveryMode type
  1166. type DiscoveryMode string
  1167. const (
  1168. // DiscoveryModeDiscoverable const
  1169. DiscoveryModeDiscoverable DiscoveryMode = "Discoverable"
  1170. // DiscoveryModeNonDiscoverable const
  1171. DiscoveryModeNonDiscoverable DiscoveryMode = "NonDiscoverable"
  1172. )
  1173. // NetworkInterfaceConfigPriority type
  1174. type NetworkInterfaceConfigPriority int32
  1175. // Duplex type
  1176. type Duplex string
  1177. const (
  1178. // DuplexFull const
  1179. DuplexFull Duplex = "Full"
  1180. // DuplexHalf const
  1181. DuplexHalf Duplex = "Half"
  1182. )
  1183. // IANAIfTypes type
  1184. type IANAIfTypes int32
  1185. // IPv6DHCPConfiguration type
  1186. type IPv6DHCPConfiguration string
  1187. const (
  1188. // IPv6DHCPConfigurationAuto const
  1189. IPv6DHCPConfigurationAuto IPv6DHCPConfiguration = "Auto"
  1190. // IPv6DHCPConfigurationStateful const
  1191. IPv6DHCPConfigurationStateful IPv6DHCPConfiguration = "Stateful"
  1192. // IPv6DHCPConfigurationStateless const
  1193. IPv6DHCPConfigurationStateless IPv6DHCPConfiguration = "Stateless"
  1194. // IPv6DHCPConfigurationOff const
  1195. IPv6DHCPConfigurationOff IPv6DHCPConfiguration = "Off"
  1196. )
  1197. // NetworkProtocolType type
  1198. type NetworkProtocolType string
  1199. const (
  1200. // NetworkProtocolTypeHTTP const
  1201. NetworkProtocolTypeHTTP NetworkProtocolType = "HTTP"
  1202. // NetworkProtocolTypeHTTPS const
  1203. NetworkProtocolTypeHTTPS NetworkProtocolType = "HTTPS"
  1204. // NetworkProtocolTypeRTSP const
  1205. NetworkProtocolTypeRTSP NetworkProtocolType = "RTSP"
  1206. )
  1207. // NetworkHostType type
  1208. type NetworkHostType string
  1209. const (
  1210. // NetworkHostTypeIPv4 const
  1211. NetworkHostTypeIPv4 NetworkHostType = "IPv4"
  1212. // NetworkHostTypeIPv6 const
  1213. NetworkHostTypeIPv6 NetworkHostType = "IPv6"
  1214. // NetworkHostTypeDNS const
  1215. NetworkHostTypeDNS NetworkHostType = "DNS"
  1216. )
  1217. // IPv4Address type
  1218. type IPv4Address string
  1219. // IPv6Address type
  1220. type IPv6Address string
  1221. // HwAddress type
  1222. type HwAddress string
  1223. // IPType type
  1224. type IPType string
  1225. const (
  1226. // IPTypeIPv4 const
  1227. IPTypeIPv4 IPType = "IPv4"
  1228. // IPTypeIPv6 const
  1229. IPTypeIPv6 IPType = "IPv6"
  1230. )
  1231. // DNSName type
  1232. type DNSName string
  1233. // IPAddressFilterType type
  1234. type IPAddressFilterType string
  1235. const (
  1236. // IPAddressFilterTypeAllow const
  1237. IPAddressFilterTypeAllow IPAddressFilterType = "Allow"
  1238. // IPAddressFilterTypeDeny const
  1239. IPAddressFilterTypeDeny IPAddressFilterType = "Deny"
  1240. )
  1241. // DynamicDNSType type
  1242. type DynamicDNSType string
  1243. const (
  1244. // DynamicDNSTypeNoUpdate const
  1245. DynamicDNSTypeNoUpdate DynamicDNSType = "NoUpdate"
  1246. // DynamicDNSTypeClientUpdates const
  1247. DynamicDNSTypeClientUpdates DynamicDNSType = "ClientUpdates"
  1248. // DynamicDNSTypeServerUpdates const
  1249. DynamicDNSTypeServerUpdates DynamicDNSType = "ServerUpdates"
  1250. )
  1251. // Dot11SSIDType type
  1252. type Dot11SSIDType []byte
  1253. // Dot11StationMode type
  1254. type Dot11StationMode string
  1255. const (
  1256. // Dot11StationModeAdhoc const
  1257. Dot11StationModeAdhoc Dot11StationMode = "Ad-hoc"
  1258. // Dot11StationModeInfrastructure const
  1259. Dot11StationModeInfrastructure Dot11StationMode = "Infrastructure"
  1260. // Dot11StationModeExtended const
  1261. Dot11StationModeExtended Dot11StationMode = "Extended"
  1262. )
  1263. // Dot11SecurityMode type
  1264. type Dot11SecurityMode string
  1265. const (
  1266. // Dot11SecurityModeNone const
  1267. Dot11SecurityModeNone Dot11SecurityMode = "None"
  1268. // Dot11SecurityModeWEP const
  1269. Dot11SecurityModeWEP Dot11SecurityMode = "WEP"
  1270. // Dot11SecurityModePSK const
  1271. Dot11SecurityModePSK Dot11SecurityMode = "PSK"
  1272. // Dot11SecurityModeDot1X const
  1273. Dot11SecurityModeDot1X Dot11SecurityMode = "Dot1X"
  1274. // Dot11SecurityModeExtended const
  1275. Dot11SecurityModeExtended Dot11SecurityMode = "Extended"
  1276. )
  1277. // Dot11Cipher type
  1278. type Dot11Cipher string
  1279. const (
  1280. // Dot11CipherCCMP const
  1281. Dot11CipherCCMP Dot11Cipher = "CCMP"
  1282. // Dot11CipherTKIP const
  1283. Dot11CipherTKIP Dot11Cipher = "TKIP"
  1284. // Dot11CipherAny const
  1285. Dot11CipherAny Dot11Cipher = "Any"
  1286. // Dot11CipherExtended const
  1287. Dot11CipherExtended Dot11Cipher = "Extended"
  1288. )
  1289. // Dot11PSK type
  1290. type Dot11PSK []byte
  1291. // Dot11PSKPassphrase type
  1292. type Dot11PSKPassphrase string
  1293. // Dot11SignalStrength type
  1294. type Dot11SignalStrength string
  1295. const (
  1296. // Dot11SignalStrengthNone const
  1297. Dot11SignalStrengthNone Dot11SignalStrength = "None"
  1298. // Dot11SignalStrengthVeryBad const
  1299. Dot11SignalStrengthVeryBad Dot11SignalStrength = "Very Bad"
  1300. // Dot11SignalStrengthBad const
  1301. Dot11SignalStrengthBad Dot11SignalStrength = "Bad"
  1302. // Dot11SignalStrengthGood const
  1303. Dot11SignalStrengthGood Dot11SignalStrength = "Good"
  1304. // Dot11SignalStrengthVeryGood const
  1305. Dot11SignalStrengthVeryGood Dot11SignalStrength = "Very Good"
  1306. // Dot11SignalStrengthExtended const
  1307. Dot11SignalStrengthExtended Dot11SignalStrength = "Extended"
  1308. )
  1309. // Dot11AuthAndMangementSuite type
  1310. type Dot11AuthAndMangementSuite string
  1311. const (
  1312. // Dot11AuthAndMangementSuiteNone const
  1313. Dot11AuthAndMangementSuiteNone Dot11AuthAndMangementSuite = "None"
  1314. // Dot11AuthAndMangementSuiteDot1X const
  1315. Dot11AuthAndMangementSuiteDot1X Dot11AuthAndMangementSuite = "Dot1X"
  1316. // Dot11AuthAndMangementSuitePSK const
  1317. Dot11AuthAndMangementSuitePSK Dot11AuthAndMangementSuite = "PSK"
  1318. // Dot11AuthAndMangementSuiteExtended const
  1319. Dot11AuthAndMangementSuiteExtended Dot11AuthAndMangementSuite = "Extended"
  1320. )
  1321. // CapabilityCategory type
  1322. type CapabilityCategory string
  1323. const (
  1324. // CapabilityCategoryAll const
  1325. CapabilityCategoryAll CapabilityCategory = "All"
  1326. // CapabilityCategoryAnalytics const
  1327. CapabilityCategoryAnalytics CapabilityCategory = "Analytics"
  1328. // CapabilityCategoryDevice const
  1329. CapabilityCategoryDevice CapabilityCategory = "Device"
  1330. // CapabilityCategoryEvents const
  1331. CapabilityCategoryEvents CapabilityCategory = "Events"
  1332. // CapabilityCategoryImaging const
  1333. CapabilityCategoryImaging CapabilityCategory = "Imaging"
  1334. // CapabilityCategoryMedia const
  1335. CapabilityCategoryMedia CapabilityCategory = "Media"
  1336. // CapabilityCategoryPTZ const
  1337. CapabilityCategoryPTZ CapabilityCategory = "PTZ"
  1338. )
  1339. // Enumeration describing the available system log modes.
  1340. // SystemLogType type
  1341. type SystemLogType string
  1342. const (
  1343. // Indicates that a system log is requested.
  1344. // SystemLogTypeSystem const
  1345. SystemLogTypeSystem SystemLogType = "System"
  1346. // Indicates that a access log is requested.
  1347. // SystemLogTypeAccess const
  1348. SystemLogTypeAccess SystemLogType = "Access"
  1349. )
  1350. // Enumeration describing the available factory default modes.
  1351. // FactoryDefaultType type
  1352. type FactoryDefaultType string
  1353. const (
  1354. // Indicates that a hard factory default is requested.
  1355. // FactoryDefaultTypeHard const
  1356. FactoryDefaultTypeHard FactoryDefaultType = "Hard"
  1357. // Indicates that a soft factory default is requested.
  1358. // FactoryDefaultTypeSoft const
  1359. FactoryDefaultTypeSoft FactoryDefaultType = "Soft"
  1360. )
  1361. // SetDateTimeType type
  1362. type SetDateTimeType string
  1363. const (
  1364. // Indicates that the date and time are set manually.
  1365. // SetDateTimeTypeManual const
  1366. SetDateTimeTypeManual SetDateTimeType = "Manual"
  1367. // Indicates that the date and time are set through NTP
  1368. // SetDateTimeTypeNTP const
  1369. SetDateTimeTypeNTP SetDateTimeType = "NTP"
  1370. )
  1371. // UserLevel type
  1372. type UserLevel string
  1373. const (
  1374. // UserLevelAdministrator const
  1375. UserLevelAdministrator UserLevel = "Administrator"
  1376. // UserLevelOperator const
  1377. UserLevelOperator UserLevel = "Operator"
  1378. // UserLevelUser const
  1379. UserLevelUser UserLevel = "User"
  1380. // UserLevelAnonymous const
  1381. UserLevelAnonymous UserLevel = "Anonymous"
  1382. // UserLevelExtended const
  1383. UserLevelExtended UserLevel = "Extended"
  1384. )
  1385. // RelayLogicalState type
  1386. type RelayLogicalState string
  1387. const (
  1388. // RelayLogicalStateActive const
  1389. RelayLogicalStateActive RelayLogicalState = "active"
  1390. // RelayLogicalStateInactive const
  1391. RelayLogicalStateInactive RelayLogicalState = "inactive"
  1392. )
  1393. // RelayIdleState type
  1394. type RelayIdleState string
  1395. const (
  1396. // RelayIdleStateClosed const
  1397. RelayIdleStateClosed RelayIdleState = "closed"
  1398. // RelayIdleStateOpen const
  1399. RelayIdleStateOpen RelayIdleState = "open"
  1400. )
  1401. // RelayMode type
  1402. type RelayMode string
  1403. const (
  1404. // RelayModeMonostable const
  1405. RelayModeMonostable RelayMode = "Monostable"
  1406. // RelayModeBistable const
  1407. RelayModeBistable RelayMode = "Bistable"
  1408. )
  1409. // DigitalIdleState type
  1410. type DigitalIdleState string
  1411. const (
  1412. // DigitalIdleStateClosed const
  1413. DigitalIdleStateClosed DigitalIdleState = "closed"
  1414. // DigitalIdleStateOpen const
  1415. DigitalIdleStateOpen DigitalIdleState = "open"
  1416. )
  1417. // EFlipMode type
  1418. type EFlipMode string
  1419. const (
  1420. // EFlipModeOFF const
  1421. EFlipModeOFF EFlipMode = "OFF"
  1422. // EFlipModeON const
  1423. EFlipModeON EFlipMode = "ON"
  1424. // EFlipModeExtended const
  1425. EFlipModeExtended EFlipMode = "Extended"
  1426. )
  1427. // ReverseMode type
  1428. type ReverseMode string
  1429. const (
  1430. // ReverseModeOFF const
  1431. ReverseModeOFF ReverseMode = "OFF"
  1432. // ReverseModeON const
  1433. ReverseModeON ReverseMode = "ON"
  1434. // ReverseModeAUTO const
  1435. ReverseModeAUTO ReverseMode = "AUTO"
  1436. // ReverseModeExtended const
  1437. ReverseModeExtended ReverseMode = "Extended"
  1438. )
  1439. // AuxiliaryData type
  1440. type AuxiliaryData string
  1441. // PTZPresetTourState type
  1442. type PTZPresetTourState string
  1443. const (
  1444. // PTZPresetTourStateIdle const
  1445. PTZPresetTourStateIdle PTZPresetTourState = "Idle"
  1446. // PTZPresetTourStateTouring const
  1447. PTZPresetTourStateTouring PTZPresetTourState = "Touring"
  1448. // PTZPresetTourStatePaused const
  1449. PTZPresetTourStatePaused PTZPresetTourState = "Paused"
  1450. // PTZPresetTourStateExtended const
  1451. PTZPresetTourStateExtended PTZPresetTourState = "Extended"
  1452. )
  1453. // PTZPresetTourDirection type
  1454. type PTZPresetTourDirection string
  1455. const (
  1456. // PTZPresetTourDirectionForward const
  1457. PTZPresetTourDirectionForward PTZPresetTourDirection = "Forward"
  1458. // PTZPresetTourDirectionBackward const
  1459. PTZPresetTourDirectionBackward PTZPresetTourDirection = "Backward"
  1460. // PTZPresetTourDirectionExtended const
  1461. PTZPresetTourDirectionExtended PTZPresetTourDirection = "Extended"
  1462. )
  1463. // PTZPresetTourOperation type
  1464. type PTZPresetTourOperation string
  1465. const (
  1466. // PTZPresetTourOperationStart const
  1467. PTZPresetTourOperationStart PTZPresetTourOperation = "Start"
  1468. // PTZPresetTourOperationStop const
  1469. PTZPresetTourOperationStop PTZPresetTourOperation = "Stop"
  1470. // PTZPresetTourOperationPause const
  1471. PTZPresetTourOperationPause PTZPresetTourOperation = "Pause"
  1472. // PTZPresetTourOperationExtended const
  1473. PTZPresetTourOperationExtended PTZPresetTourOperation = "Extended"
  1474. )
  1475. // AutoFocusMode type
  1476. type AutoFocusMode string
  1477. const (
  1478. // AutoFocusModeAUTO const
  1479. AutoFocusModeAUTO AutoFocusMode = "AUTO"
  1480. // AutoFocusModeMANUAL const
  1481. AutoFocusModeMANUAL AutoFocusMode = "MANUAL"
  1482. )
  1483. // AFModes type
  1484. type AFModes string
  1485. const (
  1486. // Focus of a moving camera is updated only once after stopping a pan, tilt or zoom movement.
  1487. // AFModesOnceAfterMove const
  1488. AFModesOnceAfterMove AFModes = "OnceAfterMove"
  1489. )
  1490. // WideDynamicMode type
  1491. type WideDynamicMode string
  1492. const (
  1493. // WideDynamicModeOFF const
  1494. WideDynamicModeOFF WideDynamicMode = "OFF"
  1495. // WideDynamicModeON const
  1496. WideDynamicModeON WideDynamicMode = "ON"
  1497. )
  1498. // Enumeration describing the available backlight compenstation modes.
  1499. // BacklightCompensationMode type
  1500. type BacklightCompensationMode string
  1501. const (
  1502. // Backlight compensation is disabled.
  1503. // BacklightCompensationModeOFF const
  1504. BacklightCompensationModeOFF BacklightCompensationMode = "OFF"
  1505. // Backlight compensation is enabled.
  1506. // BacklightCompensationModeON const
  1507. BacklightCompensationModeON BacklightCompensationMode = "ON"
  1508. )
  1509. // ExposurePriority type
  1510. type ExposurePriority string
  1511. const (
  1512. // ExposurePriorityLowNoise const
  1513. ExposurePriorityLowNoise ExposurePriority = "LowNoise"
  1514. // ExposurePriorityFrameRate const
  1515. ExposurePriorityFrameRate ExposurePriority = "FrameRate"
  1516. )
  1517. // ExposureMode type
  1518. type ExposureMode string
  1519. const (
  1520. // ExposureModeAUTO const
  1521. ExposureModeAUTO ExposureMode = "AUTO"
  1522. // ExposureModeMANUAL const
  1523. ExposureModeMANUAL ExposureMode = "MANUAL"
  1524. )
  1525. // Enabled type
  1526. type Enabled string
  1527. const (
  1528. // EnabledENABLED const
  1529. EnabledENABLED Enabled = "ENABLED"
  1530. // EnabledDISABLED const
  1531. EnabledDISABLED Enabled = "DISABLED"
  1532. )
  1533. // WhiteBalanceMode type
  1534. type WhiteBalanceMode string
  1535. const (
  1536. // WhiteBalanceModeAUTO const
  1537. WhiteBalanceModeAUTO WhiteBalanceMode = "AUTO"
  1538. // WhiteBalanceModeMANUAL const
  1539. WhiteBalanceModeMANUAL WhiteBalanceMode = "MANUAL"
  1540. )
  1541. // IrCutFilterMode type
  1542. type IrCutFilterMode string
  1543. const (
  1544. // IrCutFilterModeON const
  1545. IrCutFilterModeON IrCutFilterMode = "ON"
  1546. // IrCutFilterModeOFF const
  1547. IrCutFilterModeOFF IrCutFilterMode = "OFF"
  1548. // IrCutFilterModeAUTO const
  1549. IrCutFilterModeAUTO IrCutFilterMode = "AUTO"
  1550. )
  1551. // ImageStabilizationMode type
  1552. type ImageStabilizationMode string
  1553. const (
  1554. // ImageStabilizationModeOFF const
  1555. ImageStabilizationModeOFF ImageStabilizationMode = "OFF"
  1556. // ImageStabilizationModeON const
  1557. ImageStabilizationModeON ImageStabilizationMode = "ON"
  1558. // ImageStabilizationModeAUTO const
  1559. ImageStabilizationModeAUTO ImageStabilizationMode = "AUTO"
  1560. // ImageStabilizationModeExtended const
  1561. ImageStabilizationModeExtended ImageStabilizationMode = "Extended"
  1562. )
  1563. // IrCutFilterAutoBoundaryType type
  1564. type IrCutFilterAutoBoundaryType string
  1565. const (
  1566. // IrCutFilterAutoBoundaryTypeCommon const
  1567. IrCutFilterAutoBoundaryTypeCommon IrCutFilterAutoBoundaryType = "Common"
  1568. // IrCutFilterAutoBoundaryTypeToOn const
  1569. IrCutFilterAutoBoundaryTypeToOn IrCutFilterAutoBoundaryType = "ToOn"
  1570. // IrCutFilterAutoBoundaryTypeToOff const
  1571. IrCutFilterAutoBoundaryTypeToOff IrCutFilterAutoBoundaryType = "ToOff"
  1572. // IrCutFilterAutoBoundaryTypeExtended const
  1573. IrCutFilterAutoBoundaryTypeExtended IrCutFilterAutoBoundaryType = "Extended"
  1574. )
  1575. // ToneCompensationMode type
  1576. type ToneCompensationMode string
  1577. const (
  1578. // ToneCompensationModeOFF const
  1579. ToneCompensationModeOFF ToneCompensationMode = "OFF"
  1580. // ToneCompensationModeON const
  1581. ToneCompensationModeON ToneCompensationMode = "ON"
  1582. // ToneCompensationModeAUTO const
  1583. ToneCompensationModeAUTO ToneCompensationMode = "AUTO"
  1584. )
  1585. // DefoggingMode type
  1586. type DefoggingMode string
  1587. const (
  1588. // DefoggingModeOFF const
  1589. DefoggingModeOFF DefoggingMode = "OFF"
  1590. // DefoggingModeON const
  1591. DefoggingModeON DefoggingMode = "ON"
  1592. // DefoggingModeAUTO const
  1593. DefoggingModeAUTO DefoggingMode = "AUTO"
  1594. )
  1595. // TopicNamespaceLocation type
  1596. type TopicNamespaceLocation AnyURI
  1597. // PropertyOperation type
  1598. type PropertyOperation string
  1599. const (
  1600. // PropertyOperationInitialized const
  1601. PropertyOperationInitialized PropertyOperation = "Initialized"
  1602. // PropertyOperationDeleted const
  1603. PropertyOperationDeleted PropertyOperation = "Deleted"
  1604. // PropertyOperationChanged const
  1605. PropertyOperationChanged PropertyOperation = "Changed"
  1606. )
  1607. // Direction type
  1608. type Direction string
  1609. const (
  1610. // DirectionLeft const
  1611. DirectionLeft Direction = "Left"
  1612. // DirectionRight const
  1613. DirectionRight Direction = "Right"
  1614. // DirectionAny const
  1615. DirectionAny Direction = "Any"
  1616. )
  1617. //
  1618. // Specifies a receiver connection mode.
  1619. //
  1620. // ReceiverMode type
  1621. type ReceiverMode string
  1622. const (
  1623. // The receiver connects on demand, as required by consumers of the media streams.
  1624. // ReceiverModeAutoConnect const
  1625. ReceiverModeAutoConnect ReceiverMode = "AutoConnect"
  1626. // The receiver attempts to maintain a persistent connection to the configured endpoint.
  1627. // ReceiverModeAlwaysConnect const
  1628. ReceiverModeAlwaysConnect ReceiverMode = "AlwaysConnect"
  1629. // The receiver does not attempt to connect.
  1630. // ReceiverModeNeverConnect const
  1631. ReceiverModeNeverConnect ReceiverMode = "NeverConnect"
  1632. // This case should never happen.
  1633. // ReceiverModeUnknown const
  1634. ReceiverModeUnknown ReceiverMode = "Unknown"
  1635. )
  1636. //
  1637. // Specifies the current connection state of the receiver.
  1638. //
  1639. // ReceiverState type
  1640. type ReceiverState string
  1641. const (
  1642. // The receiver is not connected.
  1643. // ReceiverStateNotConnected const
  1644. ReceiverStateNotConnected ReceiverState = "NotConnected"
  1645. // The receiver is attempting to connect.
  1646. // ReceiverStateConnecting const
  1647. ReceiverStateConnecting ReceiverState = "Connecting"
  1648. // The receiver is connected.
  1649. // ReceiverStateConnected const
  1650. ReceiverStateConnected ReceiverState = "Connected"
  1651. // This case should never happen.
  1652. // ReceiverStateUnknown const
  1653. ReceiverStateUnknown ReceiverState = "Unknown"
  1654. )
  1655. // ReceiverReference type
  1656. type ReceiverReference ReferenceToken
  1657. // RecordingReference type
  1658. type RecordingReference ReferenceToken
  1659. // TrackReference type
  1660. type TrackReference ReferenceToken
  1661. // Description type
  1662. type Description string
  1663. // XPathExpression type
  1664. type XPathExpression string
  1665. // SearchState type
  1666. type SearchState string
  1667. const (
  1668. // The search is queued and not yet started.
  1669. // SearchStateQueued const
  1670. SearchStateQueued SearchState = "Queued"
  1671. // The search is underway and not yet completed.
  1672. // SearchStateSearching const
  1673. SearchStateSearching SearchState = "Searching"
  1674. // The search has been completed and no new results will be found.
  1675. // SearchStateCompleted const
  1676. SearchStateCompleted SearchState = "Completed"
  1677. // The state of the search is unknown. (This is not a valid response from GetSearchState.)
  1678. // SearchStateUnknown const
  1679. SearchStateUnknown SearchState = "Unknown"
  1680. )
  1681. // JobToken type
  1682. type JobToken ReferenceToken
  1683. // RecordingStatus type
  1684. type RecordingStatus string
  1685. const (
  1686. // RecordingStatusInitiated const
  1687. RecordingStatusInitiated RecordingStatus = "Initiated"
  1688. // RecordingStatusRecording const
  1689. RecordingStatusRecording RecordingStatus = "Recording"
  1690. // RecordingStatusStopped const
  1691. RecordingStatusStopped RecordingStatus = "Stopped"
  1692. // RecordingStatusRemoving const
  1693. RecordingStatusRemoving RecordingStatus = "Removing"
  1694. // RecordingStatusRemoved const
  1695. RecordingStatusRemoved RecordingStatus = "Removed"
  1696. // This case should never happen.
  1697. // RecordingStatusUnknown const
  1698. RecordingStatusUnknown RecordingStatus = "Unknown"
  1699. )
  1700. // TrackType type
  1701. type TrackType string
  1702. const (
  1703. // TrackTypeVideo const
  1704. TrackTypeVideo TrackType = "Video"
  1705. // TrackTypeAudio const
  1706. TrackTypeAudio TrackType = "Audio"
  1707. // TrackTypeMetadata const
  1708. TrackTypeMetadata TrackType = "Metadata"
  1709. // Placeholder for future extension.
  1710. // TrackTypeExtended const
  1711. TrackTypeExtended TrackType = "Extended"
  1712. )
  1713. // RecordingJobReference type
  1714. type RecordingJobReference ReferenceToken
  1715. // RecordingJobMode type
  1716. type RecordingJobMode string
  1717. // RecordingJobState type
  1718. type RecordingJobState string
  1719. // ModeOfOperation type
  1720. type ModeOfOperation string
  1721. const (
  1722. // ModeOfOperationIdle const
  1723. ModeOfOperationIdle ModeOfOperation = "Idle"
  1724. // ModeOfOperationActive const
  1725. ModeOfOperationActive ModeOfOperation = "Active"
  1726. // This case should never happen.
  1727. // ModeOfOperationUnknown const
  1728. ModeOfOperationUnknown ModeOfOperation = "Unknown"
  1729. )
  1730. //
  1731. // AudioClassType acceptable values are;
  1732. // gun_shot, scream, glass_breaking, tire_screech
  1733. //
  1734. // AudioClassType type
  1735. type AudioClassType string
  1736. // OSDType type
  1737. type OSDType string
  1738. const (
  1739. // OSDTypeText const
  1740. OSDTypeText OSDType = "Text"
  1741. // OSDTypeImage const
  1742. OSDTypeImage OSDType = "Image"
  1743. // OSDTypeExtended const
  1744. OSDTypeExtended OSDType = "Extended"
  1745. )
  1746. // Message type
  1747. type Message struct {
  1748. XMLName xml.Name `xml:"http://www.onvif.org/ver10/schema Message"`
  1749. // Token value pairs that triggered this message. Typically only one item is present.
  1750. Source ItemList `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  1751. Key ItemList `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  1752. Data ItemList `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  1753. Extension MessageExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1754. UtcTime string `xml:"http://www.onvif.org/ver10/schema UtcTime,attr,omitempty"`
  1755. PropertyOperation PropertyOperation `xml:"http://www.onvif.org/ver10/schema PropertyOperation,attr,omitempty"`
  1756. }
  1757. // DeviceEntity type
  1758. type DeviceEntity struct {
  1759. // Unique identifier referencing the physical entity.
  1760. Token ReferenceToken `xml:"token,attr,omitempty"`
  1761. }
  1762. // IntRectangle type
  1763. type IntRectangle struct {
  1764. X int32 `xml:"x,attr,omitempty"`
  1765. Y int32 `xml:"y,attr,omitempty"`
  1766. Width int32 `xml:"width,attr,omitempty"`
  1767. Height int32 `xml:"height,attr,omitempty"`
  1768. }
  1769. // IntRectangleRange type
  1770. type IntRectangleRange struct {
  1771. // Range of X-axis.
  1772. XRange IntRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  1773. // Range of Y-axis.
  1774. YRange IntRange `xml:"http://www.onvif.org/ver10/schema YRange,omitempty"`
  1775. // Range of width.
  1776. WidthRange IntRange `xml:"http://www.onvif.org/ver10/schema WidthRange,omitempty"`
  1777. // Range of height.
  1778. HeightRange IntRange `xml:"http://www.onvif.org/ver10/schema HeightRange,omitempty"`
  1779. }
  1780. // FloatRange type
  1781. type FloatRange struct {
  1782. Min float32 `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  1783. Max float32 `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  1784. }
  1785. // DurationRange type
  1786. type DurationRange struct {
  1787. Min Duration `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  1788. Max Duration `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  1789. }
  1790. // IntList type
  1791. type IntList struct {
  1792. Items []int32 `xml:"http://www.onvif.org/ver10/schema Items,omitempty"`
  1793. }
  1794. // VideoSource type
  1795. type VideoSource struct {
  1796. *DeviceEntity
  1797. // Frame rate in frames per second.
  1798. Framerate float32 `xml:"http://www.onvif.org/ver10/schema Framerate,omitempty"`
  1799. // Horizontal and vertical resolution
  1800. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  1801. // Optional configuration of the image sensor.
  1802. Imaging ImagingSettings `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  1803. Extension VideoSourceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1804. }
  1805. // VideoSourceExtension type
  1806. type VideoSourceExtension struct {
  1807. // Optional configuration of the image sensor. To be used if imaging service 2.00 is supported.
  1808. Imaging ImagingSettings20 `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  1809. Extension VideoSourceExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1810. }
  1811. // VideoSourceExtension2 type
  1812. type VideoSourceExtension2 struct {
  1813. }
  1814. // AudioSource type
  1815. type AudioSource struct {
  1816. *DeviceEntity
  1817. // number of available audio channels. (1: mono, 2: stereo)
  1818. Channels int32 `xml:"http://www.onvif.org/ver10/schema Channels,omitempty"`
  1819. }
  1820. // Profile type
  1821. type Profile struct {
  1822. // User readable name of the profile.
  1823. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  1824. // Optional configuration of the Video input.
  1825. VideoSourceConfiguration VideoSourceConfiguration `xml:"http://www.onvif.org/ver10/schema VideoSourceConfiguration,omitempty"`
  1826. // Optional configuration of the Audio input.
  1827. AudioSourceConfiguration AudioSourceConfiguration `xml:"http://www.onvif.org/ver10/schema AudioSourceConfiguration,omitempty"`
  1828. // Optional configuration of the Video encoder.
  1829. VideoEncoderConfiguration VideoEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema VideoEncoderConfiguration,omitempty"`
  1830. // Optional configuration of the Audio encoder.
  1831. AudioEncoderConfiguration AudioEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema AudioEncoderConfiguration,omitempty"`
  1832. // Optional configuration of the video analytics module and rule engine.
  1833. VideoAnalyticsConfiguration VideoAnalyticsConfiguration `xml:"http://www.onvif.org/ver10/schema VideoAnalyticsConfiguration,omitempty"`
  1834. // Optional configuration of the pan tilt zoom unit.
  1835. PTZConfiguration PTZConfiguration `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZConfiguration,omitempty"`
  1836. // Optional configuration of the metadata stream.
  1837. MetadataConfiguration MetadataConfiguration `xml:"http://www.onvif.org/ver10/schema MetadataConfiguration,omitempty"`
  1838. // Extensions defined in ONVIF 2.0
  1839. Extension ProfileExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1840. // Unique identifier of the profile.
  1841. Token ReferenceToken `xml:"token,attr,omitempty"`
  1842. // A value of true signals that the profile cannot be deleted. Default is false.
  1843. Fixed bool `xml:"fixed,attr,omitempty"`
  1844. }
  1845. // ProfileExtension type
  1846. type ProfileExtension struct {
  1847. // Optional configuration of the Audio output.
  1848. AudioOutputConfiguration AudioOutputConfiguration `xml:"http://www.onvif.org/ver10/schema AudioOutputConfiguration,omitempty"`
  1849. // Optional configuration of the Audio decoder.
  1850. AudioDecoderConfiguration AudioDecoderConfiguration `xml:"http://www.onvif.org/ver10/schema AudioDecoderConfiguration,omitempty"`
  1851. Extension ProfileExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1852. }
  1853. // ProfileExtension2 type
  1854. type ProfileExtension2 struct {
  1855. }
  1856. // ConfigurationEntity type
  1857. type ConfigurationEntity struct {
  1858. // User readable name. Length up to 64 characters.
  1859. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  1860. // Number of internal references currently using this configuration.
  1861. UseCount int32 `xml:"http://www.onvif.org/ver10/schema UseCount,omitempty"`
  1862. // Token that uniquely references this configuration. Length up to 64 characters.
  1863. Token ReferenceToken `xml:"token,attr,omitempty"`
  1864. }
  1865. // VideoSourceConfiguration type
  1866. type VideoSourceConfiguration struct {
  1867. *ConfigurationEntity
  1868. // Reference to the physical input.
  1869. SourceToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl SourceToken,omitempty"`
  1870. // Rectangle specifying the Video capturing area. The capturing area shall not be larger than the whole Video source area.
  1871. Bounds IntRectangle `xml:"http://www.onvif.org/ver10/schema Bounds,omitempty"`
  1872. Extension VideoSourceConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1873. // Readonly parameter signalling Source configuration's view mode, for devices supporting different view modes as defined in tt:viewModes.
  1874. ViewMode string `xml:"http://www.onvif.org/ver20/ptz/wsdl ViewMode,attr,omitempty"`
  1875. }
  1876. // VideoSourceConfigurationExtension type
  1877. type VideoSourceConfigurationExtension struct {
  1878. // Optional element to configure rotation of captured image.
  1879. // What resolutions a device supports shall be unaffected by the Rotate parameters.
  1880. // If a device is configured with Rotate=AUTO, the device shall take control over the Degree parameter and automatically update it so that a client can query current rotation.
  1881. // The device shall automatically apply the same rotation to its pan/tilt control direction depending on the following condition:
  1882. // if Reverse=AUTO in PTControlDirection or if the device doesn’t support Reverse in PTControlDirection
  1883. //
  1884. Rotate Rotate `xml:"http://www.onvif.org/ver10/schema Rotate,omitempty"`
  1885. Extension VideoSourceConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1886. }
  1887. // VideoSourceConfigurationExtension2 type
  1888. type VideoSourceConfigurationExtension2 struct {
  1889. // Optional element describing the geometric lens distortion. Multiple instances for future variable lens support.
  1890. LensDescription []LensDescription `xml:"http://www.onvif.org/ver10/schema LensDescription,omitempty"`
  1891. // Optional element describing the scene orientation in the camera’s field of view.
  1892. SceneOrientation SceneOrientation `xml:"http://www.onvif.org/ver10/schema SceneOrientation,omitempty"`
  1893. }
  1894. // Rotate type
  1895. type Rotate struct {
  1896. // Parameter to enable/disable Rotation feature.
  1897. Mode RotateMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  1898. // Optional parameter to configure how much degree of clockwise rotation of image for On mode. Omitting this parameter for On mode means 180 degree rotation.
  1899. Degree int32 `xml:"http://www.onvif.org/ver10/schema Degree,omitempty"`
  1900. Extension RotateExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1901. }
  1902. // RotateExtension type
  1903. type RotateExtension struct {
  1904. }
  1905. // LensProjection type
  1906. type LensProjection struct {
  1907. // Angle of incidence.
  1908. Angle float32 `xml:"http://www.onvif.org/ver10/schema Angle,omitempty"`
  1909. // Mapping radius as a consequence of the emergent angle.
  1910. Radius float32 `xml:"http://www.onvif.org/ver10/schema Radius,omitempty"`
  1911. // Optional ray absorption at the given angle due to vignetting. A value of one means no absorption.
  1912. Transmittance float32 `xml:"http://www.onvif.org/ver10/schema Transmittance,omitempty"`
  1913. }
  1914. // LensOffset type
  1915. type LensOffset struct {
  1916. // Optional horizontal offset of the lens center in normalized coordinates.
  1917. X float32 `xml:"x,attr,omitempty"`
  1918. // Optional vertical offset of the lens center in normalized coordinates.
  1919. Y float32 `xml:"y,attr,omitempty"`
  1920. }
  1921. // LensDescription type
  1922. type LensDescription struct {
  1923. // Offset of the lens center to the imager center in normalized coordinates.
  1924. Offset LensOffset `xml:"http://www.onvif.org/ver10/schema Offset,omitempty"`
  1925. // Radial description of the projection characteristics. The resulting curve is defined by the B-Spline interpolation
  1926. // over the given elements. The element for Radius zero shall not be provided. The projection points shall be ordered with ascending Radius.
  1927. // Items outside the last projection Radius shall be assumed to be invisible (black).
  1928. Projection []LensProjection `xml:"http://www.onvif.org/ver10/schema Projection,omitempty"`
  1929. // Compensation of the x coordinate needed for the ONVIF normalized coordinate system.
  1930. XFactor float32 `xml:"http://www.onvif.org/ver10/schema XFactor,omitempty"`
  1931. // Optional focal length of the optical system.
  1932. FocalLength float32 `xml:"http://www.onvif.org/ver10/schema FocalLength,attr,omitempty"`
  1933. }
  1934. // VideoSourceConfigurationOptions type
  1935. type VideoSourceConfigurationOptions struct {
  1936. //
  1937. // Supported range for the capturing area.
  1938. // Device that does not support cropped streaming shall express BoundsRange option as mentioned below
  1939. // BoundsRange->XRange and BoundsRange->YRange with same Min/Max values HeightRange and WidthRange Min/Max values same as VideoSource Height and Width Limits.
  1940. //
  1941. BoundsRange IntRectangleRange `xml:"http://www.onvif.org/ver10/schema BoundsRange,omitempty"`
  1942. // List of physical inputs.
  1943. VideoSourceTokensAvailable []ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl VideoSourceTokensAvailable,omitempty"`
  1944. Extension VideoSourceConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1945. // Maximum number of profiles.
  1946. MaximumNumberOfProfiles int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfProfiles,attr,omitempty"`
  1947. }
  1948. // VideoSourceConfigurationOptionsExtension type
  1949. type VideoSourceConfigurationOptionsExtension struct {
  1950. // Options of parameters for Rotation feature.
  1951. Rotate RotateOptions `xml:"http://www.onvif.org/ver10/schema Rotate,omitempty"`
  1952. Extension VideoSourceConfigurationOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1953. }
  1954. // VideoSourceConfigurationOptionsExtension2 type
  1955. type VideoSourceConfigurationOptionsExtension2 struct {
  1956. // Scene orientation modes supported by the device for this configuration.
  1957. SceneOrientationMode []SceneOrientationMode `xml:"http://www.onvif.org/ver10/schema SceneOrientationMode,omitempty"`
  1958. }
  1959. // RotateOptions type
  1960. type RotateOptions struct {
  1961. // Supported options of Rotate mode parameter.
  1962. Mode []RotateMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  1963. // List of supported degree value for rotation.
  1964. DegreeList IntList `xml:"http://www.onvif.org/ver10/schema DegreeList,omitempty"`
  1965. Extension RotateOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1966. // After setting the rotation, if a device starts to reboot this value is true.
  1967. // If a device can handle rotation setting without rebooting this value is false.
  1968. Reboot bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Reboot,attr,omitempty"`
  1969. }
  1970. // RotateOptionsExtension type
  1971. type RotateOptionsExtension struct {
  1972. }
  1973. // SceneOrientation type
  1974. type SceneOrientation struct {
  1975. //
  1976. // Parameter to assign the way the camera determines the scene orientation.
  1977. //
  1978. Mode SceneOrientationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  1979. //
  1980. // Assigned or determined scene orientation based on the Mode. When assigning the Mode to AUTO, this field
  1981. // is optional and will be ignored by the device. When assigning the Mode to MANUAL, this field is required
  1982. // and the device will return an InvalidArgs fault if missing.
  1983. //
  1984. Orientation string `xml:"http://www.onvif.org/ver20/ptz/wsdl Orientation,omitempty"`
  1985. }
  1986. // VideoEncoderConfiguration type
  1987. type VideoEncoderConfiguration struct {
  1988. *ConfigurationEntity
  1989. // Used video codec, either Jpeg, H.264 or Mpeg4
  1990. Encoding VideoEncoding `xml:"http://www.onvif.org/ver10/schema Encoding,omitempty"`
  1991. // Configured video resolution
  1992. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  1993. // Relative value for the video quantizers and the quality of the video. A high value within supported quality range means higher quality
  1994. Quality float32 `xml:"http://www.onvif.org/ver10/schema Quality,omitempty"`
  1995. // Optional element to configure rate control related parameters.
  1996. RateControl VideoRateControl `xml:"http://www.onvif.org/ver10/schema RateControl,omitempty"`
  1997. // Optional element to configure Mpeg4 related parameters.
  1998. MPEG4 Mpeg4Configuration `xml:"http://www.onvif.org/ver10/schema MPEG4,omitempty"`
  1999. // Optional element to configure H.264 related parameters.
  2000. H264 H264Configuration `xml:"http://www.onvif.org/ver10/schema H264,omitempty"`
  2001. // Defines the multicast settings that could be used for video streaming.
  2002. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2003. // The rtsp session timeout for the related video stream
  2004. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2005. //
  2006. // A value of true indicates that frame rate is a fixed value rather than an upper limit,
  2007. // and that the video encoder shall prioritize frame rate over all other adaptable
  2008. // configuration values such as bitrate. Default is false.
  2009. //
  2010. GuaranteedFrameRate bool `xml:"http://www.onvif.org/ver20/ptz/wsdl GuaranteedFrameRate,attr,omitempty"`
  2011. }
  2012. // VideoResolution type
  2013. type VideoResolution struct {
  2014. // Number of the columns of the Video image.
  2015. Width int32 `xml:"http://www.onvif.org/ver10/schema Width,omitempty"`
  2016. // Number of the lines of the Video image.
  2017. Height int32 `xml:"http://www.onvif.org/ver10/schema Height,omitempty"`
  2018. }
  2019. // VideoRateControl type
  2020. type VideoRateControl struct {
  2021. // Maximum output framerate in fps. If an EncodingInterval is provided the resulting encoded framerate will be reduced by the given factor.
  2022. FrameRateLimit int32 `xml:"http://www.onvif.org/ver10/schema FrameRateLimit,omitempty"`
  2023. // Interval at which images are encoded and transmitted. (A value of 1 means that every frame is encoded, a value of 2 means that every 2nd frame is encoded ...)
  2024. EncodingInterval int32 `xml:"http://www.onvif.org/ver10/schema EncodingInterval,omitempty"`
  2025. // the maximum output bitrate in kbps
  2026. BitrateLimit int32 `xml:"http://www.onvif.org/ver10/schema BitrateLimit,omitempty"`
  2027. }
  2028. // Mpeg4Configuration type
  2029. type Mpeg4Configuration struct {
  2030. // Determines the interval in which the I-Frames will be coded. An entry of 1 indicates I-Frames are continuously generated. An entry of 2 indicates that every 2nd image is an I-Frame, and 3 only every 3rd frame, etc. The frames in between are coded as P or B Frames.
  2031. GovLength int32 `xml:"http://www.onvif.org/ver10/schema GovLength,omitempty"`
  2032. // the Mpeg4 profile, either simple profile (SP) or advanced simple profile (ASP)
  2033. Mpeg4Profile Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema Mpeg4Profile,omitempty"`
  2034. }
  2035. // H264Configuration type
  2036. type H264Configuration struct {
  2037. // Group of Video frames length. Determines typically the interval in which the I-Frames will be coded. An entry of 1 indicates I-Frames are continuously generated. An entry of 2 indicates that every 2nd image is an I-Frame, and 3 only every 3rd frame, etc. The frames in between are coded as P or B Frames.
  2038. GovLength int32 `xml:"http://www.onvif.org/ver10/schema GovLength,omitempty"`
  2039. // the H.264 profile, either baseline, main, extended or high
  2040. H264Profile H264Profile `xml:"http://www.onvif.org/ver10/schema H264Profile,omitempty"`
  2041. }
  2042. // VideoEncoderOptionsExtension type
  2043. type VideoEncoderOptionsExtension struct {
  2044. // Optional JPEG encoder settings ranges.
  2045. JPEG JpegOptions2 `xml:"http://www.onvif.org/ver10/schema JPEG,omitempty"`
  2046. // Optional MPEG-4 encoder settings ranges.
  2047. MPEG4 Mpeg4Options2 `xml:"http://www.onvif.org/ver10/schema MPEG4,omitempty"`
  2048. // Optional H.264 encoder settings ranges.
  2049. H264 H264Options2 `xml:"http://www.onvif.org/ver10/schema H264,omitempty"`
  2050. Extension VideoEncoderOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2051. }
  2052. // VideoEncoderOptionsExtension2 type
  2053. type VideoEncoderOptionsExtension2 struct {
  2054. }
  2055. // JpegOptions type
  2056. type JpegOptions struct {
  2057. // List of supported image sizes.
  2058. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2059. // Supported frame rate in fps (frames per second).
  2060. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2061. // Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded.
  2062. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2063. }
  2064. // JpegOptions2 type
  2065. type JpegOptions2 struct {
  2066. *JpegOptions
  2067. // Supported range of encoded bitrate in kbps.
  2068. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2069. }
  2070. // Mpeg4Options type
  2071. type Mpeg4Options struct {
  2072. // List of supported image sizes.
  2073. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2074. // Supported group of Video frames length. This value typically corresponds to the I-Frame distance.
  2075. GovLengthRange IntRange `xml:"http://www.onvif.org/ver10/schema GovLengthRange,omitempty"`
  2076. // Supported frame rate in fps (frames per second).
  2077. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2078. // Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded.
  2079. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2080. // List of supported MPEG-4 profiles.
  2081. Mpeg4ProfilesSupported []Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema Mpeg4ProfilesSupported,omitempty"`
  2082. }
  2083. // Mpeg4Options2 type
  2084. type Mpeg4Options2 struct {
  2085. *Mpeg4Options
  2086. // Supported range of encoded bitrate in kbps.
  2087. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2088. }
  2089. // H264Options type
  2090. type H264Options struct {
  2091. // List of supported image sizes.
  2092. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2093. // Supported group of Video frames length. This value typically corresponds to the I-Frame distance.
  2094. GovLengthRange IntRange `xml:"http://www.onvif.org/ver10/schema GovLengthRange,omitempty"`
  2095. // Supported frame rate in fps (frames per second).
  2096. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2097. // Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded.
  2098. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2099. // List of supported H.264 profiles.
  2100. H264ProfilesSupported []H264Profile `xml:"http://www.onvif.org/ver10/schema H264ProfilesSupported,omitempty"`
  2101. }
  2102. // H264Options2 type
  2103. type H264Options2 struct {
  2104. *H264Options
  2105. // Supported range of encoded bitrate in kbps.
  2106. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2107. }
  2108. // AudioSourceConfiguration type
  2109. type AudioSourceConfiguration struct {
  2110. *ConfigurationEntity
  2111. // Token of the Audio Source the configuration applies to
  2112. SourceToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl SourceToken,omitempty"`
  2113. }
  2114. // AudioEncoderConfiguration type
  2115. type AudioEncoderConfiguration struct {
  2116. *ConfigurationEntity
  2117. // Audio codec used for encoding the audio input (either G.711, G.726 or AAC)
  2118. Encoding AudioEncoding `xml:"http://www.onvif.org/ver10/schema Encoding,omitempty"`
  2119. // The output bitrate in kbps.
  2120. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  2121. // The output sample rate in kHz.
  2122. SampleRate int32 `xml:"http://www.onvif.org/ver10/schema SampleRate,omitempty"`
  2123. // Defines the multicast settings that could be used for video streaming.
  2124. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2125. // The rtsp session timeout for the related audio stream
  2126. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2127. }
  2128. // VideoAnalyticsConfiguration type
  2129. type VideoAnalyticsConfiguration struct {
  2130. *ConfigurationEntity
  2131. AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  2132. RuleEngineConfiguration RuleEngineConfiguration `xml:"http://www.onvif.org/ver10/schema RuleEngineConfiguration,omitempty"`
  2133. }
  2134. // MetadataConfiguration type
  2135. type MetadataConfiguration struct {
  2136. *ConfigurationEntity
  2137. // optional element to configure which PTZ related data is to include in the metadata stream
  2138. PTZStatus PTZFilter `xml:"http://www.onvif.org/ver10/schema PTZStatus,omitempty"`
  2139. // Optional element to configure the streaming of events. A client might be interested in receiving all,
  2140. // none or some of the events produced by the device:
  2141. //
  2142. Events EventSubscription `xml:"http://www.onvif.org/ver10/schema Events,omitempty"`
  2143. // Defines whether the streamed metadata will include metadata from the analytics engines (video, cell motion, audio etc.)
  2144. Analytics bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Analytics,omitempty"`
  2145. // Defines the multicast settings that could be used for video streaming.
  2146. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2147. // The rtsp session timeout for the related audio stream (when using Media2 Service, this value is deprecated and ignored)
  2148. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2149. AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  2150. Extension MetadataConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2151. // Optional parameter to configure compression type of Metadata payload. Use values from enumeration MetadataCompressionType.
  2152. CompressionType string `xml:"http://www.onvif.org/ver20/ptz/wsdl CompressionType,attr,omitempty"`
  2153. // Optional parameter to configure if the metadata stream shall contain the Geo Location coordinates of each target.
  2154. GeoLocation bool `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoLocation,attr,omitempty"`
  2155. }
  2156. // MetadataConfigurationExtension type
  2157. type MetadataConfigurationExtension struct {
  2158. }
  2159. // PTZFilter type
  2160. type PTZFilter struct {
  2161. // True if the metadata stream shall contain the PTZ status (IDLE, MOVING or UNKNOWN)
  2162. Status bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Status,omitempty"`
  2163. // True if the metadata stream shall contain the PTZ position
  2164. Position bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Position,omitempty"`
  2165. }
  2166. // EventSubscription type
  2167. type EventSubscription struct {
  2168. Filter FilterType `xml:"Filter,omitempty"`
  2169. SubscriptionPolicy struct {
  2170. } `xml:"SubscriptionPolicy,omitempty"`
  2171. }
  2172. // MetadataConfigurationOptions type
  2173. type MetadataConfigurationOptions struct {
  2174. PTZStatusFilterOptions PTZStatusFilterOptions `xml:"http://www.onvif.org/ver10/schema PTZStatusFilterOptions,omitempty"`
  2175. Extension MetadataConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2176. // True if the device is able to stream the Geo Located positions of each target.
  2177. GeoLocation bool `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoLocation,attr,omitempty"`
  2178. }
  2179. // MetadataConfigurationOptionsExtension type
  2180. type MetadataConfigurationOptionsExtension struct {
  2181. // List of supported metadata compression type. Its options shall be chosen from tt:MetadataCompressionType.
  2182. CompressionType []string `xml:"http://www.onvif.org/ver20/ptz/wsdl CompressionType,omitempty"`
  2183. Extension MetadataConfigurationOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2184. }
  2185. // MetadataConfigurationOptionsExtension2 type
  2186. type MetadataConfigurationOptionsExtension2 struct {
  2187. }
  2188. // PTZStatusFilterOptions type
  2189. type PTZStatusFilterOptions struct {
  2190. // True if the device is able to stream pan or tilt status information.
  2191. PanTiltStatusSupported bool `xml:"http://www.onvif.org/ver20/ptz/wsdl PanTiltStatusSupported,omitempty"`
  2192. // True if the device is able to stream zoom status inforamtion.
  2193. ZoomStatusSupported bool `xml:"http://www.onvif.org/ver20/ptz/wsdl ZoomStatusSupported,omitempty"`
  2194. // True if the device is able to stream the pan or tilt position.
  2195. PanTiltPositionSupported bool `xml:"http://www.onvif.org/ver20/ptz/wsdl PanTiltPositionSupported,omitempty"`
  2196. // True if the device is able to stream zoom position information.
  2197. ZoomPositionSupported bool `xml:"http://www.onvif.org/ver20/ptz/wsdl ZoomPositionSupported,omitempty"`
  2198. Extension PTZStatusFilterOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2199. }
  2200. // PTZStatusFilterOptionsExtension type
  2201. type PTZStatusFilterOptionsExtension struct {
  2202. }
  2203. // VideoOutput type
  2204. type VideoOutput struct {
  2205. *DeviceEntity
  2206. Layout Layout `xml:"http://www.onvif.org/ver10/schema Layout,omitempty"`
  2207. // Resolution of the display in Pixel.
  2208. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  2209. // Refresh rate of the display in Hertz.
  2210. RefreshRate float32 `xml:"http://www.onvif.org/ver10/schema RefreshRate,omitempty"`
  2211. // Aspect ratio of the display as physical extent of width divided by height.
  2212. AspectRatio float32 `xml:"http://www.onvif.org/ver10/schema AspectRatio,omitempty"`
  2213. Extension VideoOutputExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2214. }
  2215. // VideoOutputExtension type
  2216. type VideoOutputExtension struct {
  2217. }
  2218. // VideoDecoderConfigurationOptions type
  2219. type VideoDecoderConfigurationOptions struct {
  2220. // If the device is able to decode Jpeg streams this element describes the supported codecs and configurations
  2221. JpegDecOptions JpegDecOptions `xml:"http://www.onvif.org/ver10/schema JpegDecOptions,omitempty"`
  2222. // If the device is able to decode H.264 streams this element describes the supported codecs and configurations
  2223. H264DecOptions H264DecOptions `xml:"http://www.onvif.org/ver10/schema H264DecOptions,omitempty"`
  2224. // If the device is able to decode Mpeg4 streams this element describes the supported codecs and configurations
  2225. Mpeg4DecOptions Mpeg4DecOptions `xml:"http://www.onvif.org/ver10/schema Mpeg4DecOptions,omitempty"`
  2226. Extension VideoDecoderConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2227. }
  2228. // H264DecOptions type
  2229. type H264DecOptions struct {
  2230. // List of supported H.264 Video Resolutions
  2231. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2232. // List of supported H264 Profiles (either baseline, main, extended or high)
  2233. SupportedH264Profiles []H264Profile `xml:"http://www.onvif.org/ver10/schema SupportedH264Profiles,omitempty"`
  2234. // Supported H.264 bitrate range in kbps
  2235. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  2236. // Supported H.264 framerate range in fps
  2237. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  2238. }
  2239. // JpegDecOptions type
  2240. type JpegDecOptions struct {
  2241. // List of supported Jpeg Video Resolutions
  2242. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2243. // Supported Jpeg bitrate range in kbps
  2244. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  2245. // Supported Jpeg framerate range in fps
  2246. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  2247. }
  2248. // Mpeg4DecOptions type
  2249. type Mpeg4DecOptions struct {
  2250. // List of supported Mpeg4 Video Resolutions
  2251. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2252. // List of supported Mpeg4 Profiles (either SP or ASP)
  2253. SupportedMpeg4Profiles []Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema SupportedMpeg4Profiles,omitempty"`
  2254. // Supported Mpeg4 bitrate range in kbps
  2255. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  2256. // Supported Mpeg4 framerate range in fps
  2257. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  2258. }
  2259. // VideoDecoderConfigurationOptionsExtension type
  2260. type VideoDecoderConfigurationOptionsExtension struct {
  2261. }
  2262. // AudioOutput type
  2263. type AudioOutput struct {
  2264. *DeviceEntity
  2265. }
  2266. // AudioOutputConfiguration type
  2267. type AudioOutputConfiguration struct {
  2268. *ConfigurationEntity
  2269. // Token of the phsycial Audio output.
  2270. OutputToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl OutputToken,omitempty"`
  2271. //
  2272. // An audio channel MAY support different types of audio transmission. While for full duplex
  2273. // operation no special handling is required, in half duplex operation the transmission direction
  2274. // needs to be switched.
  2275. // The optional SendPrimacy parameter inside the AudioOutputConfiguration indicates which
  2276. // direction is currently active. An NVC can switch between different modes by setting the
  2277. // AudioOutputConfiguration.
  2278. // The following modes for the Send-Primacy are defined:
  2279. // Acoustic echo cancellation is out of ONVIF scope.
  2280. SendPrimacy AnyURI `xml:"http://www.onvif.org/ver10/schema SendPrimacy,omitempty"`
  2281. // Volume setting of the output. The applicable range is defined via the option AudioOutputOptions.OutputLevelRange.
  2282. OutputLevel int32 `xml:"http://www.onvif.org/ver10/schema OutputLevel,omitempty"`
  2283. }
  2284. // AudioDecoderConfiguration type
  2285. type AudioDecoderConfiguration struct {
  2286. *ConfigurationEntity
  2287. }
  2288. // AudioDecoderConfigurationOptions type
  2289. type AudioDecoderConfigurationOptions struct {
  2290. // If the device is able to decode AAC encoded audio this section describes the supported configurations
  2291. AACDecOptions AACDecOptions `xml:"http://www.onvif.org/ver10/schema AACDecOptions,omitempty"`
  2292. // If the device is able to decode G711 encoded audio this section describes the supported configurations
  2293. G711DecOptions G711DecOptions `xml:"http://www.onvif.org/ver10/schema G711DecOptions,omitempty"`
  2294. // If the device is able to decode G726 encoded audio this section describes the supported configurations
  2295. G726DecOptions G726DecOptions `xml:"http://www.onvif.org/ver10/schema G726DecOptions,omitempty"`
  2296. Extension AudioDecoderConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2297. }
  2298. // G711DecOptions type
  2299. type G711DecOptions struct {
  2300. // List of supported bitrates in kbps
  2301. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  2302. // List of supported sample rates in kHz
  2303. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  2304. }
  2305. // AACDecOptions type
  2306. type AACDecOptions struct {
  2307. // List of supported bitrates in kbps
  2308. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  2309. // List of supported sample rates in kHz
  2310. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  2311. }
  2312. // G726DecOptions type
  2313. type G726DecOptions struct {
  2314. // List of supported bitrates in kbps
  2315. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  2316. // List of supported sample rates in kHz
  2317. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  2318. }
  2319. // AudioDecoderConfigurationOptionsExtension type
  2320. type AudioDecoderConfigurationOptionsExtension struct {
  2321. }
  2322. // MulticastConfiguration type
  2323. type MulticastConfiguration struct {
  2324. // The multicast address (if this address is set to 0 no multicast streaming is enaled)
  2325. Address IPAddress `xml:"http://www.onvif.org/ver10/schema Address,omitempty"`
  2326. // The RTP mutlicast destination port. A device may support RTCP. In this case the port value shall be even to allow the corresponding RTCP stream to be mapped to the next higher (odd) destination port number as defined in the RTSP specification.
  2327. Port int32 `xml:"http://www.onvif.org/ver10/schema Port,omitempty"`
  2328. // In case of IPv6 the TTL value is assumed as the hop limit. Note that for IPV6 and administratively scoped IPv4 multicast the primary use for hop limit / TTL is to prevent packets from (endlessly) circulating and not limiting scope. In these cases the address contains the scope.
  2329. TTL int32 `xml:"http://www.onvif.org/ver10/schema TTL,omitempty"`
  2330. // Read only property signalling that streaming is persistant. Use the methods StartMulticastStreaming and StopMulticastStreaming to switch its state.
  2331. AutoStart bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AutoStart,omitempty"`
  2332. }
  2333. // StreamSetup type
  2334. type StreamSetup struct {
  2335. // Defines if a multicast or unicast stream is requested
  2336. Stream StreamType `xml:"http://www.onvif.org/ver10/schema Stream,omitempty"`
  2337. Transport Transport `xml:"http://www.onvif.org/ver10/schema Transport,omitempty"`
  2338. }
  2339. // Transport type
  2340. type Transport struct {
  2341. // Defines the network protocol for streaming, either UDP=RTP/UDP, RTSP=RTP/RTSP/TCP or HTTP=RTP/RTSP/HTTP/TCP
  2342. Protocol TransportProtocol `xml:"http://www.onvif.org/ver10/schema Protocol,omitempty"`
  2343. // Optional element to describe further tunnel options. This element is normally not needed
  2344. Tunnel *Transport `xml:"http://www.onvif.org/ver10/schema Tunnel,omitempty"`
  2345. }
  2346. // Scope type
  2347. type Scope struct {
  2348. // Indicates if the scope is fixed or configurable.
  2349. ScopeDef ScopeDefinition `xml:"http://www.onvif.org/ver10/schema ScopeDef,omitempty"`
  2350. // Scope item URI.
  2351. ScopeItem AnyURI `xml:"http://www.onvif.org/ver10/schema ScopeItem,omitempty"`
  2352. }
  2353. // NetworkInterface type
  2354. type NetworkInterface struct {
  2355. *DeviceEntity
  2356. // Indicates whether or not an interface is enabled.
  2357. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2358. // Network interface information
  2359. Info NetworkInterfaceInfo `xml:"http://www.onvif.org/ver10/schema Info,omitempty"`
  2360. // Link configuration.
  2361. Link NetworkInterfaceLink `xml:"http://www.onvif.org/ver10/schema Link,omitempty"`
  2362. // IPv4 network interface configuration.
  2363. IPv4 IPv4NetworkInterface `xml:"http://www.onvif.org/ver10/schema IPv4,omitempty"`
  2364. // IPv6 network interface configuration.
  2365. IPv6 IPv6NetworkInterface `xml:"http://www.onvif.org/ver10/schema IPv6,omitempty"`
  2366. Extension NetworkInterfaceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2367. }
  2368. // NetworkInterfaceExtension type
  2369. type NetworkInterfaceExtension struct {
  2370. InterfaceType IANAIfTypes `xml:"InterfaceType,omitempty"`
  2371. // Extension point prepared for future 802.3 configuration.
  2372. Dot3 []Dot3Configuration `xml:"http://www.onvif.org/ver10/schema Dot3,omitempty"`
  2373. Dot11 []Dot11Configuration `xml:"http://www.onvif.org/ver10/schema Dot11,omitempty"`
  2374. Extension NetworkInterfaceExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2375. }
  2376. // Dot3Configuration type
  2377. type Dot3Configuration struct {
  2378. }
  2379. // NetworkInterfaceExtension2 type
  2380. type NetworkInterfaceExtension2 struct {
  2381. }
  2382. // NetworkInterfaceLink type
  2383. type NetworkInterfaceLink struct {
  2384. // Configured link settings.
  2385. AdminSettings NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema AdminSettings,omitempty"`
  2386. // Current active link settings.
  2387. OperSettings NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema OperSettings,omitempty"`
  2388. // Integer indicating interface type, for example: 6 is ethernet.
  2389. InterfaceType IANAIfTypes `xml:"InterfaceType,omitempty"`
  2390. }
  2391. // NetworkInterfaceConnectionSetting type
  2392. type NetworkInterfaceConnectionSetting struct {
  2393. // Auto negotiation on/off.
  2394. AutoNegotiation bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AutoNegotiation,omitempty"`
  2395. // Speed.
  2396. Speed int32 `xml:"http://www.onvif.org/ver10/schema Speed,omitempty"`
  2397. // Duplex type, Half or Full.
  2398. Duplex Duplex `xml:"http://www.onvif.org/ver10/schema Duplex,omitempty"`
  2399. }
  2400. // NetworkInterfaceInfo type
  2401. type NetworkInterfaceInfo struct {
  2402. // Network interface name, for example eth0.
  2403. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,omitempty"`
  2404. // Network interface MAC address.
  2405. HwAddress HwAddress `xml:"http://www.onvif.org/ver10/schema HwAddress,omitempty"`
  2406. // Maximum transmission unit.
  2407. MTU int32 `xml:"http://www.onvif.org/ver10/schema MTU,omitempty"`
  2408. }
  2409. // IPv6NetworkInterface type
  2410. type IPv6NetworkInterface struct {
  2411. // Indicates whether or not IPv6 is enabled.
  2412. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2413. // IPv6 configuration.
  2414. Config IPv6Configuration `xml:"http://www.onvif.org/ver10/schema Config,omitempty"`
  2415. }
  2416. // IPv4NetworkInterface type
  2417. type IPv4NetworkInterface struct {
  2418. // Indicates whether or not IPv4 is enabled.
  2419. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2420. // IPv4 configuration.
  2421. Config IPv4Configuration `xml:"http://www.onvif.org/ver10/schema Config,omitempty"`
  2422. }
  2423. // IPv4Configuration type
  2424. type IPv4Configuration struct {
  2425. // List of manually added IPv4 addresses.
  2426. Manual []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  2427. // Link local address.
  2428. LinkLocal PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema LinkLocal,omitempty"`
  2429. // IPv4 address configured by using DHCP.
  2430. FromDHCP PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema FromDHCP,omitempty"`
  2431. // Indicates whether or not DHCP is used.
  2432. DHCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DHCP,omitempty"`
  2433. }
  2434. // IPv6Configuration type
  2435. type IPv6Configuration struct {
  2436. // Indicates whether router advertisment is used.
  2437. AcceptRouterAdvert bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AcceptRouterAdvert,omitempty"`
  2438. // DHCP configuration.
  2439. DHCP IPv6DHCPConfiguration `xml:"http://www.onvif.org/ver10/schema DHCP,omitempty"`
  2440. // List of manually entered IPv6 addresses.
  2441. Manual []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  2442. // List of link local IPv6 addresses.
  2443. LinkLocal []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema LinkLocal,omitempty"`
  2444. // List of IPv6 addresses configured by using DHCP.
  2445. FromDHCP []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema FromDHCP,omitempty"`
  2446. // List of IPv6 addresses configured by using router advertisment.
  2447. FromRA []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema FromRA,omitempty"`
  2448. Extension IPv6ConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2449. }
  2450. // IPv6ConfigurationExtension type
  2451. type IPv6ConfigurationExtension struct {
  2452. }
  2453. // NetworkProtocol type
  2454. type NetworkProtocol struct {
  2455. // Network protocol type string.
  2456. Name NetworkProtocolType `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  2457. // Indicates if the protocol is enabled or not.
  2458. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2459. // The port that is used by the protocol.
  2460. Port []int32 `xml:"http://www.onvif.org/ver10/schema Port,omitempty"`
  2461. Extension NetworkProtocolExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2462. }
  2463. // NetworkProtocolExtension type
  2464. type NetworkProtocolExtension struct {
  2465. }
  2466. // NetworkHost type
  2467. type NetworkHost struct {
  2468. // Network host type: IPv4, IPv6 or DNS.
  2469. Type NetworkHostType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  2470. // IPv4 address.
  2471. IPv4Address IPv4Address `xml:"http://www.onvif.org/ver10/schema IPv4Address,omitempty"`
  2472. // IPv6 address.
  2473. IPv6Address IPv6Address `xml:"http://www.onvif.org/ver10/schema IPv6Address,omitempty"`
  2474. // DNS name.
  2475. DNSname DNSName `xml:"http://www.onvif.org/ver10/schema DNSname,omitempty"`
  2476. Extension NetworkHostExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2477. }
  2478. // NetworkHostExtension type
  2479. type NetworkHostExtension struct {
  2480. }
  2481. // IPAddress type
  2482. type IPAddress struct {
  2483. // Indicates if the address is an IPv4 or IPv6 address.
  2484. Type IPType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  2485. // IPv4 address.
  2486. IPv4Address IPv4Address `xml:"http://www.onvif.org/ver10/schema IPv4Address,omitempty"`
  2487. // IPv6 address
  2488. IPv6Address IPv6Address `xml:"http://www.onvif.org/ver10/schema IPv6Address,omitempty"`
  2489. }
  2490. // PrefixedIPv4Address type
  2491. type PrefixedIPv4Address struct {
  2492. // IPv4 address
  2493. Address IPv4Address `xml:"http://www.onvif.org/ver10/schema Address,omitempty"`
  2494. // Prefix/submask length
  2495. PrefixLength int32 `xml:"http://www.onvif.org/ver10/schema PrefixLength,omitempty"`
  2496. }
  2497. // PrefixedIPv6Address type
  2498. type PrefixedIPv6Address struct {
  2499. // IPv6 address
  2500. Address IPv6Address `xml:"http://www.onvif.org/ver10/schema Address,omitempty"`
  2501. // Prefix/submask length
  2502. PrefixLength int32 `xml:"http://www.onvif.org/ver10/schema PrefixLength,omitempty"`
  2503. }
  2504. // HostnameInformation type
  2505. type HostnameInformation struct {
  2506. // Indicates whether the hostname is obtained from DHCP or not.
  2507. FromDHCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FromDHCP,omitempty"`
  2508. // Indicates the hostname.
  2509. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,omitempty"`
  2510. Extension HostnameInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2511. }
  2512. // HostnameInformationExtension type
  2513. type HostnameInformationExtension struct {
  2514. }
  2515. // DNSInformation type
  2516. type DNSInformation struct {
  2517. // Indicates whether or not DNS information is retrieved from DHCP.
  2518. FromDHCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FromDHCP,omitempty"`
  2519. // Search domain.
  2520. SearchDomain []string `xml:"http://www.onvif.org/ver20/ptz/wsdl SearchDomain,omitempty"`
  2521. // List of DNS addresses received from DHCP.
  2522. DNSFromDHCP []IPAddress `xml:"http://www.onvif.org/ver10/schema DNSFromDHCP,omitempty"`
  2523. // List of manually entered DNS addresses.
  2524. DNSManual []IPAddress `xml:"http://www.onvif.org/ver10/schema DNSManual,omitempty"`
  2525. Extension DNSInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2526. }
  2527. // DNSInformationExtension type
  2528. type DNSInformationExtension struct {
  2529. }
  2530. // NTPInformation type
  2531. type NTPInformation struct {
  2532. // Indicates if NTP information is to be retrieved by using DHCP.
  2533. FromDHCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FromDHCP,omitempty"`
  2534. // List of NTP addresses retrieved by using DHCP.
  2535. NTPFromDHCP []NetworkHost `xml:"http://www.onvif.org/ver10/schema NTPFromDHCP,omitempty"`
  2536. // List of manually entered NTP addresses.
  2537. NTPManual []NetworkHost `xml:"http://www.onvif.org/ver10/schema NTPManual,omitempty"`
  2538. Extension NTPInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2539. }
  2540. // NTPInformationExtension type
  2541. type NTPInformationExtension struct {
  2542. }
  2543. // DynamicDNSInformation type
  2544. type DynamicDNSInformation struct {
  2545. // Dynamic DNS type.
  2546. Type DynamicDNSType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  2547. // DNS name.
  2548. Name DNSName `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  2549. // Time to live.
  2550. TTL Duration `xml:"http://www.onvif.org/ver10/schema TTL,omitempty"`
  2551. Extension DynamicDNSInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2552. }
  2553. // DynamicDNSInformationExtension type
  2554. type DynamicDNSInformationExtension struct {
  2555. }
  2556. // NetworkInterfaceSetConfiguration type
  2557. type NetworkInterfaceSetConfiguration struct {
  2558. // Indicates whether or not an interface is enabled.
  2559. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2560. // Link configuration.
  2561. Link NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema Link,omitempty"`
  2562. // Maximum transmission unit.
  2563. MTU int32 `xml:"http://www.onvif.org/ver10/schema MTU,omitempty"`
  2564. // IPv4 network interface configuration.
  2565. IPv4 IPv4NetworkInterfaceSetConfiguration `xml:"http://www.onvif.org/ver10/schema IPv4,omitempty"`
  2566. // IPv6 network interface configuration.
  2567. IPv6 IPv6NetworkInterfaceSetConfiguration `xml:"http://www.onvif.org/ver10/schema IPv6,omitempty"`
  2568. Extension NetworkInterfaceSetConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2569. }
  2570. // NetworkInterfaceSetConfigurationExtension type
  2571. type NetworkInterfaceSetConfigurationExtension struct {
  2572. Dot3 []Dot3Configuration `xml:"http://www.onvif.org/ver10/schema Dot3,omitempty"`
  2573. Dot11 []Dot11Configuration `xml:"http://www.onvif.org/ver10/schema Dot11,omitempty"`
  2574. Extension NetworkInterfaceSetConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2575. }
  2576. // IPv6NetworkInterfaceSetConfiguration type
  2577. type IPv6NetworkInterfaceSetConfiguration struct {
  2578. // Indicates whether or not IPv6 is enabled.
  2579. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2580. // Indicates whether router advertisment is used.
  2581. AcceptRouterAdvert bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AcceptRouterAdvert,omitempty"`
  2582. // List of manually added IPv6 addresses.
  2583. Manual []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  2584. // DHCP configuration.
  2585. DHCP IPv6DHCPConfiguration `xml:"http://www.onvif.org/ver10/schema DHCP,omitempty"`
  2586. }
  2587. // IPv4NetworkInterfaceSetConfiguration type
  2588. type IPv4NetworkInterfaceSetConfiguration struct {
  2589. // Indicates whether or not IPv4 is enabled.
  2590. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2591. // List of manually added IPv4 addresses.
  2592. Manual []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  2593. // Indicates whether or not DHCP is used.
  2594. DHCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DHCP,omitempty"`
  2595. }
  2596. // NetworkZeroConfiguration type
  2597. type NetworkZeroConfiguration struct {
  2598. // Unique identifier of network interface.
  2599. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl InterfaceToken,omitempty"`
  2600. // Indicates whether the zero-configuration is enabled or not.
  2601. Enabled bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Enabled,omitempty"`
  2602. // The zero-configuration IPv4 address(es)
  2603. Addresses []IPv4Address `xml:"http://www.onvif.org/ver10/schema Addresses,omitempty"`
  2604. Extension *NetworkZeroConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2605. }
  2606. // NetworkZeroConfigurationExtension type
  2607. type NetworkZeroConfigurationExtension struct {
  2608. // Optional array holding the configuration for the second and possibly further interfaces.
  2609. Additional []NetworkZeroConfiguration `xml:"http://www.onvif.org/ver10/schema Additional,omitempty"`
  2610. Extension NetworkZeroConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2611. }
  2612. // NetworkZeroConfigurationExtension2 type
  2613. type NetworkZeroConfigurationExtension2 struct {
  2614. }
  2615. // IPAddressFilter type
  2616. type IPAddressFilter struct {
  2617. Type IPAddressFilterType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  2618. IPv4Address []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema IPv4Address,omitempty"`
  2619. IPv6Address []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema IPv6Address,omitempty"`
  2620. Extension IPAddressFilterExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2621. }
  2622. // IPAddressFilterExtension type
  2623. type IPAddressFilterExtension struct {
  2624. }
  2625. // Dot11Configuration type
  2626. type Dot11Configuration struct {
  2627. SSID Dot11SSIDType `xml:"http://www.onvif.org/ver10/schema SSID,omitempty"`
  2628. Mode Dot11StationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  2629. Alias Name `xml:"http://www.onvif.org/ver10/schema Alias,omitempty"`
  2630. Priority NetworkInterfaceConfigPriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  2631. Security Dot11SecurityConfiguration `xml:"http://www.onvif.org/ver10/schema Security,omitempty"`
  2632. }
  2633. // Dot11SecurityConfiguration type
  2634. type Dot11SecurityConfiguration struct {
  2635. Mode Dot11SecurityMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  2636. Algorithm Dot11Cipher `xml:"http://www.onvif.org/ver10/schema Algorithm,omitempty"`
  2637. PSK Dot11PSKSet `xml:"http://www.onvif.org/ver10/schema PSK,omitempty"`
  2638. Dot1X ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Dot1X,omitempty"`
  2639. Extension Dot11SecurityConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2640. }
  2641. // Dot11SecurityConfigurationExtension type
  2642. type Dot11SecurityConfigurationExtension struct {
  2643. }
  2644. // Dot11PSKSet type
  2645. type Dot11PSKSet struct {
  2646. //
  2647. // According to IEEE802.11-2007 H.4.1 the RSNA PSK consists of 256 bits, or 64 octets when represented in hex
  2648. // Either Key or Passphrase shall be given, if both are supplied Key shall be used by the device and Passphrase ignored.
  2649. //
  2650. Key Dot11PSK `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  2651. //
  2652. // According to IEEE802.11-2007 H.4.1 a pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters and
  2653. // each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal),inclusive.
  2654. // If only Passpharse is supplied the Key shall be derived using the algorithm described in IEEE802.11-2007 section H.4
  2655. //
  2656. Passphrase Dot11PSKPassphrase `xml:"http://www.onvif.org/ver10/schema Passphrase,omitempty"`
  2657. Extension Dot11PSKSetExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2658. }
  2659. // Dot11PSKSetExtension type
  2660. type Dot11PSKSetExtension struct {
  2661. }
  2662. // NetworkInterfaceSetConfigurationExtension2 type
  2663. type NetworkInterfaceSetConfigurationExtension2 struct {
  2664. }
  2665. // Dot11AvailableNetworks type
  2666. type Dot11AvailableNetworks struct {
  2667. SSID Dot11SSIDType `xml:"http://www.onvif.org/ver10/schema SSID,omitempty"`
  2668. BSSID string `xml:"http://www.onvif.org/ver20/ptz/wsdl BSSID,omitempty"`
  2669. // See IEEE802.11 7.3.2.25.2 for details.
  2670. AuthAndMangementSuite []Dot11AuthAndMangementSuite `xml:"http://www.onvif.org/ver10/schema AuthAndMangementSuite,omitempty"`
  2671. PairCipher []Dot11Cipher `xml:"http://www.onvif.org/ver10/schema PairCipher,omitempty"`
  2672. GroupCipher []Dot11Cipher `xml:"http://www.onvif.org/ver10/schema GroupCipher,omitempty"`
  2673. SignalStrength Dot11SignalStrength `xml:"http://www.onvif.org/ver10/schema SignalStrength,omitempty"`
  2674. Extension Dot11AvailableNetworksExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2675. }
  2676. // Dot11AvailableNetworksExtension type
  2677. type Dot11AvailableNetworksExtension struct {
  2678. }
  2679. /* Removed type Capabilities struct {
  2680. // Analytics capabilities
  2681. Analytics AnalyticsCapabilities `xml:"http://www.onvif.org/ver10/schema Analytics,omitempty"`
  2682. // Device capabilities
  2683. Device DeviceCapabilities `xml:"http://www.onvif.org/ver10/schema Device,omitempty"`
  2684. // Event capabilities
  2685. Events EventCapabilities `xml:"http://www.onvif.org/ver10/schema Events,omitempty"`
  2686. // Imaging capabilities
  2687. Imaging ImagingCapabilities `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  2688. // Media capabilities
  2689. Media MediaCapabilities `xml:"http://www.onvif.org/ver10/schema Media,omitempty"`
  2690. // PTZ capabilities
  2691. PTZ PTZCapabilities `xml:"http://www.onvif.org/ver10/schema PTZ,omitempty"`
  2692. Extension CapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2693. } Removed*/
  2694. // CapabilitiesExtension type
  2695. type CapabilitiesExtension struct {
  2696. DeviceIO DeviceIOCapabilities `xml:"http://www.onvif.org/ver10/schema DeviceIO,omitempty"`
  2697. Display DisplayCapabilities `xml:"http://www.onvif.org/ver10/schema Display,omitempty"`
  2698. Recording RecordingCapabilities `xml:"http://www.onvif.org/ver10/schema Recording,omitempty"`
  2699. Search SearchCapabilities `xml:"http://www.onvif.org/ver10/schema Search,omitempty"`
  2700. Replay ReplayCapabilities `xml:"http://www.onvif.org/ver10/schema Replay,omitempty"`
  2701. Receiver ReceiverCapabilities `xml:"http://www.onvif.org/ver10/schema Receiver,omitempty"`
  2702. AnalyticsDevice AnalyticsDeviceCapabilities `xml:"http://www.onvif.org/ver10/schema AnalyticsDevice,omitempty"`
  2703. Extensions CapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extensions,omitempty"`
  2704. }
  2705. // CapabilitiesExtension2 type
  2706. type CapabilitiesExtension2 struct {
  2707. }
  2708. // AnalyticsCapabilities type
  2709. type AnalyticsCapabilities struct {
  2710. // Analytics service URI.
  2711. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2712. // Indicates whether or not rules are supported.
  2713. RuleSupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RuleSupport,omitempty"`
  2714. // Indicates whether or not modules are supported.
  2715. AnalyticsModuleSupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AnalyticsModuleSupport,omitempty"`
  2716. }
  2717. // DeviceCapabilities type
  2718. type DeviceCapabilities struct {
  2719. // Device service URI.
  2720. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2721. // Network capabilities.
  2722. Network NetworkCapabilities `xml:"http://www.onvif.org/ver10/schema Network,omitempty"`
  2723. // System capabilities.
  2724. System SystemCapabilities `xml:"http://www.onvif.org/ver10/schema System,omitempty"`
  2725. // I/O capabilities.
  2726. IO IOCapabilities `xml:"http://www.onvif.org/ver10/schema IO,omitempty"`
  2727. // Security capabilities.
  2728. Security SecurityCapabilities `xml:"http://www.onvif.org/ver10/schema Security,omitempty"`
  2729. Extension DeviceCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2730. }
  2731. // DeviceCapabilitiesExtension type
  2732. type DeviceCapabilitiesExtension struct {
  2733. }
  2734. // EventCapabilities type
  2735. type EventCapabilities struct {
  2736. // Event service URI.
  2737. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2738. // Indicates whether or not WS Subscription policy is supported.
  2739. WSSubscriptionPolicySupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl WSSubscriptionPolicySupport,omitempty"`
  2740. // Indicates whether or not WS Pull Point is supported.
  2741. WSPullPointSupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl WSPullPointSupport,omitempty"`
  2742. // Indicates whether or not WS Pausable Subscription Manager Interface is supported.
  2743. WSPausableSubscriptionManagerInterfaceSupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl WSPausableSubscriptionManagerInterfaceSupport,omitempty"`
  2744. }
  2745. // IOCapabilities type
  2746. type IOCapabilities struct {
  2747. // Number of input connectors.
  2748. InputConnectors int32 `xml:"http://www.onvif.org/ver10/schema InputConnectors,omitempty"`
  2749. // Number of relay outputs.
  2750. RelayOutputs int32 `xml:"http://www.onvif.org/ver10/schema RelayOutputs,omitempty"`
  2751. Extension IOCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2752. }
  2753. // IOCapabilitiesExtension type
  2754. type IOCapabilitiesExtension struct {
  2755. Auxiliary bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Auxiliary,omitempty"`
  2756. AuxiliaryCommands []AuxiliaryData `xml:"http://www.onvif.org/ver20/ptz/wsdl AuxiliaryCommands,omitempty"`
  2757. Extension IOCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2758. }
  2759. // IOCapabilitiesExtension2 type
  2760. type IOCapabilitiesExtension2 struct {
  2761. }
  2762. // MediaCapabilities type
  2763. type MediaCapabilities struct {
  2764. // Media service URI.
  2765. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2766. // Streaming capabilities.
  2767. StreamingCapabilities RealTimeStreamingCapabilities `xml:"http://www.onvif.org/ver10/schema StreamingCapabilities,omitempty"`
  2768. Extension MediaCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2769. }
  2770. // MediaCapabilitiesExtension type
  2771. type MediaCapabilitiesExtension struct {
  2772. ProfileCapabilities ProfileCapabilities `xml:"http://www.onvif.org/ver10/schema ProfileCapabilities,omitempty"`
  2773. }
  2774. // RealTimeStreamingCapabilities type
  2775. type RealTimeStreamingCapabilities struct {
  2776. // Indicates whether or not RTP multicast is supported.
  2777. RTPMulticast bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTPMulticast,omitempty"`
  2778. // Indicates whether or not RTP over TCP is supported.
  2779. RTP_TCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTP_TCP,omitempty"`
  2780. // Indicates whether or not RTP/RTSP/TCP is supported.
  2781. RTP_RTSP_TCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTP_RTSP_TCP,omitempty"`
  2782. Extension RealTimeStreamingCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2783. }
  2784. // RealTimeStreamingCapabilitiesExtension type
  2785. type RealTimeStreamingCapabilitiesExtension struct {
  2786. }
  2787. // ProfileCapabilities type
  2788. type ProfileCapabilities struct {
  2789. // Maximum number of profiles.
  2790. MaximumNumberOfProfiles int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfProfiles,omitempty"`
  2791. }
  2792. // NetworkCapabilities type
  2793. type NetworkCapabilities struct {
  2794. // Indicates whether or not IP filtering is supported.
  2795. IPFilter bool `xml:"http://www.onvif.org/ver20/ptz/wsdl IPFilter,omitempty"`
  2796. // Indicates whether or not zeroconf is supported.
  2797. ZeroConfiguration bool `xml:"http://www.onvif.org/ver20/ptz/wsdl ZeroConfiguration,omitempty"`
  2798. // Indicates whether or not IPv6 is supported.
  2799. IPVersion6 bool `xml:"http://www.onvif.org/ver20/ptz/wsdl IPVersion6,omitempty"`
  2800. // Indicates whether or not is supported.
  2801. DynDNS bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DynDNS,omitempty"`
  2802. Extension NetworkCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2803. }
  2804. // NetworkCapabilitiesExtension type
  2805. type NetworkCapabilitiesExtension struct {
  2806. Dot11Configuration bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Dot11Configuration,omitempty"`
  2807. Extension NetworkCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2808. }
  2809. // NetworkCapabilitiesExtension2 type
  2810. type NetworkCapabilitiesExtension2 struct {
  2811. }
  2812. // SecurityCapabilities type
  2813. type SecurityCapabilities struct {
  2814. // Indicates whether or not TLS 1.1 is supported.
  2815. TLS11 bool `xml:"TLS1.1,omitempty"`
  2816. // Indicates whether or not TLS 1.2 is supported.
  2817. TLS12 bool `xml:"TLS1.2,omitempty"`
  2818. // Indicates whether or not onboard key generation is supported.
  2819. OnboardKeyGeneration bool `xml:"http://www.onvif.org/ver20/ptz/wsdl OnboardKeyGeneration,omitempty"`
  2820. // Indicates whether or not access policy configuration is supported.
  2821. AccessPolicyConfig bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AccessPolicyConfig,omitempty"`
  2822. // Indicates whether or not WS-Security X.509 token is supported.
  2823. X509Token bool `xml:"X.509Token,omitempty"`
  2824. // Indicates whether or not WS-Security SAML token is supported.
  2825. SAMLToken bool `xml:"http://www.onvif.org/ver20/ptz/wsdl SAMLToken,omitempty"`
  2826. // Indicates whether or not WS-Security Kerberos token is supported.
  2827. KerberosToken bool `xml:"http://www.onvif.org/ver20/ptz/wsdl KerberosToken,omitempty"`
  2828. // Indicates whether or not WS-Security REL token is supported.
  2829. RELToken bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RELToken,omitempty"`
  2830. Extension SecurityCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2831. }
  2832. // SecurityCapabilitiesExtension type
  2833. type SecurityCapabilitiesExtension struct {
  2834. TLS10 bool `xml:"TLS1.0,omitempty"`
  2835. Extension SecurityCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2836. }
  2837. // SecurityCapabilitiesExtension2 type
  2838. type SecurityCapabilitiesExtension2 struct {
  2839. Dot1X bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Dot1X,omitempty"`
  2840. // EAP Methods supported by the device. The int values refer to the .
  2841. SupportedEAPMethod []int32 `xml:"http://www.onvif.org/ver10/schema SupportedEAPMethod,omitempty"`
  2842. RemoteUserHandling bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RemoteUserHandling,omitempty"`
  2843. }
  2844. // SystemCapabilities type
  2845. type SystemCapabilities struct {
  2846. // Indicates whether or not WS Discovery resolve requests are supported.
  2847. DiscoveryResolve bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DiscoveryResolve,omitempty"`
  2848. // Indicates whether or not WS-Discovery Bye is supported.
  2849. DiscoveryBye bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DiscoveryBye,omitempty"`
  2850. // Indicates whether or not remote discovery is supported.
  2851. RemoteDiscovery bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RemoteDiscovery,omitempty"`
  2852. // Indicates whether or not system backup is supported.
  2853. SystemBackup bool `xml:"http://www.onvif.org/ver20/ptz/wsdl SystemBackup,omitempty"`
  2854. // Indicates whether or not system logging is supported.
  2855. SystemLogging bool `xml:"http://www.onvif.org/ver20/ptz/wsdl SystemLogging,omitempty"`
  2856. // Indicates whether or not firmware upgrade is supported.
  2857. FirmwareUpgrade bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FirmwareUpgrade,omitempty"`
  2858. // Indicates supported ONVIF version(s).
  2859. SupportedVersions []OnvifVersion `xml:"http://www.onvif.org/ver10/schema SupportedVersions,omitempty"`
  2860. Extension SystemCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2861. }
  2862. // SystemCapabilitiesExtension type
  2863. type SystemCapabilitiesExtension struct {
  2864. HttpFirmwareUpgrade bool `xml:"http://www.onvif.org/ver20/ptz/wsdl HttpFirmwareUpgrade,omitempty"`
  2865. HttpSystemBackup bool `xml:"http://www.onvif.org/ver20/ptz/wsdl HttpSystemBackup,omitempty"`
  2866. HttpSystemLogging bool `xml:"http://www.onvif.org/ver20/ptz/wsdl HttpSystemLogging,omitempty"`
  2867. HttpSupportInformation bool `xml:"http://www.onvif.org/ver20/ptz/wsdl HttpSupportInformation,omitempty"`
  2868. Extension SystemCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2869. }
  2870. // SystemCapabilitiesExtension2 type
  2871. type SystemCapabilitiesExtension2 struct {
  2872. }
  2873. // OnvifVersion type
  2874. type OnvifVersion struct {
  2875. // Major version number.
  2876. Major int32 `xml:"http://www.onvif.org/ver10/schema Major,omitempty"`
  2877. //
  2878. // Two digit minor version number.
  2879. // If major version number is less than "16", X.0.1 maps to "01" and X.2.1 maps to "21" where X stands for Major version number.
  2880. // Otherwise, minor number is month of release, such as "06" for June.
  2881. //
  2882. Minor int32 `xml:"http://www.onvif.org/ver10/schema Minor,omitempty"`
  2883. }
  2884. // ImagingCapabilities type
  2885. type ImagingCapabilities struct {
  2886. // Imaging service URI.
  2887. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2888. }
  2889. // PTZCapabilities type
  2890. type PTZCapabilities struct {
  2891. // PTZ service URI.
  2892. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2893. }
  2894. // DeviceIOCapabilities type
  2895. type DeviceIOCapabilities struct {
  2896. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2897. VideoSources int32 `xml:"http://www.onvif.org/ver10/schema VideoSources,omitempty"`
  2898. VideoOutputs int32 `xml:"http://www.onvif.org/ver10/schema VideoOutputs,omitempty"`
  2899. AudioSources int32 `xml:"http://www.onvif.org/ver10/schema AudioSources,omitempty"`
  2900. AudioOutputs int32 `xml:"http://www.onvif.org/ver10/schema AudioOutputs,omitempty"`
  2901. RelayOutputs int32 `xml:"http://www.onvif.org/ver10/schema RelayOutputs,omitempty"`
  2902. }
  2903. // DisplayCapabilities type
  2904. type DisplayCapabilities struct {
  2905. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2906. // Indication that the SetLayout command supports only predefined layouts.
  2907. FixedLayout bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FixedLayout,omitempty"`
  2908. }
  2909. // RecordingCapabilities type
  2910. type RecordingCapabilities struct {
  2911. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2912. ReceiverSource bool `xml:"http://www.onvif.org/ver20/ptz/wsdl ReceiverSource,omitempty"`
  2913. MediaProfileSource bool `xml:"http://www.onvif.org/ver20/ptz/wsdl MediaProfileSource,omitempty"`
  2914. DynamicRecordings bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DynamicRecordings,omitempty"`
  2915. DynamicTracks bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DynamicTracks,omitempty"`
  2916. MaxStringLength int32 `xml:"http://www.onvif.org/ver10/schema MaxStringLength,omitempty"`
  2917. }
  2918. // SearchCapabilities type
  2919. type SearchCapabilities struct {
  2920. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2921. MetadataSearch bool `xml:"http://www.onvif.org/ver20/ptz/wsdl MetadataSearch,omitempty"`
  2922. }
  2923. // ReplayCapabilities type
  2924. type ReplayCapabilities struct {
  2925. // The address of the replay service.
  2926. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2927. }
  2928. // ReceiverCapabilities type
  2929. type ReceiverCapabilities struct {
  2930. // The address of the receiver service.
  2931. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2932. // Indicates whether the device can receive RTP multicast streams.
  2933. RTP_Multicast bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTP_Multicast,omitempty"`
  2934. // Indicates whether the device can receive RTP/TCP streams
  2935. RTP_TCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTP_TCP,omitempty"`
  2936. // Indicates whether the device can receive RTP/RTSP/TCP streams.
  2937. RTP_RTSP_TCP bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RTP_RTSP_TCP,omitempty"`
  2938. // The maximum number of receivers supported by the device.
  2939. SupportedReceivers int32 `xml:"http://www.onvif.org/ver10/schema SupportedReceivers,omitempty"`
  2940. // The maximum allowed length for RTSP URIs.
  2941. MaximumRTSPURILength int32 `xml:"http://www.onvif.org/ver10/schema MaximumRTSPURILength,omitempty"`
  2942. }
  2943. // AnalyticsDeviceCapabilities type
  2944. type AnalyticsDeviceCapabilities struct {
  2945. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  2946. // Obsolete property.
  2947. RuleSupport bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RuleSupport,omitempty"`
  2948. Extension AnalyticsDeviceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2949. }
  2950. // AnalyticsDeviceExtension type
  2951. type AnalyticsDeviceExtension struct {
  2952. }
  2953. // BinaryData type
  2954. type BinaryData struct {
  2955. // base64 encoded binary data.
  2956. Data []byte `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  2957. ContentType string `xml:"contentType,attr,omitempty"`
  2958. }
  2959. // SystemDateTime type
  2960. type SystemDateTime struct {
  2961. // Indicates if the time is set manully or through NTP.
  2962. DateTimeType SetDateTimeType `xml:"http://www.onvif.org/ver10/schema DateTimeType,omitempty"`
  2963. // Informative indicator whether daylight savings is currently on/off.
  2964. DaylightSavings bool `xml:"http://www.onvif.org/ver20/ptz/wsdl DaylightSavings,omitempty"`
  2965. // Timezone information in Posix format.
  2966. TimeZone TimeZone `xml:"http://www.onvif.org/ver10/schema TimeZone,omitempty"`
  2967. // Current system date and time in UTC format. This field is mandatory since version 2.0.
  2968. UTCDateTime string `xml:"http://www.onvif.org/ver10/schema UTCDateTime,omitempty"`
  2969. // Date and time in local format.
  2970. LocalDateTime string `xml:"http://www.onvif.org/ver10/schema LocalDateTime,omitempty"`
  2971. Extension SystemDateTimeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2972. }
  2973. // SystemDateTimeExtension type
  2974. type SystemDateTimeExtension struct {
  2975. }
  2976. // DateTime type
  2977. type DateTime struct {
  2978. Time string `xml:"http://www.onvif.org/ver10/schema Time,omitempty"`
  2979. Date string `xml:"http://www.onvif.org/ver10/schema Date,omitempty"`
  2980. }
  2981. // Date type
  2982. type Date struct {
  2983. Year int32 `xml:"http://www.onvif.org/ver10/schema Year,omitempty"`
  2984. // Range is 1 to 12.
  2985. Month int32 `xml:"http://www.onvif.org/ver10/schema Month,omitempty"`
  2986. // Range is 1 to 31.
  2987. Day int32 `xml:"http://www.onvif.org/ver10/schema Day,omitempty"`
  2988. }
  2989. // Time type
  2990. type Time struct {
  2991. // Range is 0 to 23.
  2992. Hour int32 `xml:"http://www.onvif.org/ver10/schema Hour,omitempty"`
  2993. // Range is 0 to 59.
  2994. Minute int32 `xml:"http://www.onvif.org/ver10/schema Minute,omitempty"`
  2995. // Range is 0 to 61 (typically 59).
  2996. Second int32 `xml:"http://www.onvif.org/ver10/schema Second,omitempty"`
  2997. }
  2998. // TimeZone type
  2999. type TimeZone struct {
  3000. // Posix timezone string.
  3001. TZ string `xml:"http://www.onvif.org/ver20/ptz/wsdl TZ,omitempty"`
  3002. }
  3003. // User type
  3004. type User struct {
  3005. // Username string.
  3006. Username string `xml:"http://www.onvif.org/ver20/ptz/wsdl Username,omitempty"`
  3007. // Password string.
  3008. Password string `xml:"http://www.onvif.org/ver20/ptz/wsdl Password,omitempty"`
  3009. // User level string.
  3010. UserLevel UserLevel `xml:"http://www.onvif.org/ver10/schema UserLevel,omitempty"`
  3011. Extension UserExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3012. }
  3013. // UserExtension type
  3014. type UserExtension struct {
  3015. }
  3016. // CertificateGenerationParameters type
  3017. type CertificateGenerationParameters struct {
  3018. CertificateID string `xml:"http://www.onvif.org/ver20/ptz/wsdl CertificateID,omitempty"`
  3019. Subject string `xml:"http://www.onvif.org/ver20/ptz/wsdl Subject,omitempty"`
  3020. ValidNotBefore string `xml:"http://www.onvif.org/ver20/ptz/wsdl ValidNotBefore,omitempty"`
  3021. ValidNotAfter string `xml:"http://www.onvif.org/ver20/ptz/wsdl ValidNotAfter,omitempty"`
  3022. Extension CertificateGenerationParametersExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3023. }
  3024. // CertificateGenerationParametersExtension type
  3025. type CertificateGenerationParametersExtension struct {
  3026. }
  3027. // Certificate type
  3028. type Certificate struct {
  3029. // Certificate id.
  3030. CertificateID string `xml:"http://www.onvif.org/ver20/ptz/wsdl CertificateID,omitempty"`
  3031. // base64 encoded DER representation of certificate.
  3032. Certificate BinaryData `xml:"http://www.onvif.org/ver10/schema Certificate,omitempty"`
  3033. }
  3034. // CertificateInformation type
  3035. type CertificateInformation struct {
  3036. CertificateID string `xml:"http://www.onvif.org/ver20/ptz/wsdl CertificateID,omitempty"`
  3037. IssuerDN string `xml:"http://www.onvif.org/ver20/ptz/wsdl IssuerDN,omitempty"`
  3038. SubjectDN string `xml:"http://www.onvif.org/ver20/ptz/wsdl SubjectDN,omitempty"`
  3039. KeyUsage CertificateUsage `xml:"http://www.onvif.org/ver10/schema KeyUsage,omitempty"`
  3040. ExtendedKeyUsage CertificateUsage `xml:"http://www.onvif.org/ver10/schema ExtendedKeyUsage,omitempty"`
  3041. KeyLength int32 `xml:"http://www.onvif.org/ver10/schema KeyLength,omitempty"`
  3042. Version string `xml:"http://www.onvif.org/ver20/ptz/wsdl Version,omitempty"`
  3043. SerialNum string `xml:"http://www.onvif.org/ver20/ptz/wsdl SerialNum,omitempty"`
  3044. // Validity Range is from "NotBefore" to "NotAfter"; the corresponding DateTimeRange is from "From" to "Until"
  3045. SignatureAlgorithm string `xml:"http://www.onvif.org/ver20/ptz/wsdl SignatureAlgorithm,omitempty"`
  3046. Validity DateTimeRange `xml:"http://www.onvif.org/ver10/schema Validity,omitempty"`
  3047. Extension CertificateInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3048. }
  3049. // CertificateUsage type
  3050. type CertificateUsage struct {
  3051. Value string
  3052. Critical bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Critical,attr,omitempty"`
  3053. }
  3054. // CertificateInformationExtension type
  3055. type CertificateInformationExtension struct {
  3056. }
  3057. // Dot1XConfiguration type
  3058. type Dot1XConfiguration struct {
  3059. Dot1XConfigurationToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Dot1XConfigurationToken,omitempty"`
  3060. Identity string `xml:"http://www.onvif.org/ver20/ptz/wsdl Identity,omitempty"`
  3061. AnonymousID string `xml:"http://www.onvif.org/ver20/ptz/wsdl AnonymousID,omitempty"`
  3062. //
  3063. // EAP Method type as defined in .
  3064. //
  3065. EAPMethod int32 `xml:"http://www.onvif.org/ver10/schema EAPMethod,omitempty"`
  3066. CACertificateID []string `xml:"http://www.onvif.org/ver20/ptz/wsdl CACertificateID,omitempty"`
  3067. EAPMethodConfiguration EAPMethodConfiguration `xml:"http://www.onvif.org/ver10/schema EAPMethodConfiguration,omitempty"`
  3068. Extension Dot1XConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3069. }
  3070. // Dot1XConfigurationExtension type
  3071. type Dot1XConfigurationExtension struct {
  3072. }
  3073. // EAPMethodConfiguration type
  3074. type EAPMethodConfiguration struct {
  3075. // Confgiuration information for TLS Method.
  3076. TLSConfiguration TLSConfiguration `xml:"http://www.onvif.org/ver10/schema TLSConfiguration,omitempty"`
  3077. // Password for those EAP Methods that require a password. The password shall never be returned on a get method.
  3078. Password string `xml:"http://www.onvif.org/ver20/ptz/wsdl Password,omitempty"`
  3079. Extension EapMethodExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3080. }
  3081. // EapMethodExtension type
  3082. type EapMethodExtension struct {
  3083. }
  3084. // TLSConfiguration type
  3085. type TLSConfiguration struct {
  3086. CertificateID string `xml:"http://www.onvif.org/ver20/ptz/wsdl CertificateID,omitempty"`
  3087. }
  3088. // RelayOutputSettings type
  3089. type RelayOutputSettings struct {
  3090. //
  3091. // 'Bistable' or 'Monostable'
  3092. //
  3093. //
  3094. Mode RelayMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3095. // Time after which the relay returns to its idle state if it is in monostable mode. If the Mode field is set to bistable mode the value of the parameter can be ignored.
  3096. DelayTime Duration `xml:"http://www.onvif.org/ver10/schema DelayTime,omitempty"`
  3097. //
  3098. // 'open' or 'closed'
  3099. //
  3100. //
  3101. IdleState RelayIdleState `xml:"http://www.onvif.org/ver10/schema IdleState,omitempty"`
  3102. }
  3103. // RelayOutput type
  3104. type RelayOutput struct {
  3105. *DeviceEntity
  3106. Properties RelayOutputSettings `xml:"http://www.onvif.org/ver10/schema Properties,omitempty"`
  3107. }
  3108. // PTZNode type
  3109. type PTZNode struct {
  3110. *DeviceEntity
  3111. //
  3112. // A unique identifier that is used to reference PTZ Nodes.
  3113. //
  3114. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  3115. //
  3116. // A list of Coordinate Systems available for the PTZ Node. For each Coordinate System, the PTZ Node MUST specify its allowed range.
  3117. //
  3118. SupportedPTZSpaces PTZSpaces `xml:"http://www.onvif.org/ver10/schema SupportedPTZSpaces,omitempty"`
  3119. //
  3120. // All preset operations MUST be available for this PTZ Node if one preset is supported.
  3121. //
  3122. MaximumNumberOfPresets int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfPresets,omitempty"`
  3123. //
  3124. // A boolean operator specifying the availability of a home position. If set to true, the Home Position Operations MUST be available for this PTZ Node.
  3125. //
  3126. HomeSupported bool `xml:"http://www.onvif.org/ver20/ptz/wsdl HomeSupported,omitempty"`
  3127. //
  3128. // A list of supported Auxiliary commands. If the list is not empty, the Auxiliary Operations MUST be available for this PTZ Node.
  3129. //
  3130. AuxiliaryCommands []AuxiliaryData `xml:"http://www.onvif.org/ver20/ptz/wsdl AuxiliaryCommands,omitempty"`
  3131. Extension PTZNodeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3132. //
  3133. // Indication whether the HomePosition of a Node is fixed or it can be changed via the SetHomePosition command.
  3134. //
  3135. FixedHomePosition bool `xml:"http://www.onvif.org/ver20/ptz/wsdl FixedHomePosition,attr,omitempty"`
  3136. //
  3137. // Indication whether the Node supports the geo-referenced move command.
  3138. //
  3139. GeoMove bool `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoMove,attr,omitempty"`
  3140. }
  3141. // PTZNodeExtension type
  3142. type PTZNodeExtension struct {
  3143. //
  3144. // Detail of supported Preset Tour feature.
  3145. //
  3146. SupportedPresetTour PTZPresetTourSupported `xml:"http://www.onvif.org/ver10/schema SupportedPresetTour,omitempty"`
  3147. Extension PTZNodeExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3148. }
  3149. // PTZNodeExtension2 type
  3150. type PTZNodeExtension2 struct {
  3151. }
  3152. // PTZPresetTourSupported type
  3153. type PTZPresetTourSupported struct {
  3154. // Indicates number of preset tours that can be created. Required preset tour operations shall be available for this PTZ Node if one or more preset tour is supported.
  3155. MaximumNumberOfPresetTours int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfPresetTours,omitempty"`
  3156. // Indicates which preset tour operations are available for this PTZ Node.
  3157. PTZPresetTourOperation []PTZPresetTourOperation `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZPresetTourOperation,omitempty"`
  3158. Extension PTZPresetTourSupportedExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3159. }
  3160. // PTZPresetTourSupportedExtension type
  3161. type PTZPresetTourSupportedExtension struct {
  3162. }
  3163. // PTZConfiguration type
  3164. type PTZConfiguration struct {
  3165. *ConfigurationEntity
  3166. //
  3167. // A mandatory reference to the PTZ Node that the PTZ Configuration belongs to.
  3168. //
  3169. NodeToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl NodeToken,omitempty"`
  3170. //
  3171. // If the PTZ Node supports absolute Pan/Tilt movements, it shall specify one Absolute Pan/Tilt Position Space as default.
  3172. //
  3173. DefaultAbsolutePantTiltPositionSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultAbsolutePantTiltPositionSpace,omitempty"`
  3174. //
  3175. // If the PTZ Node supports absolute zoom movements, it shall specify one Absolute Zoom Position Space as default.
  3176. //
  3177. DefaultAbsoluteZoomPositionSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultAbsoluteZoomPositionSpace,omitempty"`
  3178. //
  3179. // If the PTZ Node supports relative Pan/Tilt movements, it shall specify one RelativePan/Tilt Translation Space as default.
  3180. //
  3181. DefaultRelativePanTiltTranslationSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultRelativePanTiltTranslationSpace,omitempty"`
  3182. //
  3183. // If the PTZ Node supports relative zoom movements, it shall specify one Relative Zoom Translation Space as default.
  3184. //
  3185. DefaultRelativeZoomTranslationSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultRelativeZoomTranslationSpace,omitempty"`
  3186. //
  3187. // If the PTZ Node supports continuous Pan/Tilt movements, it shall specify one Continuous Pan/Tilt Velocity Space as default.
  3188. //
  3189. DefaultContinuousPanTiltVelocitySpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultContinuousPanTiltVelocitySpace,omitempty"`
  3190. //
  3191. // If the PTZ Node supports continuous zoom movements, it shall specify one Continuous Zoom Velocity Space as default.
  3192. //
  3193. DefaultContinuousZoomVelocitySpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultContinuousZoomVelocitySpace,omitempty"`
  3194. //
  3195. // If the PTZ Node supports absolute or relative PTZ movements, it shall specify corresponding default Pan/Tilt and Zoom speeds.
  3196. //
  3197. DefaultPTZSpeed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl DefaultPTZSpeed,omitempty"`
  3198. //
  3199. // If the PTZ Node supports continuous movements, it shall specify a default timeout, after which the movement stops.
  3200. //
  3201. DefaultPTZTimeout Duration `xml:"http://www.onvif.org/ver10/schema DefaultPTZTimeout,omitempty"`
  3202. //
  3203. // The Pan/Tilt limits element should be present for a PTZ Node that supports an absolute Pan/Tilt. If the element is present it signals the support for configurable Pan/Tilt limits. If limits are enabled, the Pan/Tilt movements shall always stay within the specified range. The Pan/Tilt limits are disabled by setting the limits to –INF or +INF.
  3204. //
  3205. PanTiltLimits PanTiltLimits `xml:"http://www.onvif.org/ver10/schema PanTiltLimits,omitempty"`
  3206. //
  3207. // The Zoom limits element should be present for a PTZ Node that supports absolute zoom. If the element is present it signals the supports for configurable Zoom limits. If limits are enabled the zoom movements shall always stay within the specified range. The Zoom limits are disabled by settings the limits to -INF and +INF.
  3208. //
  3209. ZoomLimits ZoomLimits `xml:"http://www.onvif.org/ver10/schema ZoomLimits,omitempty"`
  3210. Extension PTZConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3211. // The optional acceleration ramp used by the device when moving.
  3212. MoveRamp int32 `xml:"http://www.onvif.org/ver10/schema MoveRamp,attr,omitempty"`
  3213. // The optional acceleration ramp used by the device when recalling presets.
  3214. PresetRamp int32 `xml:"http://www.onvif.org/ver10/schema PresetRamp,attr,omitempty"`
  3215. // The optional acceleration ramp used by the device when executing PresetTours.
  3216. PresetTourRamp int32 `xml:"http://www.onvif.org/ver10/schema PresetTourRamp,attr,omitempty"`
  3217. }
  3218. // PTZConfigurationExtension type
  3219. type PTZConfigurationExtension struct {
  3220. // Optional element to configure PT Control Direction related features.
  3221. PTControlDirection PTControlDirection `xml:"http://www.onvif.org/ver10/schema PTControlDirection,omitempty"`
  3222. Extension PTZConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3223. }
  3224. // PTZConfigurationExtension2 type
  3225. type PTZConfigurationExtension2 struct {
  3226. }
  3227. // PTControlDirection type
  3228. type PTControlDirection struct {
  3229. // Optional element to configure related parameters for E-Flip.
  3230. EFlip EFlip `xml:"http://www.onvif.org/ver10/schema EFlip,omitempty"`
  3231. // Optional element to configure related parameters for reversing of PT Control Direction.
  3232. Reverse Reverse `xml:"http://www.onvif.org/ver10/schema Reverse,omitempty"`
  3233. Extension PTControlDirectionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3234. }
  3235. // PTControlDirectionExtension type
  3236. type PTControlDirectionExtension struct {
  3237. }
  3238. // EFlip type
  3239. type EFlip struct {
  3240. // Parameter to enable/disable E-Flip feature.
  3241. Mode EFlipMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3242. }
  3243. // Reverse type
  3244. type Reverse struct {
  3245. // Parameter to enable/disable Reverse feature.
  3246. Mode ReverseMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3247. }
  3248. // PTZConfigurationOptions type
  3249. type PTZConfigurationOptions struct {
  3250. //
  3251. // A list of supported coordinate systems including their range limitations.
  3252. //
  3253. Spaces PTZSpaces `xml:"http://www.onvif.org/ver10/schema Spaces,omitempty"`
  3254. //
  3255. // A timeout Range within which Timeouts are accepted by the PTZ Node.
  3256. //
  3257. PTZTimeout DurationRange `xml:"http://www.onvif.org/ver10/schema PTZTimeout,omitempty"`
  3258. // Supported options for PT Direction Control.
  3259. PTControlDirection PTControlDirectionOptions `xml:"http://www.onvif.org/ver10/schema PTControlDirection,omitempty"`
  3260. Extension PTZConfigurationOptions2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3261. //
  3262. // The list of acceleration ramps supported by the device. The
  3263. // smallest acceleration value corresponds to the minimal index, the
  3264. // highest acceleration corresponds to the maximum index.
  3265. //
  3266. PTZRamps IntAttrList `xml:"http://www.onvif.org/ver10/schema PTZRamps,attr,omitempty"`
  3267. }
  3268. // PTZConfigurationOptions2 type
  3269. type PTZConfigurationOptions2 struct {
  3270. }
  3271. // PTControlDirectionOptions type
  3272. type PTControlDirectionOptions struct {
  3273. // Supported options for EFlip feature.
  3274. EFlip EFlipOptions `xml:"http://www.onvif.org/ver10/schema EFlip,omitempty"`
  3275. // Supported options for Reverse feature.
  3276. Reverse ReverseOptions `xml:"http://www.onvif.org/ver10/schema Reverse,omitempty"`
  3277. Extension PTControlDirectionOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3278. }
  3279. // PTControlDirectionOptionsExtension type
  3280. type PTControlDirectionOptionsExtension struct {
  3281. }
  3282. // EFlipOptions type
  3283. type EFlipOptions struct {
  3284. // Options of EFlip mode parameter.
  3285. Mode []EFlipMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3286. Extension EFlipOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3287. }
  3288. // EFlipOptionsExtension type
  3289. type EFlipOptionsExtension struct {
  3290. }
  3291. // ReverseOptions type
  3292. type ReverseOptions struct {
  3293. // Options of Reverse mode parameter.
  3294. Mode []ReverseMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3295. Extension ReverseOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3296. }
  3297. // ReverseOptionsExtension type
  3298. type ReverseOptionsExtension struct {
  3299. }
  3300. // PanTiltLimits type
  3301. type PanTiltLimits struct {
  3302. //
  3303. // A range of pan tilt limits.
  3304. //
  3305. Range Space2DDescription `xml:"http://www.onvif.org/ver10/schema Range,omitempty"`
  3306. }
  3307. // ZoomLimits type
  3308. type ZoomLimits struct {
  3309. //
  3310. // A range of zoom limit
  3311. //
  3312. Range Space1DDescription `xml:"http://www.onvif.org/ver10/schema Range,omitempty"`
  3313. }
  3314. // PTZSpaces type
  3315. type PTZSpaces struct {
  3316. //
  3317. // The Generic Pan/Tilt Position space is provided by every PTZ node that supports absolute Pan/Tilt, since it does not relate to a specific physical range.
  3318. // Instead, the range should be defined as the full range of the PTZ unit normalized to the range -1 to 1 resulting in the following space description.
  3319. //
  3320. AbsolutePanTiltPositionSpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema AbsolutePanTiltPositionSpace,omitempty"`
  3321. //
  3322. // The Generic Zoom Position Space is provided by every PTZ node that supports absolute Zoom, since it does not relate to a specific physical range.
  3323. // Instead, the range should be defined as the full range of the Zoom normalized to the range 0 (wide) to 1 (tele).
  3324. // There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension.
  3325. //
  3326. AbsoluteZoomPositionSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema AbsoluteZoomPositionSpace,omitempty"`
  3327. //
  3328. // The Generic Pan/Tilt translation space is provided by every PTZ node that supports relative Pan/Tilt, since it does not relate to a specific physical range.
  3329. // Instead, the range should be defined as the full positive and negative translation range of the PTZ unit normalized to the range -1 to 1,
  3330. // where positive translation would mean clockwise rotation or movement in right/up direction resulting in the following space description.
  3331. //
  3332. RelativePanTiltTranslationSpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema RelativePanTiltTranslationSpace,omitempty"`
  3333. //
  3334. // The Generic Zoom Translation Space is provided by every PTZ node that supports relative Zoom, since it does not relate to a specific physical range.
  3335. // Instead, the corresponding absolute range should be defined as the full positive and negative translation range of the Zoom normalized to the range -1 to1,
  3336. // where a positive translation maps to a movement in TELE direction. The translation is signed to indicate direction (negative is to wide, positive is to tele).
  3337. // There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension. This results in the following space description.
  3338. //
  3339. RelativeZoomTranslationSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema RelativeZoomTranslationSpace,omitempty"`
  3340. //
  3341. // The generic Pan/Tilt velocity space shall be provided by every PTZ node, since it does not relate to a specific physical range.
  3342. // Instead, the range should be defined as a range of the PTZ unit’s speed normalized to the range -1 to 1, where a positive velocity would map to clockwise
  3343. // rotation or movement in the right/up direction. A signed speed can be independently specified for the pan and tilt component resulting in the following space description.
  3344. //
  3345. ContinuousPanTiltVelocitySpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema ContinuousPanTiltVelocitySpace,omitempty"`
  3346. //
  3347. // The generic zoom velocity space specifies a zoom factor velocity without knowing the underlying physical model. The range should be normalized from -1 to 1,
  3348. // where a positive velocity would map to TELE direction. A generic zoom velocity space description resembles the following.
  3349. //
  3350. ContinuousZoomVelocitySpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema ContinuousZoomVelocitySpace,omitempty"`
  3351. //
  3352. // The speed space specifies the speed for a Pan/Tilt movement when moving to an absolute position or to a relative translation.
  3353. // In contrast to the velocity spaces, speed spaces do not contain any directional information. The speed of a combined Pan/Tilt
  3354. // movement is represented by a single non-negative scalar value.
  3355. //
  3356. PanTiltSpeedSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema PanTiltSpeedSpace,omitempty"`
  3357. //
  3358. // The speed space specifies the speed for a Zoom movement when moving to an absolute position or to a relative translation.
  3359. // In contrast to the velocity spaces, speed spaces do not contain any directional information.
  3360. //
  3361. ZoomSpeedSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema ZoomSpeedSpace,omitempty"`
  3362. Extension PTZSpacesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3363. }
  3364. // PTZSpacesExtension type
  3365. type PTZSpacesExtension struct {
  3366. }
  3367. // Space2DDescription type
  3368. type Space2DDescription struct {
  3369. //
  3370. // A URI of coordinate systems.
  3371. //
  3372. URI AnyURI `xml:"http://www.onvif.org/ver10/schema URI,omitempty"`
  3373. //
  3374. // A range of x-axis.
  3375. //
  3376. XRange FloatRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  3377. //
  3378. // A range of y-axis.
  3379. //
  3380. YRange FloatRange `xml:"http://www.onvif.org/ver10/schema YRange,omitempty"`
  3381. }
  3382. // Space1DDescription type
  3383. type Space1DDescription struct {
  3384. //
  3385. // A URI of coordinate systems.
  3386. //
  3387. URI AnyURI `xml:"http://www.onvif.org/ver10/schema URI,omitempty"`
  3388. //
  3389. // A range of x-axis.
  3390. //
  3391. XRange FloatRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  3392. }
  3393. // PTZSpeed type
  3394. type PTZSpeed struct {
  3395. // Pan and tilt speed. The x component corresponds to pan and the y component to tilt. If omitted in a request, the current (if any) PanTilt movement should not be affected.
  3396. PanTilt Vector2D `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  3397. //
  3398. // A zoom speed. If omitted in a request, the current (if any) Zoom movement should not be affected.
  3399. //
  3400. Zoom Vector1D `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  3401. }
  3402. // PTZPreset type
  3403. type PTZPreset struct {
  3404. //
  3405. // A list of preset position name.
  3406. //
  3407. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  3408. //
  3409. // A list of preset position.
  3410. //
  3411. PTZPosition PTZVector `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZPosition,omitempty"`
  3412. Token ReferenceToken `xml:"token,attr,omitempty"`
  3413. }
  3414. // PresetTour type
  3415. type PresetTour struct {
  3416. // Readable name of the preset tour.
  3417. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  3418. // Read only parameters to indicate the status of the preset tour.
  3419. Status PTZPresetTourStatus `xml:"http://www.onvif.org/ver10/schema Status,omitempty"`
  3420. // Auto Start flag of the preset tour. True allows the preset tour to be activated always.
  3421. AutoStart bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AutoStart,omitempty"`
  3422. // Parameters to specify the detail behavior of the preset tour.
  3423. StartingCondition PTZPresetTourStartingCondition `xml:"http://www.onvif.org/ver10/schema StartingCondition,omitempty"`
  3424. // A list of detail of touring spots including preset positions.
  3425. TourSpot []PTZPresetTourSpot `xml:"http://www.onvif.org/ver10/schema TourSpot,omitempty"`
  3426. Extension PTZPresetTourExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3427. // Unique identifier of this preset tour.
  3428. Token ReferenceToken `xml:"token,attr,omitempty"`
  3429. }
  3430. // PTZPresetTourExtension type
  3431. type PTZPresetTourExtension struct {
  3432. }
  3433. // PTZPresetTourSpot type
  3434. type PTZPresetTourSpot struct {
  3435. // Detail definition of preset position of the tour spot.
  3436. PresetDetail PTZPresetTourPresetDetail `xml:"http://www.onvif.org/ver10/schema PresetDetail,omitempty"`
  3437. // Optional parameter to specify Pan/Tilt and Zoom speed on moving toward this tour spot.
  3438. Speed PTZSpeed `xml:"http://www.onvif.org/ver20/ptz/wsdl Speed,omitempty"`
  3439. // Optional parameter to specify time duration of staying on this tour sport.
  3440. StayTime Duration `xml:"http://www.onvif.org/ver10/schema StayTime,omitempty"`
  3441. Extension PTZPresetTourSpotExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3442. }
  3443. // PTZPresetTourSpotExtension type
  3444. type PTZPresetTourSpotExtension struct {
  3445. }
  3446. // PTZPresetTourPresetDetail type
  3447. type PTZPresetTourPresetDetail struct {
  3448. // Option to specify the preset position with Preset Token defined in advance.
  3449. PresetToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetToken,omitempty"`
  3450. // Option to specify the preset position with the home position of this PTZ Node. "False" to this parameter shall be treated as an invalid argument.
  3451. Home bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Home,omitempty"`
  3452. // Option to specify the preset position with vector of PTZ node directly.
  3453. PTZPosition PTZVector `xml:"http://www.onvif.org/ver20/ptz/wsdl PTZPosition,omitempty"`
  3454. TypeExtension PTZPresetTourTypeExtension `xml:"http://www.onvif.org/ver10/schema TypeExtension,omitempty"`
  3455. }
  3456. // PTZPresetTourTypeExtension type
  3457. type PTZPresetTourTypeExtension struct {
  3458. }
  3459. // PTZPresetTourStatus type
  3460. type PTZPresetTourStatus struct {
  3461. // Indicates state of this preset tour by Idle/Touring/Paused.
  3462. State PTZPresetTourState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  3463. // Indicates a tour spot currently staying.
  3464. CurrentTourSpot PTZPresetTourSpot `xml:"http://www.onvif.org/ver10/schema CurrentTourSpot,omitempty"`
  3465. Extension PTZPresetTourStatusExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3466. }
  3467. // PTZPresetTourStatusExtension type
  3468. type PTZPresetTourStatusExtension struct {
  3469. }
  3470. // PTZPresetTourStartingCondition type
  3471. type PTZPresetTourStartingCondition struct {
  3472. // Optional parameter to specify how many times the preset tour is recurred.
  3473. RecurringTime int32 `xml:"http://www.onvif.org/ver10/schema RecurringTime,omitempty"`
  3474. // Optional parameter to specify how long time duration the preset tour is recurred.
  3475. RecurringDuration Duration `xml:"http://www.onvif.org/ver10/schema RecurringDuration,omitempty"`
  3476. // Optional parameter to choose which direction the preset tour goes. Forward shall be chosen in case it is omitted.
  3477. Direction PTZPresetTourDirection `xml:"http://www.onvif.org/ver10/schema Direction,omitempty"`
  3478. Extension PTZPresetTourStartingConditionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3479. // Execute presets in random order. If set to true and Direction is also present, Direction will be ignored and presets of the Tour will be recalled randomly.
  3480. RandomPresetOrder bool `xml:"http://www.onvif.org/ver20/ptz/wsdl RandomPresetOrder,attr,omitempty"`
  3481. }
  3482. // PTZPresetTourStartingConditionExtension type
  3483. type PTZPresetTourStartingConditionExtension struct {
  3484. }
  3485. // PTZPresetTourOptions type
  3486. type PTZPresetTourOptions struct {
  3487. // Indicates whether or not the AutoStart is supported.
  3488. AutoStart bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AutoStart,omitempty"`
  3489. // Supported options for Preset Tour Starting Condition.
  3490. StartingCondition PTZPresetTourStartingConditionOptions `xml:"http://www.onvif.org/ver10/schema StartingCondition,omitempty"`
  3491. // Supported options for Preset Tour Spot.
  3492. TourSpot PTZPresetTourSpotOptions `xml:"http://www.onvif.org/ver10/schema TourSpot,omitempty"`
  3493. }
  3494. // PTZPresetTourSpotOptions type
  3495. type PTZPresetTourSpotOptions struct {
  3496. // Supported options for detail definition of preset position of the tour spot.
  3497. PresetDetail PTZPresetTourPresetDetailOptions `xml:"http://www.onvif.org/ver10/schema PresetDetail,omitempty"`
  3498. // Supported range of stay time for a tour spot.
  3499. StayTime DurationRange `xml:"http://www.onvif.org/ver10/schema StayTime,omitempty"`
  3500. }
  3501. // PTZPresetTourPresetDetailOptions type
  3502. type PTZPresetTourPresetDetailOptions struct {
  3503. // A list of available Preset Tokens for tour spots.
  3504. PresetToken []ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl PresetToken,omitempty"`
  3505. // An option to indicate Home postion for tour spots.
  3506. Home bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Home,omitempty"`
  3507. // Supported range of Pan and Tilt for tour spots.
  3508. PanTiltPositionSpace Space2DDescription `xml:"http://www.onvif.org/ver10/schema PanTiltPositionSpace,omitempty"`
  3509. // Supported range of Zoom for a tour spot.
  3510. ZoomPositionSpace Space1DDescription `xml:"http://www.onvif.org/ver10/schema ZoomPositionSpace,omitempty"`
  3511. Extension PTZPresetTourPresetDetailOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3512. }
  3513. // PTZPresetTourPresetDetailOptionsExtension type
  3514. type PTZPresetTourPresetDetailOptionsExtension struct {
  3515. }
  3516. // PTZPresetTourStartingConditionOptions type
  3517. type PTZPresetTourStartingConditionOptions struct {
  3518. // Supported range of Recurring Time.
  3519. RecurringTime IntRange `xml:"http://www.onvif.org/ver10/schema RecurringTime,omitempty"`
  3520. // Supported range of Recurring Duration.
  3521. RecurringDuration DurationRange `xml:"http://www.onvif.org/ver10/schema RecurringDuration,omitempty"`
  3522. // Supported options for Direction of Preset Tour.
  3523. Direction []PTZPresetTourDirection `xml:"http://www.onvif.org/ver10/schema Direction,omitempty"`
  3524. Extension PTZPresetTourStartingConditionOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3525. }
  3526. // PTZPresetTourStartingConditionOptionsExtension type
  3527. type PTZPresetTourStartingConditionOptionsExtension struct {
  3528. }
  3529. // ImagingStatus type
  3530. type ImagingStatus struct {
  3531. FocusStatus FocusStatus `xml:"http://www.onvif.org/ver10/schema FocusStatus,omitempty"`
  3532. }
  3533. // FocusStatus type
  3534. type FocusStatus struct {
  3535. //
  3536. // Status of focus position.
  3537. //
  3538. Position float32 `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  3539. //
  3540. // Status of focus MoveStatus.
  3541. //
  3542. MoveStatus MoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  3543. //
  3544. // Error status of focus.
  3545. //
  3546. Error string `xml:"http://www.onvif.org/ver20/ptz/wsdl Error,omitempty"`
  3547. }
  3548. // FocusConfiguration type
  3549. type FocusConfiguration struct {
  3550. AutoFocusMode AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusMode,omitempty"`
  3551. DefaultSpeed float32 `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  3552. // Parameter to set autofocus near limit (unit: meter).
  3553. NearLimit float32 `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  3554. // Parameter to set autofocus far limit (unit: meter).
  3555. // If set to 0.0, infinity will be used.
  3556. FarLimit float32 `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  3557. }
  3558. // ImagingSettings type
  3559. type ImagingSettings struct {
  3560. // Enabled/disabled BLC mode (on/off).
  3561. BacklightCompensation BacklightCompensation `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  3562. // Image brightness (unit unspecified).
  3563. Brightness float32 `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  3564. // Color saturation of the image (unit unspecified).
  3565. ColorSaturation float32 `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  3566. // Contrast of the image (unit unspecified).
  3567. Contrast float32 `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  3568. // Exposure mode of the device.
  3569. Exposure Exposure `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  3570. // Focus configuration.
  3571. Focus FocusConfiguration `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  3572. // Infrared Cutoff Filter settings.
  3573. IrCutFilter IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilter,omitempty"`
  3574. // Sharpness of the Video image.
  3575. Sharpness float32 `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  3576. // WDR settings.
  3577. WideDynamicRange WideDynamicRange `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  3578. // White balance settings.
  3579. WhiteBalance WhiteBalance `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  3580. Extension ImagingSettingsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3581. }
  3582. // ImagingSettingsExtension type
  3583. type ImagingSettingsExtension struct {
  3584. }
  3585. // Exposure type
  3586. type Exposure struct {
  3587. //
  3588. // Exposure Mode
  3589. //
  3590. //
  3591. Mode ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3592. //
  3593. // The exposure priority mode (low noise/framerate).
  3594. //
  3595. Priority ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  3596. //
  3597. // Rectangular exposure mask.
  3598. //
  3599. Window Rectangle `xml:"http://www.onvif.org/ver10/schema Window,omitempty"`
  3600. //
  3601. // Minimum value of exposure time range allowed to be used by the algorithm.
  3602. //
  3603. MinExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  3604. //
  3605. // Maximum value of exposure time range allowed to be used by the algorithm.
  3606. //
  3607. MaxExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  3608. //
  3609. // Minimum value of the sensor gain range that is allowed to be used by the algorithm.
  3610. //
  3611. MinGain float32 `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  3612. //
  3613. // Maximum value of the sensor gain range that is allowed to be used by the algorithm.
  3614. //
  3615. MaxGain float32 `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  3616. //
  3617. // Minimum value of the iris range allowed to be used by the algorithm.
  3618. //
  3619. MinIris float32 `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  3620. //
  3621. // Maximum value of the iris range allowed to be used by the algorithm.
  3622. //
  3623. MaxIris float32 `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  3624. //
  3625. // The fixed exposure time used by the image sensor (μs).
  3626. //
  3627. ExposureTime float32 `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  3628. //
  3629. // The fixed gain used by the image sensor (dB).
  3630. //
  3631. Gain float32 `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  3632. //
  3633. // The fixed attenuation of input light affected by the iris (dB). 0dB maps to a fully opened iris.
  3634. //
  3635. Iris float32 `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  3636. }
  3637. // WideDynamicRange type
  3638. type WideDynamicRange struct {
  3639. //
  3640. // White dynamic range (on/off)
  3641. //
  3642. Mode WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3643. //
  3644. // Optional level parameter (unitless)
  3645. //
  3646. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3647. }
  3648. // BacklightCompensation type
  3649. type BacklightCompensation struct {
  3650. // Backlight compensation mode (on/off).
  3651. Mode BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3652. // Optional level parameter (unit unspecified).
  3653. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3654. }
  3655. // ImagingOptions type
  3656. type ImagingOptions struct {
  3657. BacklightCompensation BacklightCompensationOptions `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  3658. Brightness FloatRange `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  3659. ColorSaturation FloatRange `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  3660. Contrast FloatRange `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  3661. Exposure ExposureOptions `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  3662. Focus FocusOptions `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  3663. IrCutFilterModes []IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilterModes,omitempty"`
  3664. Sharpness FloatRange `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  3665. WideDynamicRange WideDynamicRangeOptions `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  3666. WhiteBalance WhiteBalanceOptions `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  3667. }
  3668. // WideDynamicRangeOptions type
  3669. type WideDynamicRangeOptions struct {
  3670. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3671. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3672. }
  3673. // BacklightCompensationOptions type
  3674. type BacklightCompensationOptions struct {
  3675. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3676. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3677. }
  3678. // FocusOptions type
  3679. type FocusOptions struct {
  3680. AutoFocusModes []AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusModes,omitempty"`
  3681. DefaultSpeed FloatRange `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  3682. NearLimit FloatRange `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  3683. FarLimit FloatRange `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  3684. }
  3685. // ExposureOptions type
  3686. type ExposureOptions struct {
  3687. Mode []ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3688. Priority []ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  3689. MinExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  3690. MaxExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  3691. MinGain FloatRange `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  3692. MaxGain FloatRange `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  3693. MinIris FloatRange `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  3694. MaxIris FloatRange `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  3695. ExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  3696. Gain FloatRange `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  3697. Iris FloatRange `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  3698. }
  3699. // WhiteBalanceOptions type
  3700. type WhiteBalanceOptions struct {
  3701. Mode []WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3702. YrGain FloatRange `xml:"http://www.onvif.org/ver10/schema YrGain,omitempty"`
  3703. YbGain FloatRange `xml:"http://www.onvif.org/ver10/schema YbGain,omitempty"`
  3704. }
  3705. // WhiteBalance type
  3706. type WhiteBalance struct {
  3707. // Auto whitebalancing mode (auto/manual).
  3708. Mode WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3709. // Rgain (unitless).
  3710. CrGain float32 `xml:"http://www.onvif.org/ver10/schema CrGain,omitempty"`
  3711. // Bgain (unitless).
  3712. CbGain float32 `xml:"http://www.onvif.org/ver10/schema CbGain,omitempty"`
  3713. }
  3714. // ImagingStatus20 type
  3715. type ImagingStatus20 struct {
  3716. //
  3717. // Status of focus.
  3718. //
  3719. FocusStatus20 FocusStatus20 `xml:"http://www.onvif.org/ver10/schema FocusStatus20,omitempty"`
  3720. Extension ImagingStatus20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3721. }
  3722. // ImagingStatus20Extension type
  3723. type ImagingStatus20Extension struct {
  3724. }
  3725. // FocusStatus20 type
  3726. type FocusStatus20 struct {
  3727. //
  3728. // Status of focus position.
  3729. //
  3730. Position float32 `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  3731. //
  3732. // Status of focus MoveStatus.
  3733. //
  3734. MoveStatus MoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  3735. //
  3736. // Error status of focus.
  3737. //
  3738. Error string `xml:"http://www.onvif.org/ver20/ptz/wsdl Error,omitempty"`
  3739. Extension FocusStatus20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3740. }
  3741. // FocusStatus20Extension type
  3742. type FocusStatus20Extension struct {
  3743. }
  3744. // ImagingSettings20 type
  3745. type ImagingSettings20 struct {
  3746. // Enabled/disabled BLC mode (on/off).
  3747. BacklightCompensation BacklightCompensation20 `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  3748. // Image brightness (unit unspecified).
  3749. Brightness float32 `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  3750. // Color saturation of the image (unit unspecified).
  3751. ColorSaturation float32 `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  3752. // Contrast of the image (unit unspecified).
  3753. Contrast float32 `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  3754. // Exposure mode of the device.
  3755. Exposure Exposure20 `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  3756. // Focus configuration.
  3757. Focus FocusConfiguration20 `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  3758. // Infrared Cutoff Filter settings.
  3759. IrCutFilter IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilter,omitempty"`
  3760. // Sharpness of the Video image.
  3761. Sharpness float32 `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  3762. // WDR settings.
  3763. WideDynamicRange WideDynamicRange20 `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  3764. // White balance settings.
  3765. WhiteBalance WhiteBalance20 `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  3766. Extension ImagingSettingsExtension20 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3767. }
  3768. // ImagingSettingsExtension20 type
  3769. type ImagingSettingsExtension20 struct {
  3770. // Optional element to configure Image Stabilization feature.
  3771. ImageStabilization ImageStabilization `xml:"http://www.onvif.org/ver10/schema ImageStabilization,omitempty"`
  3772. Extension ImagingSettingsExtension202 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3773. }
  3774. // ImagingSettingsExtension202 type
  3775. type ImagingSettingsExtension202 struct {
  3776. // An optional parameter applied to only auto mode to adjust timing of toggling Ir cut filter.
  3777. IrCutFilterAutoAdjustment []IrCutFilterAutoAdjustment `xml:"http://www.onvif.org/ver10/schema IrCutFilterAutoAdjustment,omitempty"`
  3778. Extension ImagingSettingsExtension203 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3779. }
  3780. // ImagingSettingsExtension203 type
  3781. type ImagingSettingsExtension203 struct {
  3782. // Optional element to configure Image Contrast Compensation.
  3783. ToneCompensation ToneCompensation `xml:"http://www.onvif.org/ver10/schema ToneCompensation,omitempty"`
  3784. // Optional element to configure Image Defogging.
  3785. Defogging Defogging `xml:"http://www.onvif.org/ver10/schema Defogging,omitempty"`
  3786. // Optional element to configure Image Noise Reduction.
  3787. NoiseReduction NoiseReduction `xml:"http://www.onvif.org/ver10/schema NoiseReduction,omitempty"`
  3788. Extension ImagingSettingsExtension204 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3789. }
  3790. // ImagingSettingsExtension204 type
  3791. type ImagingSettingsExtension204 struct {
  3792. }
  3793. // ImageStabilization type
  3794. type ImageStabilization struct {
  3795. // Parameter to enable/disable Image Stabilization feature.
  3796. Mode ImageStabilizationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3797. // Optional level parameter (unit unspecified)
  3798. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3799. Extension ImageStabilizationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3800. }
  3801. // ImageStabilizationExtension type
  3802. type ImageStabilizationExtension struct {
  3803. }
  3804. // IrCutFilterAutoAdjustment type
  3805. type IrCutFilterAutoAdjustment struct {
  3806. // Specifies which boundaries to automatically toggle Ir cut filter following parameters are applied to. Its options shall be chosen from tt:IrCutFilterAutoBoundaryType.
  3807. BoundaryType string `xml:"http://www.onvif.org/ver20/ptz/wsdl BoundaryType,omitempty"`
  3808. // Adjusts boundary exposure level for toggling Ir cut filter to on/off specified with unitless normalized value from +1.0 to -1.0. Zero is default and -1.0 is the darkest adjustment (Unitless).
  3809. BoundaryOffset float32 `xml:"http://www.onvif.org/ver10/schema BoundaryOffset,omitempty"`
  3810. // Delay time of toggling Ir cut filter to on/off after crossing of the boundary exposure levels.
  3811. ResponseTime Duration `xml:"http://www.onvif.org/ver10/schema ResponseTime,omitempty"`
  3812. Extension IrCutFilterAutoAdjustmentExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3813. }
  3814. // IrCutFilterAutoAdjustmentExtension type
  3815. type IrCutFilterAutoAdjustmentExtension struct {
  3816. }
  3817. // WideDynamicRange20 type
  3818. type WideDynamicRange20 struct {
  3819. // Wide dynamic range mode (on/off).
  3820. Mode WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3821. // Optional level parameter (unit unspecified).
  3822. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3823. }
  3824. // BacklightCompensation20 type
  3825. type BacklightCompensation20 struct {
  3826. // Backlight compensation mode (on/off).
  3827. Mode BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3828. // Optional level parameter (unit unspecified).
  3829. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3830. }
  3831. // Exposure20 type
  3832. type Exposure20 struct {
  3833. //
  3834. // Exposure Mode
  3835. //
  3836. //
  3837. Mode ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3838. //
  3839. // The exposure priority mode (low noise/framerate).
  3840. //
  3841. Priority ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  3842. //
  3843. // Rectangular exposure mask.
  3844. //
  3845. Window Rectangle `xml:"http://www.onvif.org/ver10/schema Window,omitempty"`
  3846. //
  3847. // Minimum value of exposure time range allowed to be used by the algorithm.
  3848. //
  3849. MinExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  3850. //
  3851. // Maximum value of exposure time range allowed to be used by the algorithm.
  3852. //
  3853. MaxExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  3854. //
  3855. // Minimum value of the sensor gain range that is allowed to be used by the algorithm.
  3856. //
  3857. MinGain float32 `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  3858. //
  3859. // Maximum value of the sensor gain range that is allowed to be used by the algorithm.
  3860. //
  3861. MaxGain float32 `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  3862. //
  3863. // Minimum value of the iris range allowed to be used by the algorithm. 0dB maps to a fully opened iris and positive values map to higher attenuation.
  3864. //
  3865. MinIris float32 `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  3866. //
  3867. // Maximum value of the iris range allowed to be used by the algorithm. 0dB maps to a fully opened iris and positive values map to higher attenuation.
  3868. //
  3869. MaxIris float32 `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  3870. //
  3871. // The fixed exposure time used by the image sensor (μs).
  3872. //
  3873. ExposureTime float32 `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  3874. //
  3875. // The fixed gain used by the image sensor (dB).
  3876. //
  3877. Gain float32 `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  3878. //
  3879. // The fixed attenuation of input light affected by the iris (dB). 0dB maps to a fully opened iris and positive values map to higher attenuation.
  3880. //
  3881. Iris float32 `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  3882. }
  3883. // ToneCompensation type
  3884. type ToneCompensation struct {
  3885. // Parameter to enable/disable or automatic ToneCompensation feature. Its options shall be chosen from tt:ToneCompensationMode Type.
  3886. Mode string `xml:"http://www.onvif.org/ver20/ptz/wsdl Mode,omitempty"`
  3887. // Optional level parameter specified with unitless normalized value from 0.0 to +1.0.
  3888. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3889. Extension ToneCompensationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3890. }
  3891. // ToneCompensationExtension type
  3892. type ToneCompensationExtension struct {
  3893. }
  3894. // Defogging type
  3895. type Defogging struct {
  3896. // Parameter to enable/disable or automatic Defogging feature. Its options shall be chosen from tt:DefoggingMode Type.
  3897. Mode string `xml:"http://www.onvif.org/ver20/ptz/wsdl Mode,omitempty"`
  3898. // Optional level parameter specified with unitless normalized value from 0.0 to +1.0.
  3899. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3900. Extension DefoggingExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3901. }
  3902. // DefoggingExtension type
  3903. type DefoggingExtension struct {
  3904. }
  3905. // NoiseReduction type
  3906. type NoiseReduction struct {
  3907. // Level parameter specified with unitless normalized value from 0.0 to +1.0. Level=0 means no noise reduction or minimal noise reduction.
  3908. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3909. }
  3910. // ImagingOptions20 type
  3911. type ImagingOptions20 struct {
  3912. //
  3913. // Valid range of Backlight Compensation.
  3914. //
  3915. BacklightCompensation BacklightCompensationOptions20 `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  3916. //
  3917. // Valid range of Brightness.
  3918. //
  3919. Brightness FloatRange `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  3920. //
  3921. // Valid range of Color Saturation.
  3922. //
  3923. ColorSaturation FloatRange `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  3924. //
  3925. // Valid range of Contrast.
  3926. //
  3927. Contrast FloatRange `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  3928. //
  3929. // Valid range of Exposure.
  3930. //
  3931. Exposure ExposureOptions20 `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  3932. //
  3933. // Valid range of Focus.
  3934. //
  3935. Focus FocusOptions20 `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  3936. //
  3937. // Valid range of IrCutFilterModes.
  3938. //
  3939. IrCutFilterModes []IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilterModes,omitempty"`
  3940. //
  3941. // Valid range of Sharpness.
  3942. //
  3943. Sharpness FloatRange `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  3944. //
  3945. // Valid range of WideDynamicRange.
  3946. //
  3947. WideDynamicRange WideDynamicRangeOptions20 `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  3948. //
  3949. // Valid range of WhiteBalance.
  3950. //
  3951. WhiteBalance WhiteBalanceOptions20 `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  3952. Extension ImagingOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3953. }
  3954. // ImagingOptions20Extension type
  3955. type ImagingOptions20Extension struct {
  3956. // Options of parameters for Image Stabilization feature.
  3957. ImageStabilization ImageStabilizationOptions `xml:"http://www.onvif.org/ver10/schema ImageStabilization,omitempty"`
  3958. Extension ImagingOptions20Extension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3959. }
  3960. // ImagingOptions20Extension2 type
  3961. type ImagingOptions20Extension2 struct {
  3962. // Options of parameters for adjustment of Ir cut filter auto mode.
  3963. IrCutFilterAutoAdjustment IrCutFilterAutoAdjustmentOptions `xml:"http://www.onvif.org/ver10/schema IrCutFilterAutoAdjustment,omitempty"`
  3964. Extension ImagingOptions20Extension3 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3965. }
  3966. // ImagingOptions20Extension3 type
  3967. type ImagingOptions20Extension3 struct {
  3968. // Options of parameters for Tone Compensation feature.
  3969. ToneCompensationOptions ToneCompensationOptions `xml:"http://www.onvif.org/ver10/schema ToneCompensationOptions,omitempty"`
  3970. // Options of parameters for Defogging feature.
  3971. DefoggingOptions DefoggingOptions `xml:"http://www.onvif.org/ver10/schema DefoggingOptions,omitempty"`
  3972. // Options of parameter for Noise Reduction feature.
  3973. NoiseReductionOptions NoiseReductionOptions `xml:"http://www.onvif.org/ver10/schema NoiseReductionOptions,omitempty"`
  3974. Extension ImagingOptions20Extension4 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3975. }
  3976. // ImagingOptions20Extension4 type
  3977. type ImagingOptions20Extension4 struct {
  3978. }
  3979. // ImageStabilizationOptions type
  3980. type ImageStabilizationOptions struct {
  3981. // Supported options of Image Stabilization mode parameter.
  3982. Mode []ImageStabilizationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3983. // Valid range of the Image Stabilization.
  3984. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  3985. Extension ImageStabilizationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3986. }
  3987. // ImageStabilizationOptionsExtension type
  3988. type ImageStabilizationOptionsExtension struct {
  3989. }
  3990. // IrCutFilterAutoAdjustmentOptions type
  3991. type IrCutFilterAutoAdjustmentOptions struct {
  3992. // Supported options of boundary types for adjustment of Ir cut filter auto mode. The opptions shall be chosen from tt:IrCutFilterAutoBoundaryType.
  3993. BoundaryType []string `xml:"http://www.onvif.org/ver20/ptz/wsdl BoundaryType,omitempty"`
  3994. // Indicates whether or not boundary offset for toggling Ir cut filter is supported.
  3995. BoundaryOffset bool `xml:"http://www.onvif.org/ver20/ptz/wsdl BoundaryOffset,omitempty"`
  3996. // Supported range of delay time for toggling Ir cut filter.
  3997. ResponseTimeRange DurationRange `xml:"http://www.onvif.org/ver10/schema ResponseTimeRange,omitempty"`
  3998. Extension IrCutFilterAutoAdjustmentOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3999. }
  4000. // IrCutFilterAutoAdjustmentOptionsExtension type
  4001. type IrCutFilterAutoAdjustmentOptionsExtension struct {
  4002. }
  4003. // WideDynamicRangeOptions20 type
  4004. type WideDynamicRangeOptions20 struct {
  4005. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4006. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4007. }
  4008. // BacklightCompensationOptions20 type
  4009. type BacklightCompensationOptions20 struct {
  4010. //
  4011. // 'ON' or 'OFF'
  4012. //
  4013. Mode []BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4014. //
  4015. // Level range of BacklightCompensation.
  4016. //
  4017. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4018. }
  4019. // ExposureOptions20 type
  4020. type ExposureOptions20 struct {
  4021. //
  4022. // Exposure Mode
  4023. //
  4024. //
  4025. Mode []ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4026. //
  4027. // The exposure priority mode (low noise/framerate).
  4028. //
  4029. Priority []ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4030. //
  4031. // Valid range of the Minimum ExposureTime.
  4032. //
  4033. MinExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  4034. //
  4035. // Valid range of the Maximum ExposureTime.
  4036. //
  4037. MaxExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  4038. //
  4039. // Valid range of the Minimum Gain.
  4040. //
  4041. MinGain FloatRange `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  4042. //
  4043. // Valid range of the Maximum Gain.
  4044. //
  4045. MaxGain FloatRange `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  4046. //
  4047. // Valid range of the Minimum Iris.
  4048. //
  4049. MinIris FloatRange `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  4050. //
  4051. // Valid range of the Maximum Iris.
  4052. //
  4053. MaxIris FloatRange `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  4054. //
  4055. // Valid range of the ExposureTime.
  4056. //
  4057. ExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  4058. //
  4059. // Valid range of the Gain.
  4060. //
  4061. Gain FloatRange `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  4062. //
  4063. // Valid range of the Iris.
  4064. //
  4065. Iris FloatRange `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  4066. }
  4067. // WhiteBalance20 type
  4068. type WhiteBalance20 struct {
  4069. //
  4070. // 'AUTO' or 'MANUAL'
  4071. //
  4072. Mode WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4073. //
  4074. // Rgain (unitless).
  4075. //
  4076. CrGain float32 `xml:"http://www.onvif.org/ver10/schema CrGain,omitempty"`
  4077. //
  4078. // Bgain (unitless).
  4079. //
  4080. CbGain float32 `xml:"http://www.onvif.org/ver10/schema CbGain,omitempty"`
  4081. Extension WhiteBalance20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4082. }
  4083. // WhiteBalance20Extension type
  4084. type WhiteBalance20Extension struct {
  4085. }
  4086. // FocusConfiguration20 type
  4087. type FocusConfiguration20 struct {
  4088. //
  4089. // Mode of auto focus.
  4090. //
  4091. // Note: for devices supporting both manual and auto operation at the same time manual operation may be supported even if the Mode parameter is set to Auto.
  4092. //
  4093. AutoFocusMode AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusMode,omitempty"`
  4094. DefaultSpeed float32 `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4095. // Parameter to set autofocus near limit (unit: meter).
  4096. NearLimit float32 `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4097. // Parameter to set autofocus far limit (unit: meter).
  4098. FarLimit float32 `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4099. Extension FocusConfiguration20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4100. // Zero or more modes as defined in enumeration tt:AFModes.
  4101. AFMode StringAttrList `xml:"http://www.onvif.org/ver10/schema AFMode,attr,omitempty"`
  4102. }
  4103. // FocusConfiguration20Extension type
  4104. type FocusConfiguration20Extension struct {
  4105. }
  4106. // WhiteBalanceOptions20 type
  4107. type WhiteBalanceOptions20 struct {
  4108. //
  4109. // Mode of WhiteBalance.
  4110. //
  4111. //
  4112. Mode []WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4113. YrGain FloatRange `xml:"http://www.onvif.org/ver10/schema YrGain,omitempty"`
  4114. YbGain FloatRange `xml:"http://www.onvif.org/ver10/schema YbGain,omitempty"`
  4115. Extension WhiteBalanceOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4116. }
  4117. // WhiteBalanceOptions20Extension type
  4118. type WhiteBalanceOptions20Extension struct {
  4119. }
  4120. // FocusOptions20 type
  4121. type FocusOptions20 struct {
  4122. //
  4123. // Supported modes for auto focus.
  4124. //
  4125. //
  4126. AutoFocusModes []AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusModes,omitempty"`
  4127. //
  4128. // Valid range of DefaultSpeed.
  4129. //
  4130. DefaultSpeed FloatRange `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4131. //
  4132. // Valid range of NearLimit.
  4133. //
  4134. NearLimit FloatRange `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4135. //
  4136. // Valid range of FarLimit.
  4137. //
  4138. FarLimit FloatRange `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4139. Extension FocusOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4140. }
  4141. // FocusOptions20Extension type
  4142. type FocusOptions20Extension struct {
  4143. // Supported options for auto focus. Options shall be chosen from tt:AFModes.
  4144. AFModes StringAttrList `xml:"http://www.onvif.org/ver10/schema AFModes,omitempty"`
  4145. }
  4146. // ToneCompensationOptions type
  4147. type ToneCompensationOptions struct {
  4148. // Supported options for Tone Compensation mode. Its options shall be chosen from tt:ToneCompensationMode Type.
  4149. Mode []string `xml:"http://www.onvif.org/ver20/ptz/wsdl Mode,omitempty"`
  4150. // Indicates whether or not support Level parameter for Tone Compensation.
  4151. Level bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Level,omitempty"`
  4152. }
  4153. // DefoggingOptions type
  4154. type DefoggingOptions struct {
  4155. // Supported options for Defogging mode. Its options shall be chosen from tt:DefoggingMode Type.
  4156. Mode []string `xml:"http://www.onvif.org/ver20/ptz/wsdl Mode,omitempty"`
  4157. // Indicates whether or not support Level parameter for Defogging.
  4158. Level bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Level,omitempty"`
  4159. }
  4160. // NoiseReductionOptions type
  4161. type NoiseReductionOptions struct {
  4162. // Indicates whether or not support Level parameter for NoiseReduction.
  4163. Level bool `xml:"http://www.onvif.org/ver20/ptz/wsdl Level,omitempty"`
  4164. }
  4165. // MessageExtension type
  4166. type MessageExtension struct {
  4167. }
  4168. // ItemList type
  4169. type ItemList struct {
  4170. SimpleItem []struct {
  4171. // Item name.
  4172. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,attr,omitempty"`
  4173. // Item value. The type is defined in the corresponding description.
  4174. Value AnySimpleType `xml:"Value,attr,omitempty"`
  4175. } `xml:"SimpleItem,omitempty"`
  4176. ElementItem []struct {
  4177. // Item name.
  4178. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,attr,omitempty"`
  4179. } `xml:"ElementItem,omitempty"`
  4180. Extension ItemListExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4181. }
  4182. // ItemListExtension type
  4183. type ItemListExtension struct {
  4184. }
  4185. // MessageDescription type
  4186. type MessageDescription struct {
  4187. // Set of tokens producing this message. The list may only contain SimpleItemDescription items.
  4188. // The set of tokens identify the component within the WS-Endpoint, which is responsible for the producing the message.
  4189. // For analytics events the token set shall include the VideoSourceConfigurationToken, the VideoAnalyticsConfigurationToken
  4190. // and the name of the analytics module or rule.
  4191. //
  4192. Source ItemListDescription `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  4193. // Describes optional message payload parameters that may be used as key. E.g. object IDs of tracked objects are conveyed as key.
  4194. Key ItemListDescription `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  4195. // Describes the payload of the message.
  4196. Data ItemListDescription `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  4197. Extension MessageDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4198. // Must be set to true when the described Message relates to a property. An alternative term of "property" is a "state" in contrast to a pure event, which contains relevant information for only a single point in time.Default is false.
  4199. IsProperty bool `xml:"http://www.onvif.org/ver20/ptz/wsdl IsProperty,attr,omitempty"`
  4200. }
  4201. // MessageDescriptionExtension type
  4202. type MessageDescriptionExtension struct {
  4203. }
  4204. // ItemListDescription type
  4205. type ItemListDescription struct {
  4206. SimpleItemDescription []struct {
  4207. // Item name. Must be unique within a list.
  4208. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,attr,omitempty"`
  4209. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  4210. } `xml:"SimpleItemDescription,omitempty"`
  4211. ElementItemDescription []struct {
  4212. // Item name. Must be unique within a list.
  4213. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,attr,omitempty"`
  4214. // The type of the item. The Type must reference a defined type.
  4215. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  4216. } `xml:"ElementItemDescription,omitempty"`
  4217. Extension ItemListDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4218. }
  4219. // ItemListDescriptionExtension type
  4220. type ItemListDescriptionExtension struct {
  4221. }
  4222. // Polyline type
  4223. type Polyline struct {
  4224. Point []Vector `xml:"http://www.onvif.org/ver10/schema Point,omitempty"`
  4225. }
  4226. // AnalyticsEngineConfiguration type
  4227. type AnalyticsEngineConfiguration struct {
  4228. AnalyticsModule []Config `xml:"http://www.onvif.org/ver10/schema AnalyticsModule,omitempty"`
  4229. Extension AnalyticsEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4230. }
  4231. // AnalyticsEngineConfigurationExtension type
  4232. type AnalyticsEngineConfigurationExtension struct {
  4233. }
  4234. // RuleEngineConfiguration type
  4235. type RuleEngineConfiguration struct {
  4236. Rule []Config `xml:"http://www.onvif.org/ver10/schema Rule,omitempty"`
  4237. Extension RuleEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4238. }
  4239. // RuleEngineConfigurationExtension type
  4240. type RuleEngineConfigurationExtension struct {
  4241. }
  4242. // Config type
  4243. type Config struct {
  4244. // List of configuration parameters as defined in the correspding description.
  4245. Parameters ItemList `xml:"http://www.onvif.org/ver10/schema Parameters,omitempty"`
  4246. // Name of the configuration.
  4247. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,attr,omitempty"`
  4248. // The Type attribute specifies the type of rule and shall be equal to value of one of Name attributes of ConfigDescription elements returned by GetSupportedRules and GetSupportedAnalyticsModules command.
  4249. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  4250. }
  4251. // ConfigDescription type
  4252. type ConfigDescription struct {
  4253. //
  4254. // List describing the configuration parameters. The names of the parameters must be unique. If possible SimpleItems
  4255. // should be used to transport the information to ease parsing of dynamically defined messages by a client
  4256. // application.
  4257. //
  4258. Parameters ItemListDescription `xml:"http://www.onvif.org/ver10/schema Parameters,omitempty"`
  4259. Messages []struct {
  4260. *MessageDescription
  4261. //
  4262. // The ParentTopic labels the message (e.g. "nn:RuleEngine/LineCrossing"). The real message can extend the ParentTopic
  4263. // by for example the name of the instaniated rule (e.g. "nn:RuleEngine/LineCrossing/corssMyFirstLine").
  4264. // Even without knowing the complete topic name, the subscriber will be able to distiguish the
  4265. // messages produced by different rule instances of the same type via the Source fields of the message.
  4266. // There the name of the rule instance, which produced the message, must be listed.
  4267. //
  4268. ParentTopic string `xml:"http://www.onvif.org/ver20/ptz/wsdl ParentTopic,omitempty"`
  4269. } `xml:"Messages,omitempty"`
  4270. Extension ConfigDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4271. // The Name attribute (e.g. "tt::LineDetector") uniquely identifies the type of rule, not a type definition in a schema.
  4272. Name QName `xml:"http://www.onvif.org/ver10/schema Name,attr,omitempty"`
  4273. // The fixed attribute signals that it is not allowed to add or remove this type of configuration.
  4274. Fixed bool `xml:"fixed,attr,omitempty"`
  4275. // The maxInstances attribute signals the maximum number of instances per configuration.
  4276. MaxInstances int32 `xml:"maxInstances,attr,omitempty"`
  4277. }
  4278. // ConfigDescriptionExtension type
  4279. type ConfigDescriptionExtension struct {
  4280. }
  4281. // SupportedRules type
  4282. type SupportedRules struct {
  4283. // Lists the location of all schemas that are referenced in the rules.
  4284. RuleContentSchemaLocation []AnyURI `xml:"http://www.onvif.org/ver10/schema RuleContentSchemaLocation,omitempty"`
  4285. // List of rules supported by the Video Analytics configuration..
  4286. RuleDescription []ConfigDescription `xml:"http://www.onvif.org/ver10/schema RuleDescription,omitempty"`
  4287. Extension SupportedRulesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4288. }
  4289. // SupportedRulesExtension type
  4290. type SupportedRulesExtension struct {
  4291. }
  4292. // SupportedAnalyticsModules type
  4293. type SupportedAnalyticsModules struct {
  4294. // It optionally contains a list of URLs that provide the location of schema files.
  4295. // These schema files describe the types and elements used in the analytics module descriptions.
  4296. // Analytics module descriptions that reference types or elements imported from any ONVIF defined schema files
  4297. // need not explicitly list those schema files.
  4298. AnalyticsModuleContentSchemaLocation []AnyURI `xml:"http://www.onvif.org/ver10/schema AnalyticsModuleContentSchemaLocation,omitempty"`
  4299. AnalyticsModuleDescription []ConfigDescription `xml:"http://www.onvif.org/ver10/schema AnalyticsModuleDescription,omitempty"`
  4300. Extension SupportedAnalyticsModulesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4301. }
  4302. // SupportedAnalyticsModulesExtension type
  4303. type SupportedAnalyticsModulesExtension struct {
  4304. }
  4305. // PolylineArray type
  4306. type PolylineArray struct {
  4307. // Contains array of Polyline
  4308. Segment []Polyline `xml:"http://www.onvif.org/ver10/schema Segment,omitempty"`
  4309. Extension PolylineArrayExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4310. }
  4311. // PolylineArrayExtension type
  4312. type PolylineArrayExtension struct {
  4313. }
  4314. // PaneLayout type
  4315. type PaneLayout struct {
  4316. // Reference to the configuration of the streaming and coding parameters.
  4317. Pane ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Pane,omitempty"`
  4318. // Describes the location and size of the area on the monitor. The area coordinate values are espressed in normalized units [-1.0, 1.0].
  4319. Area Rectangle `xml:"http://www.onvif.org/ver10/schema Area,omitempty"`
  4320. }
  4321. // Layout type
  4322. type Layout struct {
  4323. // List of panes assembling the display layout.
  4324. PaneLayout []PaneLayout `xml:"http://www.onvif.org/ver10/schema PaneLayout,omitempty"`
  4325. Extension LayoutExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4326. }
  4327. // LayoutExtension type
  4328. type LayoutExtension struct {
  4329. }
  4330. // LayoutOptions type
  4331. type LayoutOptions struct {
  4332. // Lists the possible Pane Layouts of the Video Output
  4333. PaneLayoutOptions []PaneLayoutOptions `xml:"http://www.onvif.org/ver10/schema PaneLayoutOptions,omitempty"`
  4334. Extension LayoutOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4335. }
  4336. // LayoutOptionsExtension type
  4337. type LayoutOptionsExtension struct {
  4338. }
  4339. // PaneLayoutOptions type
  4340. type PaneLayoutOptions struct {
  4341. // List of areas assembling a layout. Coordinate values are in the range [-1.0, 1.0].
  4342. Area []Rectangle `xml:"http://www.onvif.org/ver10/schema Area,omitempty"`
  4343. Extension PaneOptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4344. }
  4345. // PaneOptionExtension type
  4346. type PaneOptionExtension struct {
  4347. }
  4348. // Receiver type
  4349. type Receiver struct {
  4350. // Unique identifier of the receiver.
  4351. Token ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Token,omitempty"`
  4352. // Describes the configuration of the receiver.
  4353. Configuration ReceiverConfiguration `xml:"http://www.onvif.org/ver10/schema Configuration,omitempty"`
  4354. }
  4355. // ReceiverConfiguration type
  4356. type ReceiverConfiguration struct {
  4357. // The following connection modes are defined:
  4358. Mode ReceiverMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4359. // Details of the URI to which the receiver should connect.
  4360. MediaUri AnyURI `xml:"http://www.onvif.org/ver10/schema MediaUri,omitempty"`
  4361. // Stream connection parameters.
  4362. StreamSetup StreamSetup `xml:"http://www.onvif.org/ver10/schema StreamSetup,omitempty"`
  4363. }
  4364. // SourceReference type
  4365. type SourceReference struct {
  4366. Token ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Token,omitempty"`
  4367. Type AnyURI `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  4368. }
  4369. // DateTimeRange type
  4370. type DateTimeRange struct {
  4371. From string `xml:"http://www.onvif.org/ver10/schema From,omitempty"`
  4372. Until string `xml:"http://www.onvif.org/ver10/schema Until,omitempty"`
  4373. }
  4374. // SearchScope type
  4375. type SearchScope struct {
  4376. // A list of sources that are included in the scope. If this list is included, only data from one of these sources shall be searched.
  4377. IncludedSources []SourceReference `xml:"http://www.onvif.org/ver10/schema IncludedSources,omitempty"`
  4378. // A list of recordings that are included in the scope. If this list is included, only data from one of these recordings shall be searched.
  4379. IncludedRecordings []RecordingReference `xml:"http://www.onvif.org/ver10/schema IncludedRecordings,omitempty"`
  4380. // An xpath expression used to specify what recordings to search. Only those recordings with an RecordingInformation structure that matches the filter shall be searched.
  4381. RecordingInformationFilter XPathExpression `xml:"http://www.onvif.org/ver10/schema RecordingInformationFilter,omitempty"`
  4382. // Extension point
  4383. Extension SearchScopeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4384. }
  4385. // SearchScopeExtension type
  4386. type SearchScopeExtension struct {
  4387. }
  4388. // RecordingSourceInformation type
  4389. type RecordingSourceInformation struct {
  4390. //
  4391. // Identifier for the source chosen by the client that creates the structure.
  4392. // This identifier is opaque to the device. Clients may use any type of URI for this field. A device shall support at least 128 characters.
  4393. SourceId AnyURI `xml:"http://www.onvif.org/ver10/schema SourceId,omitempty"`
  4394. // Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters.
  4395. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  4396. // Informative description of the physical location of the source, e.g. the coordinates on a map.
  4397. Location Description `xml:"http://www.onvif.org/ver10/schema Location,omitempty"`
  4398. // Informative description of the source.
  4399. Description Description `xml:"http://www.onvif.org/ver10/schema Description,omitempty"`
  4400. // URI provided by the service supplying data to be recorded. A device shall support at least 128 characters.
  4401. Address AnyURI `xml:"http://www.onvif.org/ver10/schema Address,omitempty"`
  4402. }
  4403. // TrackInformation type
  4404. type TrackInformation struct {
  4405. TrackToken TrackReference `xml:"http://www.onvif.org/ver10/schema TrackToken,omitempty"`
  4406. // Type of the track: "Video", "Audio" or "Metadata".
  4407. // The track shall only be able to hold data of that type.
  4408. TrackType TrackType `xml:"http://www.onvif.org/ver10/schema TrackType,omitempty"`
  4409. // Informative description of the contents of the track.
  4410. Description Description `xml:"http://www.onvif.org/ver10/schema Description,omitempty"`
  4411. // The start date and time of the oldest recorded data in the track.
  4412. DataFrom string `xml:"http://www.onvif.org/ver10/schema DataFrom,omitempty"`
  4413. // The stop date and time of the newest recorded data in the track.
  4414. DataTo string `xml:"http://www.onvif.org/ver10/schema DataTo,omitempty"`
  4415. }
  4416. // TrackAttributes type
  4417. type TrackAttributes struct {
  4418. // The basic information about the track. Note that a track may represent a single contiguous time span or consist of multiple slices.
  4419. TrackInformation TrackInformation `xml:"http://www.onvif.org/ver10/schema TrackInformation,omitempty"`
  4420. // If the track is a video track, exactly one of this structure shall be present and contain the video attributes.
  4421. VideoAttributes VideoAttributes `xml:"http://www.onvif.org/ver10/schema VideoAttributes,omitempty"`
  4422. // If the track is an audio track, exactly one of this structure shall be present and contain the audio attributes.
  4423. AudioAttributes AudioAttributes `xml:"http://www.onvif.org/ver10/schema AudioAttributes,omitempty"`
  4424. // If the track is an metadata track, exactly one of this structure shall be present and contain the metadata attributes.
  4425. MetadataAttributes MetadataAttributes `xml:"http://www.onvif.org/ver10/schema MetadataAttributes,omitempty"`
  4426. Extension TrackAttributesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4427. }
  4428. // TrackAttributesExtension type
  4429. type TrackAttributesExtension struct {
  4430. }
  4431. // VideoAttributes type
  4432. type VideoAttributes struct {
  4433. // Average bitrate in kbps.
  4434. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  4435. // The width of the video in pixels.
  4436. Width int32 `xml:"http://www.onvif.org/ver10/schema Width,omitempty"`
  4437. // The height of the video in pixels.
  4438. Height int32 `xml:"http://www.onvif.org/ver10/schema Height,omitempty"`
  4439. // Video encoding of the track. Use value from tt:VideoEncoding for MPEG4. Otherwise use values from tt:VideoEncodingMimeNames and .
  4440. Encoding string `xml:"http://www.onvif.org/ver20/ptz/wsdl Encoding,omitempty"`
  4441. // Average framerate in frames per second.
  4442. Framerate float32 `xml:"http://www.onvif.org/ver10/schema Framerate,omitempty"`
  4443. }
  4444. // AudioAttributes type
  4445. type AudioAttributes struct {
  4446. // The bitrate in kbps.
  4447. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  4448. // Audio encoding of the track. Use values from tt:AudioEncoding for G711 and AAC. Otherwise use values from tt:AudioEncodingMimeNames and .
  4449. Encoding string `xml:"http://www.onvif.org/ver20/ptz/wsdl Encoding,omitempty"`
  4450. // The sample rate in kHz.
  4451. Samplerate int32 `xml:"http://www.onvif.org/ver10/schema Samplerate,omitempty"`
  4452. }
  4453. // MetadataAttributes type
  4454. type MetadataAttributes struct {
  4455. // Indicates that there can be PTZ data in the metadata track in the specified time interval.
  4456. CanContainPTZ bool `xml:"http://www.onvif.org/ver20/ptz/wsdl CanContainPTZ,omitempty"`
  4457. // Indicates that there can be analytics data in the metadata track in the specified time interval.
  4458. CanContainAnalytics bool `xml:"http://www.onvif.org/ver20/ptz/wsdl CanContainAnalytics,omitempty"`
  4459. // Indicates that there can be notifications in the metadata track in the specified time interval.
  4460. CanContainNotifications bool `xml:"http://www.onvif.org/ver20/ptz/wsdl CanContainNotifications,omitempty"`
  4461. // List of all PTZ spaces active for recording. Note that events are only recorded on position changes and the actual point of recording may not necessarily contain an event of the specified type.
  4462. PtzSpaces StringAttrList `xml:"http://www.onvif.org/ver10/schema PtzSpaces,attr,omitempty"`
  4463. }
  4464. // RecordingJobConfiguration type
  4465. type RecordingJobConfiguration struct {
  4466. // Identifies the recording to which this job shall store the received data.
  4467. RecordingToken RecordingReference `xml:"http://www.onvif.org/ver10/schema RecordingToken,omitempty"`
  4468. // The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try
  4469. // to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
  4470. // The only valid values for Mode shall be “Idle” and “Active”.
  4471. Mode RecordingJobMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4472. // This shall be a non-negative number. If there are multiple recording jobs that store data to
  4473. // the same track, the device will only store the data for the recording job with the highest
  4474. // priority. The priority is specified per recording job, but the device shall determine the priority
  4475. // of each track individually. If there are two recording jobs with the same priority, the device
  4476. // shall record the data corresponding to the recording job that was activated the latest.
  4477. Priority int32 `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4478. // Source of the recording.
  4479. Source []RecordingJobSource `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  4480. Extension RecordingJobConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4481. // This attribute adds an additional requirement for activating the recording job.
  4482. // If this optional field is provided the job shall only record if the schedule exists and is active.
  4483. //
  4484. ScheduleToken string `xml:"http://www.onvif.org/ver20/ptz/wsdl ScheduleToken,attr,omitempty"`
  4485. }
  4486. // RecordingJobConfigurationExtension type
  4487. type RecordingJobConfigurationExtension struct {
  4488. }
  4489. // RecordingJobSource type
  4490. type RecordingJobSource struct {
  4491. // This field shall be a reference to the source of the data. The type of the source
  4492. // is determined by the attribute Type in the SourceToken structure. If Type is
  4493. // http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case
  4494. // the device shall receive the data over the network. If Type is
  4495. // http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, instructing the
  4496. // device to obtain data from a profile that exists on the local device.
  4497. SourceToken SourceReference `xml:"http://www.onvif.org/ver10/schema SourceToken,omitempty"`
  4498. // If this field is TRUE, and if the SourceToken is omitted, the device
  4499. // shall create a receiver object (through the receiver service) and assign the
  4500. // ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration
  4501. // from the device, the AutoCreateReceiver field shall never be present.
  4502. AutoCreateReceiver bool `xml:"http://www.onvif.org/ver20/ptz/wsdl AutoCreateReceiver,omitempty"`
  4503. // List of tracks associated with the recording.
  4504. Tracks []RecordingJobTrack `xml:"http://www.onvif.org/ver10/schema Tracks,omitempty"`
  4505. Extension RecordingJobSourceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4506. }
  4507. // RecordingJobSourceExtension type
  4508. type RecordingJobSourceExtension struct {
  4509. }
  4510. // RecordingJobTrack type
  4511. type RecordingJobTrack struct {
  4512. // If the received RTSP stream contains multiple tracks of the same type, the
  4513. // SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source.
  4514. SourceTag string `xml:"http://www.onvif.org/ver20/ptz/wsdl SourceTag,omitempty"`
  4515. // The destination is the tracktoken of the track to which the device shall store the
  4516. // received data.
  4517. Destination TrackReference `xml:"http://www.onvif.org/ver10/schema Destination,omitempty"`
  4518. }
  4519. // RecordingJobStateInformation type
  4520. type RecordingJobStateInformation struct {
  4521. // Identification of the recording that the recording job records to.
  4522. RecordingToken RecordingReference `xml:"http://www.onvif.org/ver10/schema RecordingToken,omitempty"`
  4523. // Holds the aggregated state over the whole RecordingJobInformation structure.
  4524. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  4525. // Identifies the data source of the recording job.
  4526. Sources []RecordingJobStateSource `xml:"http://www.onvif.org/ver10/schema Sources,omitempty"`
  4527. Extension RecordingJobStateInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4528. }
  4529. // RecordingJobStateInformationExtension type
  4530. type RecordingJobStateInformationExtension struct {
  4531. }
  4532. // RecordingJobStateSource type
  4533. type RecordingJobStateSource struct {
  4534. // Identifies the data source of the recording job.
  4535. SourceToken SourceReference `xml:"http://www.onvif.org/ver10/schema SourceToken,omitempty"`
  4536. // Holds the aggregated state over all substructures of RecordingJobStateSource.
  4537. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  4538. // List of track items.
  4539. Tracks RecordingJobStateTracks `xml:"http://www.onvif.org/ver10/schema Tracks,omitempty"`
  4540. }
  4541. // RecordingJobStateTracks type
  4542. type RecordingJobStateTracks struct {
  4543. Track []RecordingJobStateTrack `xml:"http://www.onvif.org/ver10/schema Track,omitempty"`
  4544. }
  4545. // RecordingJobStateTrack type
  4546. type RecordingJobStateTrack struct {
  4547. // Identifies the track of the data source that provides the data.
  4548. SourceTag string `xml:"http://www.onvif.org/ver20/ptz/wsdl SourceTag,omitempty"`
  4549. // Indicates the destination track.
  4550. Destination TrackReference `xml:"http://www.onvif.org/ver10/schema Destination,omitempty"`
  4551. // Optionally holds an implementation defined string value that describes the error.
  4552. // The string should be in the English language.
  4553. Error string `xml:"http://www.onvif.org/ver20/ptz/wsdl Error,omitempty"`
  4554. // Provides the job state of the track. The valid
  4555. // values of state shall be “Idle”, “Active” and “Error”. If state equals “Error”, the Error field may be filled in with an implementation defined value.
  4556. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  4557. }
  4558. // AnalyticsEngine type
  4559. type AnalyticsEngine struct {
  4560. *ConfigurationEntity
  4561. AnalyticsEngineConfiguration AnalyticsDeviceEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  4562. }
  4563. // AnalyticsDeviceEngineConfiguration type
  4564. type AnalyticsDeviceEngineConfiguration struct {
  4565. EngineConfiguration []EngineConfiguration `xml:"http://www.onvif.org/ver10/schema EngineConfiguration,omitempty"`
  4566. Extension AnalyticsDeviceEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4567. }
  4568. // AnalyticsDeviceEngineConfigurationExtension type
  4569. type AnalyticsDeviceEngineConfigurationExtension struct {
  4570. }
  4571. // EngineConfiguration type
  4572. type EngineConfiguration struct {
  4573. VideoAnalyticsConfiguration VideoAnalyticsConfiguration `xml:"http://www.onvif.org/ver10/schema VideoAnalyticsConfiguration,omitempty"`
  4574. AnalyticsEngineInputInfo AnalyticsEngineInputInfo `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineInputInfo,omitempty"`
  4575. }
  4576. // AnalyticsEngineInputInfo type
  4577. type AnalyticsEngineInputInfo struct {
  4578. InputInfo Config `xml:"http://www.onvif.org/ver10/schema InputInfo,omitempty"`
  4579. Extension AnalyticsEngineInputInfoExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4580. }
  4581. // AnalyticsEngineInputInfoExtension type
  4582. type AnalyticsEngineInputInfoExtension struct {
  4583. }
  4584. // AnalyticsEngineInput type
  4585. type AnalyticsEngineInput struct {
  4586. *ConfigurationEntity
  4587. SourceIdentification SourceIdentification `xml:"http://www.onvif.org/ver10/schema SourceIdentification,omitempty"`
  4588. VideoInput VideoEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema VideoInput,omitempty"`
  4589. MetadataInput MetadataInput `xml:"http://www.onvif.org/ver10/schema MetadataInput,omitempty"`
  4590. }
  4591. // SourceIdentification type
  4592. type SourceIdentification struct {
  4593. Name string `xml:"http://www.onvif.org/ver20/ptz/wsdl Name,omitempty"`
  4594. Token []ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl Token,omitempty"`
  4595. Extension SourceIdentificationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4596. }
  4597. // SourceIdentificationExtension type
  4598. type SourceIdentificationExtension struct {
  4599. }
  4600. // MetadataInput type
  4601. type MetadataInput struct {
  4602. MetadataConfig []Config `xml:"http://www.onvif.org/ver10/schema MetadataConfig,omitempty"`
  4603. Extension MetadataInputExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4604. }
  4605. // MetadataInputExtension type
  4606. type MetadataInputExtension struct {
  4607. }
  4608. // ActionEngineEventPayload type
  4609. type ActionEngineEventPayload struct {
  4610. // Request Message
  4611. RequestInfo Envelope `xml:"RequestInfo,omitempty"`
  4612. // Response Message
  4613. ResponseInfo Envelope `xml:"ResponseInfo,omitempty"`
  4614. // Fault Message
  4615. Fault Fault `xml:"Fault,omitempty"`
  4616. Extension ActionEngineEventPayloadExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4617. }
  4618. // ActionEngineEventPayloadExtension type
  4619. type ActionEngineEventPayloadExtension struct {
  4620. }
  4621. // AudioClassCandidate type
  4622. type AudioClassCandidate struct {
  4623. // Indicates audio class label
  4624. Type AudioClassType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  4625. // A likelihood/probability that the corresponding audio event belongs to this class. The sum of the likelihoods shall NOT exceed 1
  4626. Likelihood float32 `xml:"http://www.onvif.org/ver10/schema Likelihood,omitempty"`
  4627. }
  4628. // AudioClassDescriptor type
  4629. type AudioClassDescriptor struct {
  4630. // Array of audio class label and class probability
  4631. ClassCandidate []AudioClassCandidate `xml:"http://www.onvif.org/ver10/schema ClassCandidate,omitempty"`
  4632. Extension AudioClassDescriptorExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4633. }
  4634. // AudioClassDescriptorExtension type
  4635. type AudioClassDescriptorExtension struct {
  4636. }
  4637. // ActiveConnection type
  4638. type ActiveConnection struct {
  4639. CurrentBitrate float32 `xml:"http://www.onvif.org/ver10/schema CurrentBitrate,omitempty"`
  4640. CurrentFps float32 `xml:"http://www.onvif.org/ver10/schema CurrentFps,omitempty"`
  4641. }
  4642. // ProfileStatus type
  4643. type ProfileStatus struct {
  4644. ActiveConnections []ActiveConnection `xml:"http://www.onvif.org/ver10/schema ActiveConnections,omitempty"`
  4645. Extension ProfileStatusExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4646. }
  4647. // ProfileStatusExtension type
  4648. type ProfileStatusExtension struct {
  4649. }
  4650. // OSDReference type
  4651. type OSDReference struct {
  4652. Value ReferenceToken
  4653. }
  4654. // OSDPosConfiguration type
  4655. type OSDPosConfiguration struct {
  4656. // For OSD position type, following are the pre-defined:
  4657. //
  4658. Type string `xml:"http://www.onvif.org/ver20/ptz/wsdl Type,omitempty"`
  4659. Pos Vector `xml:"http://www.onvif.org/ver10/schema Pos,omitempty"`
  4660. Extension OSDPosConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4661. }
  4662. // OSDPosConfigurationExtension type
  4663. type OSDPosConfigurationExtension struct {
  4664. }
  4665. // OSDColor type
  4666. type OSDColor struct {
  4667. Color Color `xml:"http://www.onvif.org/ver10/schema Color,omitempty"`
  4668. Transparent int32 `xml:"http://www.onvif.org/ver10/schema Transparent,attr,omitempty"`
  4669. }
  4670. // OSDTextConfiguration type
  4671. type OSDTextConfiguration struct {
  4672. //
  4673. // The following OSD Text Type are defined:
  4674. //
  4675. Type string `xml:"http://www.onvif.org/ver20/ptz/wsdl Type,omitempty"`
  4676. //
  4677. // List of supported OSD date formats. This element shall be present when the value of Type field has Date or DateAndTime. The following DateFormat are defined:
  4678. //
  4679. DateFormat string `xml:"http://www.onvif.org/ver20/ptz/wsdl DateFormat,omitempty"`
  4680. //
  4681. // List of supported OSD time formats. This element shall be present when the value of Type field has Time or DateAndTime. The following TimeFormat are defined:
  4682. //
  4683. TimeFormat string `xml:"http://www.onvif.org/ver20/ptz/wsdl TimeFormat,omitempty"`
  4684. // Font size of the text in pt.
  4685. FontSize int32 `xml:"http://www.onvif.org/ver10/schema FontSize,omitempty"`
  4686. // Font color of the text.
  4687. FontColor OSDColor `xml:"http://www.onvif.org/ver10/schema FontColor,omitempty"`
  4688. // Background color of the text.
  4689. BackgroundColor OSDColor `xml:"http://www.onvif.org/ver10/schema BackgroundColor,omitempty"`
  4690. // The content of text to be displayed.
  4691. PlainText string `xml:"http://www.onvif.org/ver20/ptz/wsdl PlainText,omitempty"`
  4692. Extension OSDTextConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4693. // This flag is applicable for Type Plain and defaults to true. When set to false the PlainText content will not be persistent across device reboots.
  4694. IsPersistentText bool `xml:"http://www.onvif.org/ver20/ptz/wsdl IsPersistentText,attr,omitempty"`
  4695. }
  4696. // OSDTextConfigurationExtension type
  4697. type OSDTextConfigurationExtension struct {
  4698. }
  4699. // OSDImgConfiguration type
  4700. type OSDImgConfiguration struct {
  4701. // The URI of the image which to be displayed.
  4702. ImgPath AnyURI `xml:"http://www.onvif.org/ver10/schema ImgPath,omitempty"`
  4703. Extension OSDImgConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4704. }
  4705. // OSDImgConfigurationExtension type
  4706. type OSDImgConfigurationExtension struct {
  4707. }
  4708. // ColorspaceRange type
  4709. type ColorspaceRange struct {
  4710. X FloatRange `xml:"http://www.onvif.org/ver10/schema X,omitempty"`
  4711. Y FloatRange `xml:"http://www.onvif.org/ver10/schema Y,omitempty"`
  4712. Z FloatRange `xml:"http://www.onvif.org/ver10/schema Z,omitempty"`
  4713. //
  4714. // Acceptable values are the same as in tt:Color.
  4715. //
  4716. Colorspace AnyURI `xml:"http://www.onvif.org/ver10/schema Colorspace,omitempty"`
  4717. }
  4718. // ColorOptions type
  4719. type ColorOptions struct {
  4720. // List the supported color.
  4721. ColorList []Color `xml:"http://www.onvif.org/ver10/schema ColorList,omitempty"`
  4722. // Define the range of color supported.
  4723. ColorspaceRange []ColorspaceRange `xml:"http://www.onvif.org/ver10/schema ColorspaceRange,omitempty"`
  4724. }
  4725. // OSDColorOptions type
  4726. type OSDColorOptions struct {
  4727. // Optional list of supported colors.
  4728. Color ColorOptions `xml:"http://www.onvif.org/ver10/schema Color,omitempty"`
  4729. // Range of the transparent level. Larger means more tranparent.
  4730. Transparent IntRange `xml:"http://www.onvif.org/ver10/schema Transparent,omitempty"`
  4731. Extension OSDColorOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4732. }
  4733. // OSDColorOptionsExtension type
  4734. type OSDColorOptionsExtension struct {
  4735. }
  4736. // OSDTextOptions type
  4737. type OSDTextOptions struct {
  4738. // List of supported OSD text type. When a device indicates the supported number relating to Text type in MaximumNumberOfOSDs, the type shall be presented.
  4739. Type []string `xml:"http://www.onvif.org/ver20/ptz/wsdl Type,omitempty"`
  4740. // Range of the font size value.
  4741. FontSizeRange IntRange `xml:"http://www.onvif.org/ver10/schema FontSizeRange,omitempty"`
  4742. // List of supported date format.
  4743. DateFormat []string `xml:"http://www.onvif.org/ver20/ptz/wsdl DateFormat,omitempty"`
  4744. // List of supported time format.
  4745. TimeFormat []string `xml:"http://www.onvif.org/ver20/ptz/wsdl TimeFormat,omitempty"`
  4746. // List of supported font color.
  4747. FontColor OSDColorOptions `xml:"http://www.onvif.org/ver10/schema FontColor,omitempty"`
  4748. // List of supported background color.
  4749. BackgroundColor OSDColorOptions `xml:"http://www.onvif.org/ver10/schema BackgroundColor,omitempty"`
  4750. Extension OSDTextOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4751. }
  4752. // OSDTextOptionsExtension type
  4753. type OSDTextOptionsExtension struct {
  4754. }
  4755. // OSDImgOptions type
  4756. type OSDImgOptions struct {
  4757. // List of available image URIs.
  4758. ImagePath []AnyURI `xml:"http://www.onvif.org/ver10/schema ImagePath,omitempty"`
  4759. Extension OSDImgOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4760. // List of supported image MIME types, such as "image/png".
  4761. FormatsSupported StringAttrList `xml:"http://www.onvif.org/ver10/schema FormatsSupported,attr,omitempty"`
  4762. // The maximum size (in bytes) of the image that can be uploaded.
  4763. MaxSize int32 `xml:"http://www.onvif.org/ver10/schema MaxSize,attr,omitempty"`
  4764. // The maximum width (in pixels) of the image that can be uploaded.
  4765. MaxWidth int32 `xml:"http://www.onvif.org/ver10/schema MaxWidth,attr,omitempty"`
  4766. // The maximum height (in pixels) of the image that can be uploaded.
  4767. MaxHeight int32 `xml:"http://www.onvif.org/ver10/schema MaxHeight,attr,omitempty"`
  4768. }
  4769. // OSDImgOptionsExtension type
  4770. type OSDImgOptionsExtension struct {
  4771. }
  4772. // OSDConfiguration type
  4773. type OSDConfiguration struct {
  4774. *DeviceEntity
  4775. // Reference to the video source configuration.
  4776. VideoSourceConfigurationToken OSDReference `xml:"http://www.onvif.org/ver10/schema VideoSourceConfigurationToken,omitempty"`
  4777. // Type of OSD.
  4778. Type OSDType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  4779. // Position configuration of OSD.
  4780. Position OSDPosConfiguration `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  4781. // Text configuration of OSD. It shall be present when the value of Type field is Text.
  4782. TextString OSDTextConfiguration `xml:"http://www.onvif.org/ver10/schema TextString,omitempty"`
  4783. // Image configuration of OSD. It shall be present when the value of Type field is Image
  4784. Image OSDImgConfiguration `xml:"http://www.onvif.org/ver10/schema Image,omitempty"`
  4785. Extension OSDConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4786. }
  4787. // OSDConfigurationExtension type
  4788. type OSDConfigurationExtension struct {
  4789. }
  4790. // MaximumNumberOfOSDs type
  4791. type MaximumNumberOfOSDs struct {
  4792. Total int32 `xml:"http://www.onvif.org/ver10/schema Total,attr,omitempty"`
  4793. Image int32 `xml:"http://www.onvif.org/ver10/schema Image,attr,omitempty"`
  4794. PlainText int32 `xml:"http://www.onvif.org/ver10/schema PlainText,attr,omitempty"`
  4795. Date int32 `xml:"http://www.onvif.org/ver10/schema Date,attr,omitempty"`
  4796. Time int32 `xml:"http://www.onvif.org/ver10/schema Time,attr,omitempty"`
  4797. DateAndTime int32 `xml:"http://www.onvif.org/ver10/schema DateAndTime,attr,omitempty"`
  4798. }
  4799. // OSDConfigurationOptions type
  4800. type OSDConfigurationOptions struct {
  4801. // The maximum number of OSD configurations supported for the specified video source configuration. If the configuration does not support OSDs, this value shall be zero and the Type and PositionOption elements are ignored. If a device limits the number of instances by OSDType, it shall indicate the supported number for each type via the related attribute.
  4802. MaximumNumberOfOSDs MaximumNumberOfOSDs `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfOSDs,omitempty"`
  4803. // List supported type of OSD configuration. When a device indicates the supported number for each types in MaximumNumberOfOSDs, related type shall be presented. A device shall return Option element relating to listed type.
  4804. Type []OSDType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  4805. // List available OSD position type. Following are the pre-defined:
  4806. //
  4807. PositionOption []string `xml:"http://www.onvif.org/ver20/ptz/wsdl PositionOption,omitempty"`
  4808. // Option of the OSD text configuration. This element shall be returned if the device is signaling the support for Text.
  4809. TextOption OSDTextOptions `xml:"http://www.onvif.org/ver10/schema TextOption,omitempty"`
  4810. // Option of the OSD image configuration. This element shall be returned if the device is signaling the support for Image.
  4811. ImageOption OSDImgOptions `xml:"http://www.onvif.org/ver10/schema ImageOption,omitempty"`
  4812. Extension OSDConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4813. }
  4814. // OSDConfigurationOptionsExtension type
  4815. type OSDConfigurationOptionsExtension struct {
  4816. }
  4817. // FileProgress type
  4818. type FileProgress struct {
  4819. // Exported file name
  4820. FileName string `xml:"http://www.onvif.org/ver20/ptz/wsdl FileName,omitempty"`
  4821. // Normalized percentage completion for uploading the exported file
  4822. Progress float32 `xml:"http://www.onvif.org/ver10/schema Progress,omitempty"`
  4823. }
  4824. // ArrayOfFileProgress type
  4825. type ArrayOfFileProgress struct {
  4826. // Exported file name and export progress information
  4827. FileProgress []FileProgress `xml:"http://www.onvif.org/ver10/schema FileProgress,omitempty"`
  4828. Extension ArrayOfFileProgressExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4829. }
  4830. // ArrayOfFileProgressExtension type
  4831. type ArrayOfFileProgressExtension struct {
  4832. }
  4833. // StorageReferencePath type
  4834. type StorageReferencePath struct {
  4835. // identifier of an existing Storage Configuration.
  4836. StorageToken ReferenceToken `xml:"http://www.onvif.org/ver20/ptz/wsdl StorageToken,omitempty"`
  4837. // gives the relative directory path on the storage
  4838. RelativePath string `xml:"http://www.onvif.org/ver20/ptz/wsdl RelativePath,omitempty"`
  4839. Extension StorageReferencePathExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4840. }
  4841. // StorageReferencePathExtension type
  4842. type StorageReferencePathExtension struct {
  4843. }
  4844. // PTZ type
  4845. type PTZ interface {
  4846. /* Returns the capabilities of the PTZ service. The result is returned in a typed answer. */
  4847. GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  4848. GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  4849. /*
  4850. Get the descriptions of the available PTZ Nodes.
  4851. A PTZ-capable device may have multiple PTZ Nodes. The PTZ Nodes may represent
  4852. mechanical PTZ drivers, uploaded PTZ drivers or digital PTZ drivers. PTZ Nodes are the
  4853. lowest level entities in the PTZ control API and reflect the supported PTZ capabilities. The
  4854. PTZ Node is referenced either by its name or by its reference token.
  4855. */
  4856. GetNodes(request *GetNodes) (*GetNodesResponse, error)
  4857. GetNodesContext(ctx context.Context, request *GetNodes) (*GetNodesResponse, error)
  4858. /* Get a specific PTZ Node identified by a reference
  4859. token or a name.
  4860. */
  4861. GetNode(request *GetNode) (*GetNodeResponse, error)
  4862. GetNodeContext(ctx context.Context, request *GetNode) (*GetNodeResponse, error)
  4863. /* Get a specific PTZconfiguration from the device, identified by its reference token or name.
  4864. The default Position/Translation/Velocity Spaces are introduced to allow NVCs sending move
  4865. requests without the need to specify a certain coordinate system. The default Speeds are
  4866. introduced to control the speed of move requests (absolute, relative, preset), where no
  4867. explicit speed has been set.
  4868. The allowed pan and tilt range for Pan/Tilt Limits is defined by a two-dimensional space range
  4869. that is mapped to a specific Absolute Pan/Tilt Position Space. At least one Pan/Tilt Position
  4870. Space is required by the PTZNode to support Pan/Tilt limits. The limits apply to all supported
  4871. absolute, relative and continuous Pan/Tilt movements. The limits shall be checked within the
  4872. coordinate system for which the limits have been specified. That means that even if
  4873. movements are specified in a different coordinate system, the requested movements shall be
  4874. transformed to the coordinate system of the limits where the limits can be checked. When a
  4875. relative or continuous movements is specified, which would leave the specified limits, the PTZ
  4876. unit has to move along the specified limits. The Zoom Limits have to be interpreted
  4877. accordingly.
  4878. */
  4879. GetConfiguration(request *GetConfiguration) (*GetConfigurationResponse, error)
  4880. GetConfigurationContext(ctx context.Context, request *GetConfiguration) (*GetConfigurationResponse, error)
  4881. /*
  4882. Get all the existing PTZConfigurations from the device.
  4883. The default Position/Translation/Velocity Spaces are introduced to allow NVCs sending move
  4884. requests without the need to specify a certain coordinate system. The default Speeds are
  4885. introduced to control the speed of move requests (absolute, relative, preset), where no
  4886. explicit speed has been set.
  4887. The allowed pan and tilt range for Pan/Tilt Limits is defined by a two-dimensional space range
  4888. that is mapped to a specific Absolute Pan/Tilt Position Space. At least one Pan/Tilt Position
  4889. Space is required by the PTZNode to support Pan/Tilt limits. The limits apply to all supported
  4890. absolute, relative and continuous Pan/Tilt movements. The limits shall be checked within the
  4891. coordinate system for which the limits have been specified. That means that even if
  4892. movements are specified in a different coordinate system, the requested movements shall be
  4893. transformed to the coordinate system of the limits where the limits can be checked. When a
  4894. relative or continuous movements is specified, which would leave the specified limits, the PTZ
  4895. unit has to move along the specified limits. The Zoom Limits have to be interpreted
  4896. accordingly.
  4897. */
  4898. GetConfigurations(request *GetConfigurations) (*GetConfigurationsResponse, error)
  4899. GetConfigurationsContext(ctx context.Context, request *GetConfigurations) (*GetConfigurationsResponse, error)
  4900. /*
  4901. Set/update a existing PTZConfiguration on the device.
  4902. */
  4903. SetConfiguration(request *SetConfiguration) (*SetConfigurationResponse, error)
  4904. SetConfigurationContext(ctx context.Context, request *SetConfiguration) (*SetConfigurationResponse, error)
  4905. /*
  4906. List supported coordinate systems including their range limitations. Therefore, the options
  4907. MAY differ depending on whether the PTZ Configuration is assigned to a Profile containing a
  4908. Video Source Configuration. In that case, the options may additionally contain coordinate
  4909. systems referring to the image coordinate system described by the Video Source
  4910. Configuration. If the PTZ Node supports continuous movements, it shall return a Timeout Range within
  4911. which Timeouts are accepted by the PTZ Node.
  4912. */
  4913. GetConfigurationOptions(request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error)
  4914. GetConfigurationOptionsContext(ctx context.Context, request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error)
  4915. /*
  4916. Operation to send auxiliary commands to the PTZ device
  4917. mapped by the PTZNode in the selected profile. The
  4918. operation is supported
  4919. if the AuxiliarySupported element of the PTZNode is true
  4920. */
  4921. SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)
  4922. SendAuxiliaryCommandContext(ctx context.Context, request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)
  4923. /*
  4924. Operation to request all PTZ presets for the PTZNode
  4925. in the selected profile. The operation is supported if there is support
  4926. for at least on PTZ preset by the PTZNode. */
  4927. GetPresets(request *GetPresets) (*GetPresetsResponse, error)
  4928. GetPresetsContext(ctx context.Context, request *GetPresets) (*GetPresetsResponse, error)
  4929. /*
  4930. The SetPreset command saves the current device position parameters so that the device can
  4931. move to the saved preset position through the GotoPreset operation.
  4932. In order to create a new preset, the SetPresetRequest contains no PresetToken. If creation is
  4933. successful, the Response contains the PresetToken which uniquely identifies the Preset. An
  4934. existing Preset can be overwritten by specifying the PresetToken of the corresponding Preset.
  4935. In both cases (overwriting or creation) an optional PresetName can be specified. The
  4936. operation fails if the PTZ device is moving during the SetPreset operation.
  4937. The device MAY internally save additional states such as imaging properties in the PTZ
  4938. Preset which then should be recalled in the GotoPreset operation. */
  4939. SetPreset(request *SetPreset) (*SetPresetResponse, error)
  4940. SetPresetContext(ctx context.Context, request *SetPreset) (*SetPresetResponse, error)
  4941. /*
  4942. Operation to remove a PTZ preset for the Node in
  4943. the
  4944. selected profile. The operation is supported if the
  4945. PresetPosition
  4946. capability exists for teh Node in the
  4947. selected profile.
  4948. */
  4949. RemovePreset(request *RemovePreset) (*RemovePresetResponse, error)
  4950. RemovePresetContext(ctx context.Context, request *RemovePreset) (*RemovePresetResponse, error)
  4951. /*
  4952. Operation to go to a saved preset position for the
  4953. PTZNode in the selected profile. The operation is supported if there is
  4954. support for at least on PTZ preset by the PTZNode. */
  4955. GotoPreset(request *GotoPreset) (*GotoPresetResponse, error)
  4956. GotoPresetContext(ctx context.Context, request *GotoPreset) (*GotoPresetResponse, error)
  4957. /*
  4958. Operation to move the PTZ device to it's "home" position. The operation is supported if the HomeSupported element in the PTZNode is true. */
  4959. GotoHomePosition(request *GotoHomePosition) (*GotoHomePositionResponse, error)
  4960. GotoHomePositionContext(ctx context.Context, request *GotoHomePosition) (*GotoHomePositionResponse, error)
  4961. /* Operation to save current position as the home position.
  4962. The SetHomePosition command returns with a failure if the “home” position is fixed and
  4963. cannot be overwritten. If the SetHomePosition is successful, it is possible to recall the
  4964. Home Position with the GotoHomePosition command. */
  4965. SetHomePosition(request *SetHomePosition) (*SetHomePositionResponse, error)
  4966. SetHomePositionContext(ctx context.Context, request *SetHomePosition) (*SetHomePositionResponse, error)
  4967. /* Operation for continuous Pan/Tilt and Zoom movements. The operation is supported if the PTZNode supports at least one continuous Pan/Tilt or Zoom space. If the space argument is omitted, the default space set by the PTZConfiguration will be used. */
  4968. ContinuousMove(request *ContinuousMove) (*ContinuousMoveResponse, error)
  4969. ContinuousMoveContext(ctx context.Context, request *ContinuousMove) (*ContinuousMoveResponse, error)
  4970. /* Operation for Relative Pan/Tilt and Zoom Move. The operation is supported if the PTZNode supports at least one relative Pan/Tilt or Zoom space.
  4971. The speed argument is optional. If an x/y speed value is given it is up to the device to either use
  4972. the x value as absolute resoluting speed vector or to map x and y to the component speed.
  4973. If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
  4974. */
  4975. RelativeMove(request *RelativeMove) (*RelativeMoveResponse, error)
  4976. RelativeMoveContext(ctx context.Context, request *RelativeMove) (*RelativeMoveResponse, error)
  4977. /*
  4978. Operation to request PTZ status for the Node in the
  4979. selected profile. */
  4980. GetStatus(request *GetStatus) (*GetStatusResponse, error)
  4981. GetStatusContext(ctx context.Context, request *GetStatus) (*GetStatusResponse, error)
  4982. /* Operation to move pan,tilt or zoom to a absolute destination.
  4983. The speed argument is optional. If an x/y speed value is given it is up to the device to either use
  4984. the x value as absolute resoluting speed vector or to map x and y to the component speed.
  4985. If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
  4986. */
  4987. AbsoluteMove(request *AbsoluteMove) (*AbsoluteMoveResponse, error)
  4988. AbsoluteMoveContext(ctx context.Context, request *AbsoluteMove) (*AbsoluteMoveResponse, error)
  4989. /* Operation to move pan,tilt or zoom to point to a destination based on the geolocation of the target.
  4990. The speed argument is optional. If an x/y speed value is given it is up to the device to either use
  4991. the x value as absolute resoluting speed vector or to map x and y to the component speed.
  4992. If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
  4993. The area height and area dwidth parameters are optional, they can be used independently and may be used
  4994. by the device to automatically determine the best zoom level to show the target.
  4995. */
  4996. GeoMove(request *GeoMove) (*GeoMoveResponse, error)
  4997. GeoMoveContext(ctx context.Context, request *GeoMove) (*GeoMoveResponse, error)
  4998. /* Operation to stop ongoing pan, tilt and zoom movements of absolute relative and continuous type.
  4999. If no stop argument for pan, tilt or zoom is set, the device will stop all ongoing pan, tilt and zoom movements. */
  5000. Stop(request *Stop) (*StopResponse, error)
  5001. StopContext(ctx context.Context, request *Stop) (*StopResponse, error)
  5002. /* Operation to request PTZ preset tours in the selected media profiles. */
  5003. GetPresetTours(request *GetPresetTours) (*GetPresetToursResponse, error)
  5004. GetPresetToursContext(ctx context.Context, request *GetPresetTours) (*GetPresetToursResponse, error)
  5005. /* Operation to request a specific PTZ preset tour in the selected media profile. */
  5006. GetPresetTour(request *GetPresetTour) (*GetPresetTourResponse, error)
  5007. GetPresetTourContext(ctx context.Context, request *GetPresetTour) (*GetPresetTourResponse, error)
  5008. /* Operation to request available options to configure PTZ preset tour. */
  5009. GetPresetTourOptions(request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error)
  5010. GetPresetTourOptionsContext(ctx context.Context, request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error)
  5011. /* Operation to create a preset tour for the selected media profile. */
  5012. CreatePresetTour(request *CreatePresetTour) (*CreatePresetTourResponse, error)
  5013. CreatePresetTourContext(ctx context.Context, request *CreatePresetTour) (*CreatePresetTourResponse, error)
  5014. /* Operation to modify a preset tour for the selected media profile. */
  5015. ModifyPresetTour(request *ModifyPresetTour) (*ModifyPresetTourResponse, error)
  5016. ModifyPresetTourContext(ctx context.Context, request *ModifyPresetTour) (*ModifyPresetTourResponse, error)
  5017. /* Operation to perform specific operation on the preset tour in selected media profile. */
  5018. OperatePresetTour(request *OperatePresetTour) (*OperatePresetTourResponse, error)
  5019. OperatePresetTourContext(ctx context.Context, request *OperatePresetTour) (*OperatePresetTourResponse, error)
  5020. /* Operation to delete a specific preset tour from the media profile. */
  5021. RemovePresetTour(request *RemovePresetTour) (*RemovePresetTourResponse, error)
  5022. RemovePresetTourContext(ctx context.Context, request *RemovePresetTour) (*RemovePresetTourResponse, error)
  5023. /* Operation to get all available PTZConfigurations that can be added to the referenced media profile.
  5024. A device providing more than one PTZConfiguration or more than one VideoSourceConfiguration or which has any other resource
  5025. interdependency between PTZConfiguration entities and other resources listable in a media profile should implement this operation.
  5026. PTZConfiguration entities returned by this operation shall not fail on adding them to the referenced media profile.
  5027. */
  5028. GetCompatibleConfigurations(request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error)
  5029. GetCompatibleConfigurationsContext(ctx context.Context, request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error)
  5030. }
  5031. // pTZ type
  5032. type pTZ struct {
  5033. client *soap.Client
  5034. xaddr string
  5035. }
  5036. func NewPTZ(client *soap.Client, xaddr string) PTZ {
  5037. return &pTZ{
  5038. client: client,
  5039. xaddr: xaddr,
  5040. }
  5041. }
  5042. func (service *pTZ) GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  5043. response := new(GetServiceCapabilitiesResponse)
  5044. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetServiceCapabilities", request, response)
  5045. if err != nil {
  5046. return nil, err
  5047. }
  5048. return response, nil
  5049. }
  5050. func (service *pTZ) GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  5051. return service.GetServiceCapabilitiesContext(
  5052. context.Background(),
  5053. request,
  5054. )
  5055. }
  5056. func (service *pTZ) GetNodesContext(ctx context.Context, request *GetNodes) (*GetNodesResponse, error) {
  5057. response := new(GetNodesResponse)
  5058. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetNodes", request, response)
  5059. if err != nil {
  5060. return nil, err
  5061. }
  5062. return response, nil
  5063. }
  5064. func (service *pTZ) GetNodes(request *GetNodes) (*GetNodesResponse, error) {
  5065. return service.GetNodesContext(
  5066. context.Background(),
  5067. request,
  5068. )
  5069. }
  5070. func (service *pTZ) GetNodeContext(ctx context.Context, request *GetNode) (*GetNodeResponse, error) {
  5071. response := new(GetNodeResponse)
  5072. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetNode", request, response)
  5073. if err != nil {
  5074. return nil, err
  5075. }
  5076. return response, nil
  5077. }
  5078. func (service *pTZ) GetNode(request *GetNode) (*GetNodeResponse, error) {
  5079. return service.GetNodeContext(
  5080. context.Background(),
  5081. request,
  5082. )
  5083. }
  5084. func (service *pTZ) GetConfigurationContext(ctx context.Context, request *GetConfiguration) (*GetConfigurationResponse, error) {
  5085. response := new(GetConfigurationResponse)
  5086. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetConfiguration", request, response)
  5087. if err != nil {
  5088. return nil, err
  5089. }
  5090. return response, nil
  5091. }
  5092. func (service *pTZ) GetConfiguration(request *GetConfiguration) (*GetConfigurationResponse, error) {
  5093. return service.GetConfigurationContext(
  5094. context.Background(),
  5095. request,
  5096. )
  5097. }
  5098. func (service *pTZ) GetConfigurationsContext(ctx context.Context, request *GetConfigurations) (*GetConfigurationsResponse, error) {
  5099. response := new(GetConfigurationsResponse)
  5100. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetConfigurations", request, response)
  5101. if err != nil {
  5102. return nil, err
  5103. }
  5104. return response, nil
  5105. }
  5106. func (service *pTZ) GetConfigurations(request *GetConfigurations) (*GetConfigurationsResponse, error) {
  5107. return service.GetConfigurationsContext(
  5108. context.Background(),
  5109. request,
  5110. )
  5111. }
  5112. func (service *pTZ) SetConfigurationContext(ctx context.Context, request *SetConfiguration) (*SetConfigurationResponse, error) {
  5113. response := new(SetConfigurationResponse)
  5114. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/SetConfiguration", request, response)
  5115. if err != nil {
  5116. return nil, err
  5117. }
  5118. return response, nil
  5119. }
  5120. func (service *pTZ) SetConfiguration(request *SetConfiguration) (*SetConfigurationResponse, error) {
  5121. return service.SetConfigurationContext(
  5122. context.Background(),
  5123. request,
  5124. )
  5125. }
  5126. func (service *pTZ) GetConfigurationOptionsContext(ctx context.Context, request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error) {
  5127. response := new(GetConfigurationOptionsResponse)
  5128. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetConfigurationOptions", request, response)
  5129. if err != nil {
  5130. return nil, err
  5131. }
  5132. return response, nil
  5133. }
  5134. func (service *pTZ) GetConfigurationOptions(request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error) {
  5135. return service.GetConfigurationOptionsContext(
  5136. context.Background(),
  5137. request,
  5138. )
  5139. }
  5140. func (service *pTZ) SendAuxiliaryCommandContext(ctx context.Context, request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error) {
  5141. response := new(SendAuxiliaryCommandResponse)
  5142. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/SendAuxiliaryCommand", request, response)
  5143. if err != nil {
  5144. return nil, err
  5145. }
  5146. return response, nil
  5147. }
  5148. func (service *pTZ) SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error) {
  5149. return service.SendAuxiliaryCommandContext(
  5150. context.Background(),
  5151. request,
  5152. )
  5153. }
  5154. func (service *pTZ) GetPresetsContext(ctx context.Context, request *GetPresets) (*GetPresetsResponse, error) {
  5155. response := new(GetPresetsResponse)
  5156. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetPresets", request, response)
  5157. if err != nil {
  5158. return nil, err
  5159. }
  5160. return response, nil
  5161. }
  5162. func (service *pTZ) GetPresets(request *GetPresets) (*GetPresetsResponse, error) {
  5163. return service.GetPresetsContext(
  5164. context.Background(),
  5165. request,
  5166. )
  5167. }
  5168. func (service *pTZ) SetPresetContext(ctx context.Context, request *SetPreset) (*SetPresetResponse, error) {
  5169. response := new(SetPresetResponse)
  5170. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/SetPreset", request, response)
  5171. if err != nil {
  5172. return nil, err
  5173. }
  5174. return response, nil
  5175. }
  5176. func (service *pTZ) SetPreset(request *SetPreset) (*SetPresetResponse, error) {
  5177. return service.SetPresetContext(
  5178. context.Background(),
  5179. request,
  5180. )
  5181. }
  5182. func (service *pTZ) RemovePresetContext(ctx context.Context, request *RemovePreset) (*RemovePresetResponse, error) {
  5183. response := new(RemovePresetResponse)
  5184. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/RemovePreset", request, response)
  5185. if err != nil {
  5186. return nil, err
  5187. }
  5188. return response, nil
  5189. }
  5190. func (service *pTZ) RemovePreset(request *RemovePreset) (*RemovePresetResponse, error) {
  5191. return service.RemovePresetContext(
  5192. context.Background(),
  5193. request,
  5194. )
  5195. }
  5196. func (service *pTZ) GotoPresetContext(ctx context.Context, request *GotoPreset) (*GotoPresetResponse, error) {
  5197. response := new(GotoPresetResponse)
  5198. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GotoPreset", request, response)
  5199. if err != nil {
  5200. return nil, err
  5201. }
  5202. return response, nil
  5203. }
  5204. func (service *pTZ) GotoPreset(request *GotoPreset) (*GotoPresetResponse, error) {
  5205. return service.GotoPresetContext(
  5206. context.Background(),
  5207. request,
  5208. )
  5209. }
  5210. func (service *pTZ) GotoHomePositionContext(ctx context.Context, request *GotoHomePosition) (*GotoHomePositionResponse, error) {
  5211. response := new(GotoHomePositionResponse)
  5212. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GotoHomePosition", request, response)
  5213. if err != nil {
  5214. return nil, err
  5215. }
  5216. return response, nil
  5217. }
  5218. func (service *pTZ) GotoHomePosition(request *GotoHomePosition) (*GotoHomePositionResponse, error) {
  5219. return service.GotoHomePositionContext(
  5220. context.Background(),
  5221. request,
  5222. )
  5223. }
  5224. func (service *pTZ) SetHomePositionContext(ctx context.Context, request *SetHomePosition) (*SetHomePositionResponse, error) {
  5225. response := new(SetHomePositionResponse)
  5226. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/SetHomePosition", request, response)
  5227. if err != nil {
  5228. return nil, err
  5229. }
  5230. return response, nil
  5231. }
  5232. func (service *pTZ) SetHomePosition(request *SetHomePosition) (*SetHomePositionResponse, error) {
  5233. return service.SetHomePositionContext(
  5234. context.Background(),
  5235. request,
  5236. )
  5237. }
  5238. func (service *pTZ) ContinuousMoveContext(ctx context.Context, request *ContinuousMove) (*ContinuousMoveResponse, error) {
  5239. response := new(ContinuousMoveResponse)
  5240. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/ContinuousMove", request, response)
  5241. if err != nil {
  5242. return nil, err
  5243. }
  5244. return response, nil
  5245. }
  5246. func (service *pTZ) ContinuousMove(request *ContinuousMove) (*ContinuousMoveResponse, error) {
  5247. return service.ContinuousMoveContext(
  5248. context.Background(),
  5249. request,
  5250. )
  5251. }
  5252. func (service *pTZ) RelativeMoveContext(ctx context.Context, request *RelativeMove) (*RelativeMoveResponse, error) {
  5253. response := new(RelativeMoveResponse)
  5254. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/RelativeMove", request, response)
  5255. if err != nil {
  5256. return nil, err
  5257. }
  5258. return response, nil
  5259. }
  5260. func (service *pTZ) RelativeMove(request *RelativeMove) (*RelativeMoveResponse, error) {
  5261. return service.RelativeMoveContext(
  5262. context.Background(),
  5263. request,
  5264. )
  5265. }
  5266. func (service *pTZ) GetStatusContext(ctx context.Context, request *GetStatus) (*GetStatusResponse, error) {
  5267. response := new(GetStatusResponse)
  5268. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetStatus", request, response)
  5269. if err != nil {
  5270. return nil, err
  5271. }
  5272. return response, nil
  5273. }
  5274. func (service *pTZ) GetStatus(request *GetStatus) (*GetStatusResponse, error) {
  5275. return service.GetStatusContext(
  5276. context.Background(),
  5277. request,
  5278. )
  5279. }
  5280. func (service *pTZ) AbsoluteMoveContext(ctx context.Context, request *AbsoluteMove) (*AbsoluteMoveResponse, error) {
  5281. response := new(AbsoluteMoveResponse)
  5282. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/AbsoluteMove", request, response)
  5283. if err != nil {
  5284. return nil, err
  5285. }
  5286. return response, nil
  5287. }
  5288. func (service *pTZ) AbsoluteMove(request *AbsoluteMove) (*AbsoluteMoveResponse, error) {
  5289. return service.AbsoluteMoveContext(
  5290. context.Background(),
  5291. request,
  5292. )
  5293. }
  5294. func (service *pTZ) GeoMoveContext(ctx context.Context, request *GeoMove) (*GeoMoveResponse, error) {
  5295. response := new(GeoMoveResponse)
  5296. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GeoMove", request, response)
  5297. if err != nil {
  5298. return nil, err
  5299. }
  5300. return response, nil
  5301. }
  5302. func (service *pTZ) GeoMove(request *GeoMove) (*GeoMoveResponse, error) {
  5303. return service.GeoMoveContext(
  5304. context.Background(),
  5305. request,
  5306. )
  5307. }
  5308. func (service *pTZ) StopContext(ctx context.Context, request *Stop) (*StopResponse, error) {
  5309. response := new(StopResponse)
  5310. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/Stop", request, response)
  5311. if err != nil {
  5312. return nil, err
  5313. }
  5314. return response, nil
  5315. }
  5316. func (service *pTZ) Stop(request *Stop) (*StopResponse, error) {
  5317. return service.StopContext(
  5318. context.Background(),
  5319. request,
  5320. )
  5321. }
  5322. func (service *pTZ) GetPresetToursContext(ctx context.Context, request *GetPresetTours) (*GetPresetToursResponse, error) {
  5323. response := new(GetPresetToursResponse)
  5324. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetPresetTours", request, response)
  5325. if err != nil {
  5326. return nil, err
  5327. }
  5328. return response, nil
  5329. }
  5330. func (service *pTZ) GetPresetTours(request *GetPresetTours) (*GetPresetToursResponse, error) {
  5331. return service.GetPresetToursContext(
  5332. context.Background(),
  5333. request,
  5334. )
  5335. }
  5336. func (service *pTZ) GetPresetTourContext(ctx context.Context, request *GetPresetTour) (*GetPresetTourResponse, error) {
  5337. response := new(GetPresetTourResponse)
  5338. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetPresetTour", request, response)
  5339. if err != nil {
  5340. return nil, err
  5341. }
  5342. return response, nil
  5343. }
  5344. func (service *pTZ) GetPresetTour(request *GetPresetTour) (*GetPresetTourResponse, error) {
  5345. return service.GetPresetTourContext(
  5346. context.Background(),
  5347. request,
  5348. )
  5349. }
  5350. func (service *pTZ) GetPresetTourOptionsContext(ctx context.Context, request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error) {
  5351. response := new(GetPresetTourOptionsResponse)
  5352. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetPresetTourOptions", request, response)
  5353. if err != nil {
  5354. return nil, err
  5355. }
  5356. return response, nil
  5357. }
  5358. func (service *pTZ) GetPresetTourOptions(request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error) {
  5359. return service.GetPresetTourOptionsContext(
  5360. context.Background(),
  5361. request,
  5362. )
  5363. }
  5364. func (service *pTZ) CreatePresetTourContext(ctx context.Context, request *CreatePresetTour) (*CreatePresetTourResponse, error) {
  5365. response := new(CreatePresetTourResponse)
  5366. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/CreatePresetTour", request, response)
  5367. if err != nil {
  5368. return nil, err
  5369. }
  5370. return response, nil
  5371. }
  5372. func (service *pTZ) CreatePresetTour(request *CreatePresetTour) (*CreatePresetTourResponse, error) {
  5373. return service.CreatePresetTourContext(
  5374. context.Background(),
  5375. request,
  5376. )
  5377. }
  5378. func (service *pTZ) ModifyPresetTourContext(ctx context.Context, request *ModifyPresetTour) (*ModifyPresetTourResponse, error) {
  5379. response := new(ModifyPresetTourResponse)
  5380. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/ModifyPresetTour", request, response)
  5381. if err != nil {
  5382. return nil, err
  5383. }
  5384. return response, nil
  5385. }
  5386. func (service *pTZ) ModifyPresetTour(request *ModifyPresetTour) (*ModifyPresetTourResponse, error) {
  5387. return service.ModifyPresetTourContext(
  5388. context.Background(),
  5389. request,
  5390. )
  5391. }
  5392. func (service *pTZ) OperatePresetTourContext(ctx context.Context, request *OperatePresetTour) (*OperatePresetTourResponse, error) {
  5393. response := new(OperatePresetTourResponse)
  5394. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/OperatePresetTour", request, response)
  5395. if err != nil {
  5396. return nil, err
  5397. }
  5398. return response, nil
  5399. }
  5400. func (service *pTZ) OperatePresetTour(request *OperatePresetTour) (*OperatePresetTourResponse, error) {
  5401. return service.OperatePresetTourContext(
  5402. context.Background(),
  5403. request,
  5404. )
  5405. }
  5406. func (service *pTZ) RemovePresetTourContext(ctx context.Context, request *RemovePresetTour) (*RemovePresetTourResponse, error) {
  5407. response := new(RemovePresetTourResponse)
  5408. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/RemovePresetTour", request, response)
  5409. if err != nil {
  5410. return nil, err
  5411. }
  5412. return response, nil
  5413. }
  5414. func (service *pTZ) RemovePresetTour(request *RemovePresetTour) (*RemovePresetTourResponse, error) {
  5415. return service.RemovePresetTourContext(
  5416. context.Background(),
  5417. request,
  5418. )
  5419. }
  5420. func (service *pTZ) GetCompatibleConfigurationsContext(ctx context.Context, request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error) {
  5421. response := new(GetCompatibleConfigurationsResponse)
  5422. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver20/ptz/wsdl/GetCompatibleConfigurations", request, response)
  5423. if err != nil {
  5424. return nil, err
  5425. }
  5426. return response, nil
  5427. }
  5428. func (service *pTZ) GetCompatibleConfigurations(request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error) {
  5429. return service.GetCompatibleConfigurationsContext(
  5430. context.Background(),
  5431. request,
  5432. )
  5433. }
  5434. // AnyURI type
  5435. type AnyURI string
  5436. // Duration type
  5437. type Duration string
  5438. // QName type
  5439. type QName string
  5440. // NCName type
  5441. type NCName string
  5442. // AnySimpleType type
  5443. type AnySimpleType string
  5444. // String type
  5445. type String string