devicemgmt.go 355 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327
  1. package devicemgmt
  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. // EAPMethodTypes type
  12. type EAPMethodTypes []int32
  13. // AutoGeoModes type
  14. type AutoGeoModes string
  15. const (
  16. // Automatic adjustment of the device location.
  17. // AutoGeoModesLocation const
  18. AutoGeoModesLocation AutoGeoModes = "Location"
  19. // Automatic adjustment of the device orientation relative to the compass also called yaw.
  20. // AutoGeoModesHeading const
  21. AutoGeoModesHeading AutoGeoModes = "Heading"
  22. // Automatic adjustment of the deviation from the horizon also called pitch and roll.
  23. // AutoGeoModesLeveling const
  24. AutoGeoModesLeveling AutoGeoModes = "Leveling"
  25. )
  26. // StorageType type
  27. type StorageType string
  28. const (
  29. // NFS protocol
  30. // StorageTypeNFS const
  31. StorageTypeNFS StorageType = "NFS"
  32. // CIFS protocol
  33. // StorageTypeCIFS const
  34. StorageTypeCIFS StorageType = "CIFS"
  35. // CDMI protocol
  36. // StorageTypeCDMI const
  37. StorageTypeCDMI StorageType = "CDMI"
  38. // FTP protocol
  39. // StorageTypeFTP const
  40. StorageTypeFTP StorageType = "FTP"
  41. )
  42. // GetServices type
  43. type GetServices struct {
  44. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServices"`
  45. // Indicates if the service capabilities (untyped) should be included in the response.
  46. IncludeCapability bool `xml:"http://www.onvif.org/ver10/device/wsdl IncludeCapability"`
  47. }
  48. // GetServicesResponse type
  49. type GetServicesResponse struct {
  50. XMLName xml.Name `xml:"GetServicesResponse"`
  51. // Each Service element contains information about one service.
  52. Service []Service `xml:"Service,omitempty"`
  53. }
  54. // GetServiceCapabilities type
  55. type GetServiceCapabilities struct {
  56. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServiceCapabilities"`
  57. }
  58. // GetServiceCapabilitiesResponse type
  59. type GetServiceCapabilitiesResponse struct {
  60. XMLName xml.Name `xml:"GetServiceCapabilitiesResponse"`
  61. // The capabilities for the device service is returned in the Capabilities element.
  62. Capabilities DeviceServiceCapabilities `xml:"Capabilities,omitempty"`
  63. }
  64. // GetDeviceInformation type
  65. type GetDeviceInformation struct {
  66. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDeviceInformation"`
  67. }
  68. // GetDeviceInformationResponse type
  69. type GetDeviceInformationResponse struct {
  70. XMLName xml.Name `xml:"GetDeviceInformationResponse"`
  71. // The manufactor of the device.
  72. Manufacturer string `xml:"Manufacturer,omitempty"`
  73. // The device model.
  74. Model string `xml:"Model,omitempty"`
  75. // The firmware version in the device.
  76. FirmwareVersion string `xml:"FirmwareVersion,omitempty"`
  77. // The serial number of the device.
  78. SerialNumber string `xml:"SerialNumber,omitempty"`
  79. // The hardware ID of the device.
  80. HardwareId string `xml:"HardwareId,omitempty"`
  81. }
  82. // SetSystemDateAndTime type
  83. type SetSystemDateAndTime struct {
  84. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemDateAndTime"`
  85. // Defines if the date and time is set via NTP or manually.
  86. DateTimeType SetDateTimeType `xml:"http://www.onvif.org/ver10/device/wsdl DateTimeType,omitempty"`
  87. // Automatically adjust Daylight savings if defined in TimeZone.
  88. DaylightSavings bool `xml:"http://www.onvif.org/ver10/device/wsdl DaylightSavings,omitempty"`
  89. // The time zone in POSIX 1003.1 format
  90. TimeZone TimeZone `xml:"http://www.onvif.org/ver10/device/wsdl TimeZone,omitempty"`
  91. // Date and time in UTC. If time is obtained via NTP, UTCDateTime has no meaning
  92. UTCDateTime string `xml:"http://www.onvif.org/ver10/schema UTCDateTime,omitempty"`
  93. }
  94. // SetSystemDateAndTimeResponse type
  95. type SetSystemDateAndTimeResponse struct {
  96. XMLName xml.Name `xml:"SetSystemDateAndTimeResponse"`
  97. }
  98. // GetSystemDateAndTime type
  99. type GetSystemDateAndTime struct {
  100. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemDateAndTime"`
  101. }
  102. // GetSystemDateAndTimeResponse type
  103. type GetSystemDateAndTimeResponse struct {
  104. XMLName xml.Name `xml:"GetSystemDateAndTimeResponse"`
  105. // Contains information whether system date and time are set manually or by NTP, daylight savings is on or off, time zone in POSIX 1003.1 format and system date and time in UTC and also local system date and time.
  106. SystemDateAndTime SystemDateTime `xml:"SystemDateAndTime,omitempty"`
  107. }
  108. // SetSystemFactoryDefault type
  109. type SetSystemFactoryDefault struct {
  110. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemFactoryDefault"`
  111. // Specifies the factory default action type.
  112. FactoryDefault FactoryDefaultType `xml:"http://www.onvif.org/ver10/device/wsdl FactoryDefault,omitempty"`
  113. }
  114. // SetSystemFactoryDefaultResponse type
  115. type SetSystemFactoryDefaultResponse struct {
  116. XMLName xml.Name `xml:"SetSystemFactoryDefaultResponse"`
  117. }
  118. // UpgradeSystemFirmware type
  119. type UpgradeSystemFirmware struct {
  120. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl UpgradeSystemFirmware"`
  121. Firmware AttachmentData `xml:"http://www.onvif.org/ver10/device/wsdl Firmware,omitempty"`
  122. }
  123. // UpgradeSystemFirmwareResponse type
  124. type UpgradeSystemFirmwareResponse struct {
  125. XMLName xml.Name `xml:"UpgradeSystemFirmwareResponse"`
  126. Message string `xml:"Message,omitempty"`
  127. }
  128. // SystemReboot type
  129. type SystemReboot struct {
  130. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SystemReboot"`
  131. }
  132. // SystemRebootResponse type
  133. type SystemRebootResponse struct {
  134. XMLName xml.Name `xml:"SystemRebootResponse"`
  135. // Contains the reboot message sent by the device.
  136. Message string `xml:"Message,omitempty"`
  137. }
  138. // RestoreSystem type
  139. type RestoreSystem struct {
  140. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RestoreSystem"`
  141. BackupFiles []BackupFile `xml:"http://www.onvif.org/ver10/device/wsdl BackupFiles,omitempty"`
  142. }
  143. // RestoreSystemResponse type
  144. type RestoreSystemResponse struct {
  145. XMLName xml.Name `xml:"RestoreSystemResponse"`
  146. }
  147. // GetSystemBackup type
  148. type GetSystemBackup struct {
  149. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemBackup"`
  150. }
  151. // GetSystemBackupResponse type
  152. type GetSystemBackupResponse struct {
  153. XMLName xml.Name `xml:"GetSystemBackupResponse"`
  154. BackupFiles []BackupFile `xml:"BackupFiles,omitempty"`
  155. }
  156. // GetSystemSupportInformation type
  157. type GetSystemSupportInformation struct {
  158. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemSupportInformation"`
  159. }
  160. // GetSystemSupportInformationResponse type
  161. type GetSystemSupportInformationResponse struct {
  162. XMLName xml.Name `xml:"GetSystemSupportInformationResponse"`
  163. // Contains the arbitary device diagnostics information.
  164. SupportInformation SupportInformation `xml:"SupportInformation,omitempty"`
  165. }
  166. // GetSystemLog type
  167. type GetSystemLog struct {
  168. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemLog"`
  169. // Specifies the type of system log to get.
  170. LogType SystemLogType `xml:"http://www.onvif.org/ver10/device/wsdl LogType,omitempty"`
  171. }
  172. // GetSystemLogResponse type
  173. type GetSystemLogResponse struct {
  174. XMLName xml.Name `xml:"GetSystemLogResponse"`
  175. // Contains the system log information.
  176. SystemLog SystemLog `xml:"SystemLog,omitempty"`
  177. }
  178. // GetScopes type
  179. type GetScopes struct {
  180. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetScopes"`
  181. }
  182. // GetScopesResponse type
  183. type GetScopesResponse struct {
  184. XMLName xml.Name `xml:"GetScopesResponse"`
  185. // Contains a list of URI definining the device scopes. Scope parameters can be of two types: fixed and configurable. Fixed parameters can not be altered.
  186. Scopes []Scope `xml:"Scopes,omitempty"`
  187. }
  188. // SetScopes type
  189. type SetScopes struct {
  190. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetScopes"`
  191. // Contains a list of scope parameters that will replace all existing configurable scope parameters.
  192. Scopes []AnyURI `xml:"http://www.onvif.org/ver10/schema Scopes,omitempty"`
  193. }
  194. // SetScopesResponse type
  195. type SetScopesResponse struct {
  196. XMLName xml.Name `xml:"SetScopesResponse"`
  197. }
  198. // AddScopes type
  199. type AddScopes struct {
  200. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddScopes"`
  201. // Contains a list of new configurable scope parameters that will be added to the existing configurable scope.
  202. ScopeItem []AnyURI `xml:"http://www.onvif.org/ver10/schema ScopeItem,omitempty"`
  203. }
  204. // AddScopesResponse type
  205. type AddScopesResponse struct {
  206. XMLName xml.Name `xml:"AddScopesResponse"`
  207. }
  208. // RemoveScopes type
  209. type RemoveScopes struct {
  210. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveScopes"`
  211. // Contains a list of URIs that should be removed from the device scope.
  212. // Note that the response message always will match the request or an error will be returned. The use of the response is for that reason deprecated.
  213. //
  214. ScopeItem []AnyURI `xml:"http://www.onvif.org/ver10/schema ScopeItem,omitempty"`
  215. }
  216. // RemoveScopesResponse type
  217. type RemoveScopesResponse struct {
  218. XMLName xml.Name `xml:"RemoveScopesResponse"`
  219. // Contains a list of URIs that has been removed from the device scope
  220. ScopeItem []AnyURI `xml:"ScopeItem,omitempty"`
  221. }
  222. // GetDiscoveryMode type
  223. type GetDiscoveryMode struct {
  224. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDiscoveryMode"`
  225. }
  226. // GetDiscoveryModeResponse type
  227. type GetDiscoveryModeResponse struct {
  228. XMLName xml.Name `xml:"GetDiscoveryModeResponse"`
  229. //
  230. // Indicator of discovery mode: Discoverable, NonDiscoverable.
  231. //
  232. DiscoveryMode DiscoveryMode `xml:"DiscoveryMode,omitempty"`
  233. }
  234. // SetDiscoveryMode type
  235. type SetDiscoveryMode struct {
  236. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDiscoveryMode"`
  237. //
  238. // Indicator of discovery mode: Discoverable, NonDiscoverable.
  239. //
  240. DiscoveryMode DiscoveryMode `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryMode,omitempty"`
  241. }
  242. // SetDiscoveryModeResponse type
  243. type SetDiscoveryModeResponse struct {
  244. XMLName xml.Name `xml:"SetDiscoveryModeResponse"`
  245. }
  246. // GetRemoteDiscoveryMode type
  247. type GetRemoteDiscoveryMode struct {
  248. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteDiscoveryMode"`
  249. }
  250. // GetRemoteDiscoveryModeResponse type
  251. type GetRemoteDiscoveryModeResponse struct {
  252. XMLName xml.Name `xml:"GetRemoteDiscoveryModeResponse"`
  253. //
  254. // Indicator of discovery mode: Discoverable, NonDiscoverable.
  255. //
  256. RemoteDiscoveryMode DiscoveryMode `xml:"RemoteDiscoveryMode,omitempty"`
  257. }
  258. // SetRemoteDiscoveryMode type
  259. type SetRemoteDiscoveryMode struct {
  260. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteDiscoveryMode"`
  261. //
  262. // Indicator of discovery mode: Discoverable, NonDiscoverable.
  263. //
  264. RemoteDiscoveryMode DiscoveryMode `xml:"http://www.onvif.org/ver10/device/wsdl RemoteDiscoveryMode,omitempty"`
  265. }
  266. // SetRemoteDiscoveryModeResponse type
  267. type SetRemoteDiscoveryModeResponse struct {
  268. XMLName xml.Name `xml:"SetRemoteDiscoveryModeResponse"`
  269. }
  270. // GetDPAddresses type
  271. type GetDPAddresses struct {
  272. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDPAddresses"`
  273. }
  274. // GetDPAddressesResponse type
  275. type GetDPAddressesResponse struct {
  276. XMLName xml.Name `xml:"GetDPAddressesResponse"`
  277. DPAddress []NetworkHost `xml:"DPAddress,omitempty"`
  278. }
  279. // SetDPAddresses type
  280. type SetDPAddresses struct {
  281. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDPAddresses"`
  282. DPAddress []NetworkHost `xml:"http://www.onvif.org/ver10/device/wsdl DPAddress,omitempty"`
  283. }
  284. // SetDPAddressesResponse type
  285. type SetDPAddressesResponse struct {
  286. XMLName xml.Name `xml:"SetDPAddressesResponse"`
  287. }
  288. // GetEndpointReference type
  289. type GetEndpointReference struct {
  290. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetEndpointReference"`
  291. }
  292. // GetEndpointReferenceResponse type
  293. type GetEndpointReferenceResponse struct {
  294. XMLName xml.Name `xml:"GetEndpointReferenceResponse"`
  295. GUID string `xml:"GUID,omitempty"`
  296. }
  297. // GetRemoteUser type
  298. type GetRemoteUser struct {
  299. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteUser"`
  300. }
  301. // GetRemoteUserResponse type
  302. type GetRemoteUserResponse struct {
  303. XMLName xml.Name `xml:"GetRemoteUserResponse"`
  304. RemoteUser RemoteUser `xml:"RemoteUser,omitempty"`
  305. }
  306. // SetRemoteUser type
  307. type SetRemoteUser struct {
  308. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteUser"`
  309. RemoteUser RemoteUser `xml:"http://www.onvif.org/ver10/device/wsdl RemoteUser,omitempty"`
  310. }
  311. // SetRemoteUserResponse type
  312. type SetRemoteUserResponse struct {
  313. XMLName xml.Name `xml:"SetRemoteUserResponse"`
  314. }
  315. // GetUsers type
  316. type GetUsers struct {
  317. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetUsers"`
  318. }
  319. // GetUsersResponse type
  320. type GetUsersResponse struct {
  321. XMLName xml.Name `xml:"GetUsersResponse"`
  322. // Contains a list of the onvif users and following information is included in each entry: username and user level.
  323. User []User `xml:"User,omitempty"`
  324. }
  325. // CreateUsers type
  326. type CreateUsers struct {
  327. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateUsers"`
  328. // Creates new device users and corresponding credentials. Each user entry includes: username, password and user level. Either all users are created successfully or a fault message MUST be returned without creating any user. If trying to create several users with exactly the same username the request is rejected and no users are created. If password is missing, then fault message Too weak password is returned.
  329. User []User `xml:"http://www.onvif.org/ver10/device/wsdl User,omitempty"`
  330. }
  331. // CreateUsersResponse type
  332. type CreateUsersResponse struct {
  333. XMLName xml.Name `xml:"CreateUsersResponse"`
  334. }
  335. // DeleteUsers type
  336. type DeleteUsers struct {
  337. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteUsers"`
  338. // Deletes users on an device and there may exist users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message MUST be returned and no users be deleted. If a username exists multiple times in the request, then a fault message is returned.
  339. Username []string `xml:"http://www.onvif.org/ver10/device/wsdl Username,omitempty"`
  340. }
  341. // DeleteUsersResponse type
  342. type DeleteUsersResponse struct {
  343. XMLName xml.Name `xml:"DeleteUsersResponse"`
  344. }
  345. // SetUser type
  346. type SetUser struct {
  347. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetUser"`
  348. // Updates the credentials for one or several users on an device. Either all change requests are processed successfully or a fault message MUST be returned. If the request contains the same username multiple times, a fault message is returned.
  349. User []User `xml:"http://www.onvif.org/ver10/device/wsdl User,omitempty"`
  350. }
  351. // SetUserResponse type
  352. type SetUserResponse struct {
  353. XMLName xml.Name `xml:"SetUserResponse"`
  354. }
  355. // GetWsdlUrl type
  356. type GetWsdlUrl struct {
  357. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetWsdlUrl"`
  358. }
  359. // GetWsdlUrlResponse type
  360. type GetWsdlUrlResponse struct {
  361. XMLName xml.Name `xml:"GetWsdlUrlResponse"`
  362. WsdlUrl AnyURI `xml:"WsdlUrl,omitempty"`
  363. }
  364. // GetCapabilities type
  365. type GetCapabilities struct {
  366. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCapabilities"`
  367. //
  368. // List of categories to retrieve capability information on.
  369. //
  370. Category []CapabilityCategory `xml:"http://www.onvif.org/ver10/device/wsdl Category,omitempty"`
  371. }
  372. // GetCapabilitiesResponse type
  373. type GetCapabilitiesResponse struct {
  374. XMLName xml.Name `xml:"GetCapabilitiesResponse"`
  375. //
  376. // Capability information.
  377. //
  378. Capabilities Capabilities `xml:"Capabilities,omitempty"`
  379. }
  380. // GetHostname type
  381. type GetHostname struct {
  382. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetHostname"`
  383. }
  384. // GetHostnameResponse type
  385. type GetHostnameResponse struct {
  386. XMLName xml.Name `xml:"GetHostnameResponse"`
  387. // Contains the hostname information.
  388. HostnameInformation HostnameInformation `xml:"HostnameInformation,omitempty"`
  389. }
  390. // SetHostname type
  391. type SetHostname struct {
  392. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostname"`
  393. // The hostname to set.
  394. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  395. }
  396. // SetHostnameResponse type
  397. type SetHostnameResponse struct {
  398. XMLName xml.Name `xml:"SetHostnameResponse"`
  399. }
  400. // SetHostnameFromDHCP type
  401. type SetHostnameFromDHCP struct {
  402. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostnameFromDHCP"`
  403. // True if the hostname shall be obtained via DHCP.
  404. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  405. }
  406. // SetHostnameFromDHCPResponse type
  407. type SetHostnameFromDHCPResponse struct {
  408. XMLName xml.Name `xml:"SetHostnameFromDHCPResponse"`
  409. //
  410. // Indicates whether or not a reboot is required after configuration updates.
  411. //
  412. RebootNeeded bool `xml:"RebootNeeded,omitempty"`
  413. }
  414. // GetDNS type
  415. type GetDNS struct {
  416. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDNS"`
  417. }
  418. // GetDNSResponse type
  419. type GetDNSResponse struct {
  420. XMLName xml.Name `xml:"GetDNSResponse"`
  421. //
  422. // DNS information.
  423. //
  424. DNSInformation DNSInformation `xml:"DNSInformation,omitempty"`
  425. }
  426. // SetDNS type
  427. type SetDNS struct {
  428. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDNS"`
  429. //
  430. // Indicate if the DNS address is to be retrieved using DHCP.
  431. //
  432. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  433. //
  434. // DNS search domain.
  435. //
  436. SearchDomain []string `xml:"http://www.onvif.org/ver10/device/wsdl SearchDomain,omitempty"`
  437. //
  438. // DNS address(es) set manually.
  439. //
  440. DNSManual []IPAddress `xml:"http://www.onvif.org/ver10/device/wsdl DNSManual,omitempty"`
  441. }
  442. // SetDNSResponse type
  443. type SetDNSResponse struct {
  444. XMLName xml.Name `xml:"SetDNSResponse"`
  445. }
  446. // GetNTP type
  447. type GetNTP struct {
  448. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNTP"`
  449. }
  450. // GetNTPResponse type
  451. type GetNTPResponse struct {
  452. XMLName xml.Name `xml:"GetNTPResponse"`
  453. //
  454. // NTP information.
  455. //
  456. NTPInformation NTPInformation `xml:"NTPInformation,omitempty"`
  457. }
  458. // SetNTP type
  459. type SetNTP struct {
  460. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNTP"`
  461. //
  462. // Indicate if NTP address information is to be retrieved using DHCP.
  463. //
  464. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  465. //
  466. // Manual NTP settings.
  467. //
  468. NTPManual []NetworkHost `xml:"http://www.onvif.org/ver10/device/wsdl NTPManual,omitempty"`
  469. }
  470. // SetNTPResponse type
  471. type SetNTPResponse struct {
  472. XMLName xml.Name `xml:"SetNTPResponse"`
  473. }
  474. // GetDynamicDNS type
  475. type GetDynamicDNS struct {
  476. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDynamicDNS"`
  477. }
  478. // GetDynamicDNSResponse type
  479. type GetDynamicDNSResponse struct {
  480. XMLName xml.Name `xml:"GetDynamicDNSResponse"`
  481. //
  482. // Dynamic DNS information.
  483. //
  484. DynamicDNSInformation DynamicDNSInformation `xml:"DynamicDNSInformation,omitempty"`
  485. }
  486. // SetDynamicDNS type
  487. type SetDynamicDNS struct {
  488. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDynamicDNS"`
  489. //
  490. // Dynamic DNS type.
  491. //
  492. Type DynamicDNSType `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  493. //
  494. // DNS name.
  495. //
  496. Name DNSName `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  497. //
  498. // DNS record time to live.
  499. //
  500. TTL Duration `xml:"http://www.onvif.org/ver10/schema TTL,omitempty"`
  501. }
  502. // SetDynamicDNSResponse type
  503. type SetDynamicDNSResponse struct {
  504. XMLName xml.Name `xml:"SetDynamicDNSResponse"`
  505. }
  506. // GetNetworkInterfaces type
  507. type GetNetworkInterfaces struct {
  508. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkInterfaces"`
  509. }
  510. // GetNetworkInterfacesResponse type
  511. type GetNetworkInterfacesResponse struct {
  512. XMLName xml.Name `xml:"GetNetworkInterfacesResponse"`
  513. //
  514. // List of network interfaces.
  515. //
  516. NetworkInterfaces []NetworkInterface `xml:"NetworkInterfaces,omitempty"`
  517. }
  518. // SetNetworkInterfaces type
  519. type SetNetworkInterfaces struct {
  520. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkInterfaces"`
  521. //
  522. // Symbolic network interface name.
  523. //
  524. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl InterfaceToken,omitempty"`
  525. //
  526. // Network interface name.
  527. //
  528. NetworkInterface NetworkInterfaceSetConfiguration `xml:"http://www.onvif.org/ver10/device/wsdl NetworkInterface,omitempty"`
  529. }
  530. // SetNetworkInterfacesResponse type
  531. type SetNetworkInterfacesResponse struct {
  532. XMLName xml.Name `xml:"SetNetworkInterfacesResponse"`
  533. //
  534. // Indicates whether or not a reboot is required after configuration updates.
  535. // If a device responds with RebootNeeded set to false, the device can be reached
  536. // via the new IP address without further action. A client should be aware that a device
  537. // may not be responsive for a short period of time until it signals availability at
  538. // the new address via the discovery Hello messages.
  539. // If a device responds with RebootNeeded set to true, it will be further available under
  540. // its previous IP address. The settings will only be activated when the device is
  541. // rebooted via the SystemReboot command.
  542. //
  543. RebootNeeded bool `xml:"RebootNeeded,omitempty"`
  544. }
  545. // GetNetworkProtocols type
  546. type GetNetworkProtocols struct {
  547. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkProtocols"`
  548. }
  549. // GetNetworkProtocolsResponse type
  550. type GetNetworkProtocolsResponse struct {
  551. XMLName xml.Name `xml:"GetNetworkProtocolsResponse"`
  552. // Contains an array of defined protocols supported by the device. There are three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be retrieved for each protocol: port and enable/disable.
  553. NetworkProtocols []NetworkProtocol `xml:"NetworkProtocols,omitempty"`
  554. }
  555. // SetNetworkProtocols type
  556. type SetNetworkProtocols struct {
  557. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkProtocols"`
  558. // Configures one or more defined network protocols supported by the device. There are currently three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be set for each protocol: port and enable/disable.
  559. NetworkProtocols []NetworkProtocol `xml:"http://www.onvif.org/ver10/device/wsdl NetworkProtocols,omitempty"`
  560. }
  561. // SetNetworkProtocolsResponse type
  562. type SetNetworkProtocolsResponse struct {
  563. XMLName xml.Name `xml:"SetNetworkProtocolsResponse"`
  564. }
  565. // GetNetworkDefaultGateway type
  566. type GetNetworkDefaultGateway struct {
  567. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkDefaultGateway"`
  568. }
  569. // GetNetworkDefaultGatewayResponse type
  570. type GetNetworkDefaultGatewayResponse struct {
  571. XMLName xml.Name `xml:"GetNetworkDefaultGatewayResponse"`
  572. // Gets the default IPv4 and IPv6 gateway settings from the device.
  573. NetworkGateway NetworkGateway `xml:"NetworkGateway,omitempty"`
  574. }
  575. // SetNetworkDefaultGateway type
  576. type SetNetworkDefaultGateway struct {
  577. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkDefaultGateway"`
  578. // Sets IPv4 gateway address used as default setting.
  579. IPv4Address []IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv4Address,omitempty"`
  580. // Sets IPv6 gateway address used as default setting.
  581. IPv6Address []IPv6Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv6Address,omitempty"`
  582. }
  583. // SetNetworkDefaultGatewayResponse type
  584. type SetNetworkDefaultGatewayResponse struct {
  585. XMLName xml.Name `xml:"SetNetworkDefaultGatewayResponse"`
  586. }
  587. // GetZeroConfiguration type
  588. type GetZeroConfiguration struct {
  589. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetZeroConfiguration"`
  590. }
  591. // GetZeroConfigurationResponse type
  592. type GetZeroConfigurationResponse struct {
  593. XMLName xml.Name `xml:"GetZeroConfigurationResponse"`
  594. // Contains the zero-configuration.
  595. ZeroConfiguration NetworkZeroConfiguration `xml:"ZeroConfiguration,omitempty"`
  596. }
  597. // SetZeroConfiguration type
  598. type SetZeroConfiguration struct {
  599. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetZeroConfiguration"`
  600. // Unique identifier referencing the physical interface.
  601. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl InterfaceToken,omitempty"`
  602. // Specifies if the zero-configuration should be enabled or not.
  603. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  604. }
  605. // SetZeroConfigurationResponse type
  606. type SetZeroConfigurationResponse struct {
  607. XMLName xml.Name `xml:"SetZeroConfigurationResponse"`
  608. }
  609. // GetIPAddressFilter type
  610. type GetIPAddressFilter struct {
  611. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetIPAddressFilter"`
  612. }
  613. // GetIPAddressFilterResponse type
  614. type GetIPAddressFilterResponse struct {
  615. XMLName xml.Name `xml:"GetIPAddressFilterResponse"`
  616. IPAddressFilter IPAddressFilter `xml:"IPAddressFilter,omitempty"`
  617. }
  618. // SetIPAddressFilter type
  619. type SetIPAddressFilter struct {
  620. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetIPAddressFilter"`
  621. IPAddressFilter IPAddressFilter `xml:"http://www.onvif.org/ver10/device/wsdl IPAddressFilter,omitempty"`
  622. }
  623. // SetIPAddressFilterResponse type
  624. type SetIPAddressFilterResponse struct {
  625. XMLName xml.Name `xml:"SetIPAddressFilterResponse"`
  626. }
  627. // AddIPAddressFilter type
  628. type AddIPAddressFilter struct {
  629. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddIPAddressFilter"`
  630. IPAddressFilter IPAddressFilter `xml:"http://www.onvif.org/ver10/device/wsdl IPAddressFilter,omitempty"`
  631. }
  632. // AddIPAddressFilterResponse type
  633. type AddIPAddressFilterResponse struct {
  634. XMLName xml.Name `xml:"AddIPAddressFilterResponse"`
  635. }
  636. // RemoveIPAddressFilter type
  637. type RemoveIPAddressFilter struct {
  638. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveIPAddressFilter"`
  639. IPAddressFilter IPAddressFilter `xml:"http://www.onvif.org/ver10/device/wsdl IPAddressFilter,omitempty"`
  640. }
  641. // RemoveIPAddressFilterResponse type
  642. type RemoveIPAddressFilterResponse struct {
  643. XMLName xml.Name `xml:"RemoveIPAddressFilterResponse"`
  644. }
  645. // GetAccessPolicy type
  646. type GetAccessPolicy struct {
  647. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAccessPolicy"`
  648. }
  649. // GetAccessPolicyResponse type
  650. type GetAccessPolicyResponse struct {
  651. XMLName xml.Name `xml:"GetAccessPolicyResponse"`
  652. PolicyFile BinaryData `xml:"PolicyFile,omitempty"`
  653. }
  654. // SetAccessPolicy type
  655. type SetAccessPolicy struct {
  656. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetAccessPolicy"`
  657. PolicyFile BinaryData `xml:"http://www.onvif.org/ver10/device/wsdl PolicyFile,omitempty"`
  658. }
  659. // SetAccessPolicyResponse type
  660. type SetAccessPolicyResponse struct {
  661. XMLName xml.Name `xml:"SetAccessPolicyResponse"`
  662. }
  663. // CreateCertificate type
  664. type CreateCertificate struct {
  665. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateCertificate"`
  666. // Certificate id.
  667. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  668. // Identification of the entity associated with the public-key.
  669. Subject string `xml:"http://www.onvif.org/ver10/device/wsdl Subject,omitempty"`
  670. // Certificate validity start date.
  671. ValidNotBefore string `xml:"http://www.onvif.org/ver10/schema ValidNotBefore,omitempty"`
  672. // Certificate expiry start date.
  673. ValidNotAfter string `xml:"http://www.onvif.org/ver10/schema ValidNotAfter,omitempty"`
  674. }
  675. // CreateCertificateResponse type
  676. type CreateCertificateResponse struct {
  677. XMLName xml.Name `xml:"CreateCertificateResponse"`
  678. //
  679. // base64 encoded DER representation of certificate.
  680. //
  681. NvtCertificate Certificate `xml:"NvtCertificate,omitempty"`
  682. }
  683. // GetCertificates type
  684. type GetCertificates struct {
  685. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificates"`
  686. }
  687. // GetCertificatesResponse type
  688. type GetCertificatesResponse struct {
  689. XMLName xml.Name `xml:"GetCertificatesResponse"`
  690. //
  691. // Id and base64 encoded DER representation of all available certificates.
  692. //
  693. NvtCertificate []Certificate `xml:"NvtCertificate,omitempty"`
  694. }
  695. // GetCertificatesStatus type
  696. type GetCertificatesStatus struct {
  697. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificatesStatus"`
  698. }
  699. // GetCertificatesStatusResponse type
  700. type GetCertificatesStatusResponse struct {
  701. XMLName xml.Name `xml:"GetCertificatesStatusResponse"`
  702. //
  703. // Indicates if a certificate is used in an optional HTTPS configuration of the device.
  704. //
  705. CertificateStatus []CertificateStatus `xml:"CertificateStatus,omitempty"`
  706. }
  707. // SetCertificatesStatus type
  708. type SetCertificatesStatus struct {
  709. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetCertificatesStatus"`
  710. //
  711. // Indicates if a certificate is to be used in an optional HTTPS configuration of the device.
  712. //
  713. CertificateStatus []CertificateStatus `xml:"http://www.onvif.org/ver10/device/wsdl CertificateStatus,omitempty"`
  714. }
  715. // SetCertificatesStatusResponse type
  716. type SetCertificatesStatusResponse struct {
  717. XMLName xml.Name `xml:"SetCertificatesStatusResponse"`
  718. }
  719. // DeleteCertificates type
  720. type DeleteCertificates struct {
  721. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteCertificates"`
  722. //
  723. // List of ids of certificates to delete.
  724. //
  725. CertificateID []string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  726. }
  727. // DeleteCertificatesResponse type
  728. type DeleteCertificatesResponse struct {
  729. XMLName xml.Name `xml:"DeleteCertificatesResponse"`
  730. }
  731. // GetPkcs10Request type
  732. type GetPkcs10Request struct {
  733. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPkcs10Request"`
  734. //
  735. // List of ids of certificates to delete.
  736. //
  737. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  738. //
  739. // Relative Dinstinguished Name(RDN) CommonName(CN).
  740. //
  741. Subject string `xml:"http://www.onvif.org/ver10/device/wsdl Subject,omitempty"`
  742. //
  743. // Optional base64 encoded DER attributes.
  744. //
  745. Attributes BinaryData `xml:"http://www.onvif.org/ver10/device/wsdl Attributes,omitempty"`
  746. }
  747. // GetPkcs10RequestResponse type
  748. type GetPkcs10RequestResponse struct {
  749. XMLName xml.Name `xml:"GetPkcs10RequestResponse"`
  750. //
  751. // base64 encoded DER representation of certificate.
  752. //
  753. Pkcs10Request BinaryData `xml:"Pkcs10Request,omitempty"`
  754. }
  755. // LoadCertificates type
  756. type LoadCertificates struct {
  757. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificates"`
  758. //
  759. // Optional id and base64 encoded DER representation of certificate.
  760. //
  761. NVTCertificate []Certificate `xml:"http://www.onvif.org/ver10/device/wsdl NVTCertificate,omitempty"`
  762. }
  763. // LoadCertificatesResponse type
  764. type LoadCertificatesResponse struct {
  765. XMLName xml.Name `xml:"LoadCertificatesResponse"`
  766. }
  767. // GetClientCertificateMode type
  768. type GetClientCertificateMode struct {
  769. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetClientCertificateMode"`
  770. }
  771. // GetClientCertificateModeResponse type
  772. type GetClientCertificateModeResponse struct {
  773. XMLName xml.Name `xml:"GetClientCertificateModeResponse"`
  774. //
  775. // Indicates whether or not client certificates are required by device.
  776. //
  777. Enabled bool `xml:"Enabled,omitempty"`
  778. }
  779. // SetClientCertificateMode type
  780. type SetClientCertificateMode struct {
  781. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetClientCertificateMode"`
  782. //
  783. // Indicates whether or not client certificates are required by device.
  784. //
  785. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  786. }
  787. // SetClientCertificateModeResponse type
  788. type SetClientCertificateModeResponse struct {
  789. XMLName xml.Name `xml:"SetClientCertificateModeResponse"`
  790. }
  791. // GetCACertificates type
  792. type GetCACertificates struct {
  793. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCACertificates"`
  794. }
  795. // GetCACertificatesResponse type
  796. type GetCACertificatesResponse struct {
  797. XMLName xml.Name `xml:"GetCACertificatesResponse"`
  798. CACertificate []Certificate `xml:"CACertificate,omitempty"`
  799. }
  800. // LoadCertificateWithPrivateKey type
  801. type LoadCertificateWithPrivateKey struct {
  802. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificateWithPrivateKey"`
  803. CertificateWithPrivateKey []CertificateWithPrivateKey `xml:"http://www.onvif.org/ver10/device/wsdl CertificateWithPrivateKey,omitempty"`
  804. }
  805. // LoadCertificateWithPrivateKeyResponse type
  806. type LoadCertificateWithPrivateKeyResponse struct {
  807. XMLName xml.Name `xml:"LoadCertificateWithPrivateKeyResponse"`
  808. }
  809. // GetCertificateInformation type
  810. type GetCertificateInformation struct {
  811. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificateInformation"`
  812. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  813. }
  814. // GetCertificateInformationResponse type
  815. type GetCertificateInformationResponse struct {
  816. XMLName xml.Name `xml:"GetCertificateInformationResponse"`
  817. CertificateInformation CertificateInformation `xml:"CertificateInformation,omitempty"`
  818. }
  819. // LoadCACertificates type
  820. type LoadCACertificates struct {
  821. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCACertificates"`
  822. CACertificate []Certificate `xml:"http://www.onvif.org/ver10/device/wsdl CACertificate,omitempty"`
  823. }
  824. // LoadCACertificatesResponse type
  825. type LoadCACertificatesResponse struct {
  826. XMLName xml.Name `xml:"LoadCACertificatesResponse"`
  827. }
  828. // CreateDot1XConfiguration type
  829. type CreateDot1XConfiguration struct {
  830. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateDot1XConfiguration"`
  831. Dot1XConfiguration Dot1XConfiguration `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfiguration,omitempty"`
  832. }
  833. // CreateDot1XConfigurationResponse type
  834. type CreateDot1XConfigurationResponse struct {
  835. XMLName xml.Name `xml:"CreateDot1XConfigurationResponse"`
  836. }
  837. // SetDot1XConfiguration type
  838. type SetDot1XConfiguration struct {
  839. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDot1XConfiguration"`
  840. Dot1XConfiguration Dot1XConfiguration `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfiguration,omitempty"`
  841. }
  842. // SetDot1XConfigurationResponse type
  843. type SetDot1XConfigurationResponse struct {
  844. XMLName xml.Name `xml:"SetDot1XConfigurationResponse"`
  845. }
  846. // GetDot1XConfiguration type
  847. type GetDot1XConfiguration struct {
  848. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfiguration"`
  849. Dot1XConfigurationToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfigurationToken,omitempty"`
  850. }
  851. // GetDot1XConfigurationResponse type
  852. type GetDot1XConfigurationResponse struct {
  853. XMLName xml.Name `xml:"GetDot1XConfigurationResponse"`
  854. Dot1XConfiguration Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty"`
  855. }
  856. // GetDot1XConfigurations type
  857. type GetDot1XConfigurations struct {
  858. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfigurations"`
  859. }
  860. // GetDot1XConfigurationsResponse type
  861. type GetDot1XConfigurationsResponse struct {
  862. XMLName xml.Name `xml:"GetDot1XConfigurationsResponse"`
  863. Dot1XConfiguration []Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty"`
  864. }
  865. // DeleteDot1XConfiguration type
  866. type DeleteDot1XConfiguration struct {
  867. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteDot1XConfiguration"`
  868. Dot1XConfigurationToken []ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfigurationToken,omitempty"`
  869. }
  870. // DeleteDot1XConfigurationResponse type
  871. type DeleteDot1XConfigurationResponse struct {
  872. XMLName xml.Name `xml:"DeleteDot1XConfigurationResponse"`
  873. }
  874. // GetRelayOutputs type
  875. type GetRelayOutputs struct {
  876. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRelayOutputs"`
  877. }
  878. // GetRelayOutputsResponse type
  879. type GetRelayOutputsResponse struct {
  880. XMLName xml.Name `xml:"GetRelayOutputsResponse"`
  881. RelayOutputs []RelayOutput `xml:"RelayOutputs,omitempty"`
  882. }
  883. // SetRelayOutputSettings type
  884. type SetRelayOutputSettings struct {
  885. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputSettings"`
  886. RelayOutputToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl RelayOutputToken,omitempty"`
  887. Properties RelayOutputSettings `xml:"http://www.onvif.org/ver10/device/wsdl Properties,omitempty"`
  888. }
  889. // SetRelayOutputSettingsResponse type
  890. type SetRelayOutputSettingsResponse struct {
  891. XMLName xml.Name `xml:"SetRelayOutputSettingsResponse"`
  892. }
  893. // SetRelayOutputState type
  894. type SetRelayOutputState struct {
  895. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputState"`
  896. RelayOutputToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl RelayOutputToken,omitempty"`
  897. LogicalState RelayLogicalState `xml:"http://www.onvif.org/ver10/device/wsdl LogicalState,omitempty"`
  898. }
  899. // SetRelayOutputStateResponse type
  900. type SetRelayOutputStateResponse struct {
  901. XMLName xml.Name `xml:"SetRelayOutputStateResponse"`
  902. }
  903. // SendAuxiliaryCommand type
  904. type SendAuxiliaryCommand struct {
  905. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SendAuxiliaryCommand"`
  906. AuxiliaryCommand AuxiliaryData `xml:"http://www.onvif.org/ver10/device/wsdl AuxiliaryCommand,omitempty"`
  907. }
  908. // SendAuxiliaryCommandResponse type
  909. type SendAuxiliaryCommandResponse struct {
  910. XMLName xml.Name `xml:"SendAuxiliaryCommandResponse"`
  911. AuxiliaryCommandResponse AuxiliaryData `xml:"AuxiliaryCommandResponse,omitempty"`
  912. }
  913. // GetDot11Capabilities type
  914. type GetDot11Capabilities struct {
  915. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11Capabilities"`
  916. }
  917. // GetDot11CapabilitiesResponse type
  918. type GetDot11CapabilitiesResponse struct {
  919. XMLName xml.Name `xml:"GetDot11CapabilitiesResponse"`
  920. Capabilities Dot11Capabilities `xml:"Capabilities,omitempty"`
  921. }
  922. // GetDot11Status type
  923. type GetDot11Status struct {
  924. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11Status"`
  925. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl InterfaceToken,omitempty"`
  926. }
  927. // GetDot11StatusResponse type
  928. type GetDot11StatusResponse struct {
  929. XMLName xml.Name `xml:"GetDot11StatusResponse"`
  930. Status Dot11Status `xml:"Status,omitempty"`
  931. }
  932. // ScanAvailableDot11Networks type
  933. type ScanAvailableDot11Networks struct {
  934. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl ScanAvailableDot11Networks"`
  935. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl InterfaceToken,omitempty"`
  936. }
  937. // ScanAvailableDot11NetworksResponse type
  938. type ScanAvailableDot11NetworksResponse struct {
  939. XMLName xml.Name `xml:"ScanAvailableDot11NetworksResponse"`
  940. Networks []Dot11AvailableNetworks `xml:"Networks,omitempty"`
  941. }
  942. // GetSystemUris type
  943. type GetSystemUris struct {
  944. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemUris"`
  945. }
  946. // GetSystemUrisResponse type
  947. type GetSystemUrisResponse struct {
  948. XMLName xml.Name `xml:"GetSystemUrisResponse"`
  949. SystemLogUris SystemLogUriList `xml:"SystemLogUris,omitempty"`
  950. SupportInfoUri AnyURI `xml:"SupportInfoUri,omitempty"`
  951. SystemBackupUri AnyURI `xml:"SystemBackupUri,omitempty"`
  952. Extension struct {
  953. } `xml:"Extension,omitempty"`
  954. }
  955. // StartFirmwareUpgrade type
  956. type StartFirmwareUpgrade struct {
  957. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartFirmwareUpgrade"`
  958. }
  959. // StartFirmwareUpgradeResponse type
  960. type StartFirmwareUpgradeResponse struct {
  961. XMLName xml.Name `xml:"StartFirmwareUpgradeResponse"`
  962. UploadUri AnyURI `xml:"UploadUri,omitempty"`
  963. UploadDelay Duration `xml:"UploadDelay,omitempty"`
  964. ExpectedDownTime Duration `xml:"ExpectedDownTime,omitempty"`
  965. }
  966. // StartSystemRestore type
  967. type StartSystemRestore struct {
  968. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartSystemRestore"`
  969. }
  970. // StartSystemRestoreResponse type
  971. type StartSystemRestoreResponse struct {
  972. XMLName xml.Name `xml:"StartSystemRestoreResponse"`
  973. UploadUri AnyURI `xml:"UploadUri,omitempty"`
  974. ExpectedDownTime Duration `xml:"ExpectedDownTime,omitempty"`
  975. }
  976. // GetStorageConfigurations type
  977. type GetStorageConfigurations struct {
  978. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfigurations"`
  979. }
  980. // GetStorageConfigurationsResponse type
  981. type GetStorageConfigurationsResponse struct {
  982. XMLName xml.Name `xml:"GetStorageConfigurationsResponse"`
  983. StorageConfigurations []StorageConfiguration `xml:"StorageConfigurations,omitempty"`
  984. }
  985. // CreateStorageConfiguration type
  986. type CreateStorageConfiguration struct {
  987. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateStorageConfiguration"`
  988. StorageConfiguration StorageConfigurationData `xml:"http://www.onvif.org/ver10/device/wsdl StorageConfiguration,omitempty"`
  989. }
  990. // CreateStorageConfigurationResponse type
  991. type CreateStorageConfigurationResponse struct {
  992. XMLName xml.Name `xml:"CreateStorageConfigurationResponse"`
  993. Token ReferenceToken `xml:"Token,omitempty"`
  994. }
  995. // GetStorageConfiguration type
  996. type GetStorageConfiguration struct {
  997. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfiguration"`
  998. Token ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,omitempty"`
  999. }
  1000. // GetStorageConfigurationResponse type
  1001. type GetStorageConfigurationResponse struct {
  1002. XMLName xml.Name `xml:"GetStorageConfigurationResponse"`
  1003. StorageConfiguration StorageConfiguration `xml:"StorageConfiguration,omitempty"`
  1004. }
  1005. // SetStorageConfiguration type
  1006. type SetStorageConfiguration struct {
  1007. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetStorageConfiguration"`
  1008. StorageConfiguration StorageConfiguration `xml:"http://www.onvif.org/ver10/device/wsdl StorageConfiguration,omitempty"`
  1009. }
  1010. // SetStorageConfigurationResponse type
  1011. type SetStorageConfigurationResponse struct {
  1012. XMLName xml.Name `xml:"SetStorageConfigurationResponse"`
  1013. }
  1014. // DeleteStorageConfiguration type
  1015. type DeleteStorageConfiguration struct {
  1016. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteStorageConfiguration"`
  1017. Token ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,omitempty"`
  1018. }
  1019. // DeleteStorageConfigurationResponse type
  1020. type DeleteStorageConfigurationResponse struct {
  1021. XMLName xml.Name `xml:"DeleteStorageConfigurationResponse"`
  1022. }
  1023. // GetGeoLocation type
  1024. type GetGeoLocation struct {
  1025. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetGeoLocation"`
  1026. }
  1027. // GetGeoLocationResponse type
  1028. type GetGeoLocationResponse struct {
  1029. XMLName xml.Name `xml:"GetGeoLocationResponse"`
  1030. Location []LocationEntity `xml:"Location,omitempty"`
  1031. }
  1032. // SetGeoLocation type
  1033. type SetGeoLocation struct {
  1034. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetGeoLocation"`
  1035. Location []LocationEntity `xml:"http://www.onvif.org/ver10/device/wsdl Location,omitempty"`
  1036. }
  1037. // SetGeoLocationResponse type
  1038. type SetGeoLocationResponse struct {
  1039. XMLName xml.Name `xml:"SetGeoLocationResponse"`
  1040. }
  1041. // DeleteGeoLocation type
  1042. type DeleteGeoLocation struct {
  1043. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteGeoLocation"`
  1044. Location []LocationEntity `xml:"http://www.onvif.org/ver10/device/wsdl Location,omitempty"`
  1045. }
  1046. // DeleteGeoLocationResponse type
  1047. type DeleteGeoLocationResponse struct {
  1048. XMLName xml.Name `xml:"DeleteGeoLocationResponse"`
  1049. }
  1050. // Service type
  1051. type Service struct {
  1052. // Namespace of the service being described. This parameter allows to match the service capabilities to the service. Note that only one set of capabilities is supported per namespace.
  1053. Namespace AnyURI `xml:"http://www.onvif.org/ver10/schema Namespace,omitempty"`
  1054. // The transport addresses where the service can be reached. The scheme and IP part shall match the one used in the request (i.e. the GetServices request).
  1055. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  1056. Capabilities struct {
  1057. } `xml:"Capabilities,omitempty"`
  1058. // The version of the service (not the ONVIF core spec version).
  1059. Version OnvifVersion `xml:"http://www.onvif.org/ver10/device/wsdl Version,omitempty"`
  1060. }
  1061. // DeviceServiceCapabilities type
  1062. type DeviceServiceCapabilities struct {
  1063. XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl Capabilities"`
  1064. // Network capabilities.
  1065. Network NetworkCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl Network,omitempty"`
  1066. // Security capabilities.
  1067. Security SecurityCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl Security,omitempty"`
  1068. // System capabilities.
  1069. System SystemCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl System,omitempty"`
  1070. // Capabilities that do not fit in any of the other categories.
  1071. Misc MiscCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl Misc,omitempty"`
  1072. }
  1073. // NetworkCapabilities type
  1074. type NetworkCapabilities struct {
  1075. // Indicates support for IP filtering.
  1076. IPFilter bool `xml:"http://www.onvif.org/ver10/device/wsdl IPFilter,attr,omitempty"`
  1077. // Indicates support for zeroconf.
  1078. ZeroConfiguration bool `xml:"http://www.onvif.org/ver10/device/wsdl ZeroConfiguration,attr,omitempty"`
  1079. // Indicates support for IPv6.
  1080. IPVersion6 bool `xml:"http://www.onvif.org/ver10/device/wsdl IPVersion6,attr,omitempty"`
  1081. // Indicates support for dynamic DNS configuration.
  1082. DynDNS bool `xml:"http://www.onvif.org/ver10/device/wsdl DynDNS,attr,omitempty"`
  1083. // Indicates support for IEEE 802.11 configuration.
  1084. Dot11Configuration bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot11Configuration,attr,omitempty"`
  1085. // Indicates the maximum number of Dot1X configurations supported by the device
  1086. Dot1XConfigurations int32 `xml:"http://www.onvif.org/ver10/schema Dot1XConfigurations,attr,omitempty"`
  1087. // Indicates support for retrieval of hostname from DHCP.
  1088. HostnameFromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl HostnameFromDHCP,attr,omitempty"`
  1089. // Maximum number of NTP servers supported by the devices SetNTP command.
  1090. NTP int32 `xml:"http://www.onvif.org/ver10/schema NTP,attr,omitempty"`
  1091. // Indicates support for Stateful IPv6 DHCP.
  1092. DHCPv6 bool `xml:"http://www.onvif.org/ver10/device/wsdl DHCPv6,attr,omitempty"`
  1093. }
  1094. // SecurityCapabilities type
  1095. type SecurityCapabilities struct {
  1096. // Indicates support for TLS 1.0.
  1097. TLS1_0 bool `xml:"TLS1.0,attr,omitempty"`
  1098. // Indicates support for TLS 1.1.
  1099. TLS1_1 bool `xml:"TLS1.1,attr,omitempty"`
  1100. // Indicates support for TLS 1.2.
  1101. TLS1_2 bool `xml:"TLS1.2,attr,omitempty"`
  1102. // Indicates support for onboard key generation.
  1103. OnboardKeyGeneration bool `xml:"http://www.onvif.org/ver10/device/wsdl OnboardKeyGeneration,attr,omitempty"`
  1104. // Indicates support for access policy configuration.
  1105. AccessPolicyConfig bool `xml:"http://www.onvif.org/ver10/device/wsdl AccessPolicyConfig,attr,omitempty"`
  1106. // Indicates support for the ONVIF default access policy.
  1107. DefaultAccessPolicy bool `xml:"http://www.onvif.org/ver10/device/wsdl DefaultAccessPolicy,attr,omitempty"`
  1108. // Indicates support for IEEE 802.1X configuration.
  1109. Dot1X bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot1X,attr,omitempty"`
  1110. // Indicates support for remote user configuration. Used when accessing another device.
  1111. RemoteUserHandling bool `xml:"http://www.onvif.org/ver10/device/wsdl RemoteUserHandling,attr,omitempty"`
  1112. // Indicates support for WS-Security X.509 token.
  1113. X_509Token bool `xml:"X.509Token,attr,omitempty"`
  1114. // Indicates support for WS-Security SAML token.
  1115. SAMLToken bool `xml:"http://www.onvif.org/ver10/device/wsdl SAMLToken,attr,omitempty"`
  1116. // Indicates support for WS-Security Kerberos token.
  1117. KerberosToken bool `xml:"http://www.onvif.org/ver10/device/wsdl KerberosToken,attr,omitempty"`
  1118. // Indicates support for WS-Security Username token.
  1119. UsernameToken bool `xml:"http://www.onvif.org/ver10/device/wsdl UsernameToken,attr,omitempty"`
  1120. // Indicates support for WS over HTTP digest authenticated communication layer.
  1121. HttpDigest bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpDigest,attr,omitempty"`
  1122. // Indicates support for WS-Security REL token.
  1123. RELToken bool `xml:"http://www.onvif.org/ver10/device/wsdl RELToken,attr,omitempty"`
  1124. // EAP Methods supported by the device. The int values refer to the .
  1125. SupportedEAPMethods EAPMethodTypes `xml:"http://www.onvif.org/ver10/device/wsdl SupportedEAPMethods,attr,omitempty"`
  1126. // The maximum number of users that the device supports.
  1127. MaxUsers int32 `xml:"http://www.onvif.org/ver10/schema MaxUsers,attr,omitempty"`
  1128. // Maximum number of characters supported for the username by CreateUsers.
  1129. MaxUserNameLength int32 `xml:"http://www.onvif.org/ver10/schema MaxUserNameLength,attr,omitempty"`
  1130. // Maximum number of characters supported for the password by CreateUsers and SetUser.
  1131. MaxPasswordLength int32 `xml:"http://www.onvif.org/ver10/schema MaxPasswordLength,attr,omitempty"`
  1132. }
  1133. // SystemCapabilities type
  1134. type SystemCapabilities struct {
  1135. // Indicates support for WS Discovery resolve requests.
  1136. DiscoveryResolve bool `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryResolve,attr,omitempty"`
  1137. // Indicates support for WS-Discovery Bye.
  1138. DiscoveryBye bool `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryBye,attr,omitempty"`
  1139. // Indicates support for remote discovery.
  1140. RemoteDiscovery bool `xml:"http://www.onvif.org/ver10/device/wsdl RemoteDiscovery,attr,omitempty"`
  1141. // Indicates support for system backup through MTOM.
  1142. SystemBackup bool `xml:"http://www.onvif.org/ver10/device/wsdl SystemBackup,attr,omitempty"`
  1143. // Indicates support for retrieval of system logging through MTOM.
  1144. SystemLogging bool `xml:"http://www.onvif.org/ver10/device/wsdl SystemLogging,attr,omitempty"`
  1145. // Indicates support for firmware upgrade through MTOM.
  1146. FirmwareUpgrade bool `xml:"http://www.onvif.org/ver10/device/wsdl FirmwareUpgrade,attr,omitempty"`
  1147. // Indicates support for firmware upgrade through HTTP.
  1148. HttpFirmwareUpgrade bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpFirmwareUpgrade,attr,omitempty"`
  1149. // Indicates support for system backup through HTTP.
  1150. HttpSystemBackup bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemBackup,attr,omitempty"`
  1151. // Indicates support for retrieval of system logging through HTTP.
  1152. HttpSystemLogging bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemLogging,attr,omitempty"`
  1153. // Indicates support for retrieving support information through HTTP.
  1154. HttpSupportInformation bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSupportInformation,attr,omitempty"`
  1155. // Indicates support for storage configuration interfaces.
  1156. StorageConfiguration bool `xml:"http://www.onvif.org/ver10/device/wsdl StorageConfiguration,attr,omitempty"`
  1157. // Indicates maximum number of storage configurations supported.
  1158. MaxStorageConfigurations int32 `xml:"http://www.onvif.org/ver10/schema MaxStorageConfigurations,attr,omitempty"`
  1159. // If present signals support for geo location. The value signals the supported number of entries.
  1160. GeoLocationEntries int32 `xml:"http://www.onvif.org/ver10/schema GeoLocationEntries,attr,omitempty"`
  1161. // List of supported automatic GeoLocation adjustment supported by the device. Valid items are defined by tds:AutoGeoMode.
  1162. AutoGeo StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AutoGeo,attr,omitempty"`
  1163. // Enumerates the supported StorageTypes, see tds:StorageType.
  1164. StorageTypesSupported StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl StorageTypesSupported,attr,omitempty"`
  1165. }
  1166. // MiscCapabilities type
  1167. type MiscCapabilities struct {
  1168. // Lists of commands supported by SendAuxiliaryCommand.
  1169. AuxiliaryCommands StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AuxiliaryCommands,attr,omitempty"`
  1170. }
  1171. // UserCredential type
  1172. type UserCredential struct {
  1173. // User name
  1174. UserName string `xml:"http://www.onvif.org/ver10/device/wsdl UserName,omitempty"`
  1175. // optional password
  1176. Password string `xml:"http://www.onvif.org/ver10/device/wsdl Password,omitempty"`
  1177. Extension struct {
  1178. } `xml:"Extension,omitempty"`
  1179. }
  1180. // StorageConfigurationData type
  1181. type StorageConfigurationData struct {
  1182. // local path
  1183. LocalPath AnyURI `xml:"http://www.onvif.org/ver10/schema LocalPath,omitempty"`
  1184. // Storage server address
  1185. StorageUri AnyURI `xml:"http://www.onvif.org/ver10/schema StorageUri,omitempty"`
  1186. // User credential for the storage server
  1187. User UserCredential `xml:"http://www.onvif.org/ver10/device/wsdl User,omitempty"`
  1188. Extension struct {
  1189. } `xml:"Extension,omitempty"`
  1190. // StorageType lists the acceptable values for type attribute
  1191. Type string `xml:"type,attr,omitempty"`
  1192. }
  1193. // StorageConfiguration type
  1194. type StorageConfiguration struct {
  1195. *DeviceEntity
  1196. Data StorageConfigurationData `xml:"http://www.onvif.org/ver10/device/wsdl Data,omitempty"`
  1197. }
  1198. // FaultcodeEnum type
  1199. type FaultcodeEnum QName
  1200. const (
  1201. // FaultcodeEnumTnsDataEncodingUnknown const
  1202. FaultcodeEnumTnsDataEncodingUnknown FaultcodeEnum = "tns:DataEncodingUnknown"
  1203. // FaultcodeEnumTnsMustUnderstand const
  1204. FaultcodeEnumTnsMustUnderstand FaultcodeEnum = "tns:MustUnderstand"
  1205. // FaultcodeEnumTnsReceiver const
  1206. FaultcodeEnumTnsReceiver FaultcodeEnum = "tns:Receiver"
  1207. // FaultcodeEnumTnsSender const
  1208. FaultcodeEnumTnsSender FaultcodeEnum = "tns:Sender"
  1209. // FaultcodeEnumTnsVersionMismatch const
  1210. FaultcodeEnumTnsVersionMismatch FaultcodeEnum = "tns:VersionMismatch"
  1211. )
  1212. // NotUnderstood type
  1213. type NotUnderstood NotUnderstoodType
  1214. // Upgrade type
  1215. type Upgrade UpgradeType
  1216. // Envelope type
  1217. type Envelope struct {
  1218. Header Header `xml:"Header,omitempty"`
  1219. Body Body `xml:"Body,omitempty"`
  1220. }
  1221. // Header type
  1222. type Header struct {
  1223. }
  1224. // Body type
  1225. type Body struct {
  1226. }
  1227. // Fault type
  1228. type Fault struct {
  1229. Code Faultcode `xml:"Code,omitempty"`
  1230. Reason Faultreason `xml:"Reason,omitempty"`
  1231. Node AnyURI `xml:"http://www.onvif.org/ver10/schema Node,omitempty"`
  1232. Role AnyURI `xml:"http://www.onvif.org/ver10/schema Role,omitempty"`
  1233. Detail Detail `xml:"Detail,omitempty"`
  1234. }
  1235. // Faultreason type
  1236. type Faultreason struct {
  1237. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultreason"`
  1238. Text []Reasontext `xml:"Text,omitempty"`
  1239. }
  1240. // Reasontext type
  1241. type Reasontext struct {
  1242. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope reasontext"`
  1243. Value string
  1244. string `xml:",attr,omitempty"`
  1245. }
  1246. // Faultcode type
  1247. type Faultcode struct {
  1248. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultcode"`
  1249. Value FaultcodeEnum `xml:"Value,omitempty"`
  1250. Subcode *Subcode `xml:"Subcode,omitempty"`
  1251. }
  1252. // Subcode type
  1253. type Subcode struct {
  1254. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope subcode"`
  1255. Value QName `xml:"http://www.onvif.org/ver10/schema Value,omitempty"`
  1256. Subcode *Subcode `xml:"Subcode,omitempty"`
  1257. }
  1258. // Detail type
  1259. type Detail struct {
  1260. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope detail"`
  1261. }
  1262. // NotUnderstoodType type
  1263. type NotUnderstoodType struct {
  1264. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope NotUnderstood"`
  1265. Qname QName `xml:"qname,attr,omitempty"`
  1266. }
  1267. // SupportedEnvType type
  1268. type SupportedEnvType struct {
  1269. Qname QName `xml:"qname,attr,omitempty"`
  1270. }
  1271. // UpgradeType type
  1272. type UpgradeType struct {
  1273. XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope Upgrade"`
  1274. SupportedEnvelope []SupportedEnvType `xml:"SupportedEnvelope,omitempty"`
  1275. }
  1276. // RelationshipTypeOpenEnum type
  1277. type RelationshipTypeOpenEnum string
  1278. // RelationshipType type
  1279. type RelationshipType AnyURI
  1280. const (
  1281. // RelationshipTypeHttpwwww3org200508addressingreply const
  1282. RelationshipTypeHttpwwww3org200508addressingreply RelationshipType = "http://www.w3.org/2005/08/addressing/reply"
  1283. )
  1284. // FaultCodesType type
  1285. type FaultCodesType QName
  1286. const (
  1287. // FaultCodesTypeTnsInvalidAddressingHeader const
  1288. FaultCodesTypeTnsInvalidAddressingHeader FaultCodesType = "tns:InvalidAddressingHeader"
  1289. // FaultCodesTypeTnsInvalidAddress const
  1290. FaultCodesTypeTnsInvalidAddress FaultCodesType = "tns:InvalidAddress"
  1291. // FaultCodesTypeTnsInvalidEPR const
  1292. FaultCodesTypeTnsInvalidEPR FaultCodesType = "tns:InvalidEPR"
  1293. // FaultCodesTypeTnsInvalidCardinality const
  1294. FaultCodesTypeTnsInvalidCardinality FaultCodesType = "tns:InvalidCardinality"
  1295. // FaultCodesTypeTnsMissingAddressInEPR const
  1296. FaultCodesTypeTnsMissingAddressInEPR FaultCodesType = "tns:MissingAddressInEPR"
  1297. // FaultCodesTypeTnsDuplicateMessageID const
  1298. FaultCodesTypeTnsDuplicateMessageID FaultCodesType = "tns:DuplicateMessageID"
  1299. // FaultCodesTypeTnsActionMismatch const
  1300. FaultCodesTypeTnsActionMismatch FaultCodesType = "tns:ActionMismatch"
  1301. // FaultCodesTypeTnsMessageAddressingHeaderRequired const
  1302. FaultCodesTypeTnsMessageAddressingHeaderRequired FaultCodesType = "tns:MessageAddressingHeaderRequired"
  1303. // FaultCodesTypeTnsDestinationUnreachable const
  1304. FaultCodesTypeTnsDestinationUnreachable FaultCodesType = "tns:DestinationUnreachable"
  1305. // FaultCodesTypeTnsActionNotSupported const
  1306. FaultCodesTypeTnsActionNotSupported FaultCodesType = "tns:ActionNotSupported"
  1307. // FaultCodesTypeTnsEndpointUnavailable const
  1308. FaultCodesTypeTnsEndpointUnavailable FaultCodesType = "tns:EndpointUnavailable"
  1309. )
  1310. // EndpointReference type
  1311. type EndpointReference EndpointReferenceType
  1312. // Metadata type
  1313. type Metadata MetadataType
  1314. // RelatesTo type
  1315. type RelatesTo RelatesToType
  1316. // To type
  1317. type To AttributedURIType
  1318. // Action type
  1319. type Action AttributedURIType
  1320. // ProblemAction type
  1321. type ProblemAction ProblemActionType
  1322. // EndpointReferenceType type
  1323. type EndpointReferenceType struct {
  1324. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing EndpointReference"`
  1325. Address AttributedURIType `xml:"Address,omitempty"`
  1326. ReferenceParameters ReferenceParametersType `xml:"ReferenceParameters,omitempty"`
  1327. Metadata Metadata `xml:"Metadata,omitempty"`
  1328. }
  1329. // ReferenceParametersType type
  1330. type ReferenceParametersType struct {
  1331. }
  1332. // MetadataType type
  1333. type MetadataType struct {
  1334. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing Metadata"`
  1335. }
  1336. // RelatesToType type
  1337. type RelatesToType struct {
  1338. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing RelatesTo"`
  1339. Value AnyURI
  1340. RelationshipType RelationshipTypeOpenEnum `xml:"RelationshipType,attr,omitempty"`
  1341. }
  1342. // AttributedURIType type
  1343. type AttributedURIType struct {
  1344. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing MessageID"`
  1345. Value AnyURI
  1346. }
  1347. // ProblemActionType type
  1348. type ProblemActionType struct {
  1349. XMLName xml.Name `xml:"http://www.w3.org/2005/08/addressing ProblemAction"`
  1350. Action Action `xml:"Action,omitempty"`
  1351. SoapAction AnyURI `xml:"http://www.onvif.org/ver10/schema SoapAction,omitempty"`
  1352. }
  1353. // BaseFault type
  1354. type BaseFault BaseFaultType
  1355. // BaseFaultType type
  1356. type BaseFaultType struct {
  1357. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsrf/bf-2 BaseFault"`
  1358. Timestamp string `xml:"http://www.onvif.org/ver10/schema Timestamp,omitempty"`
  1359. Originator EndpointReferenceType `xml:"Originator,omitempty"`
  1360. ErrorCode struct {
  1361. Dialect AnyURI `xml:"dialect,attr,omitempty"`
  1362. } `xml:"ErrorCode,omitempty"`
  1363. Description []struct {
  1364. Value string
  1365. string `xml:",attr,omitempty"`
  1366. } `xml:"Description,omitempty"`
  1367. FaultCause struct {
  1368. } `xml:"FaultCause,omitempty"`
  1369. }
  1370. // ConcreteTopicExpression type
  1371. type ConcreteTopicExpression string
  1372. // SimpleTopicExpression type
  1373. type SimpleTopicExpression QName
  1374. // TopicNamespace type
  1375. type TopicNamespace TopicNamespaceType
  1376. // TopicSet type
  1377. type TopicSet TopicSetType
  1378. // Documentation type
  1379. type Documentation struct {
  1380. }
  1381. // ExtensibleDocumented type
  1382. type ExtensibleDocumented struct {
  1383. Documentation Documentation `xml:"documentation,omitempty"`
  1384. }
  1385. // QueryExpressionType type
  1386. type QueryExpressionType struct {
  1387. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 ProducerProperties"`
  1388. Dialect AnyURI `xml:"http://www.onvif.org/ver10/schema Dialect,attr,omitempty"`
  1389. }
  1390. // TopicNamespaceType type
  1391. type TopicNamespaceType struct {
  1392. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 TopicNamespace"`
  1393. *ExtensibleDocumented
  1394. Topic []struct {
  1395. *TopicType
  1396. Parent ConcreteTopicExpression `xml:"parent,attr,omitempty"`
  1397. } `xml:"Topic,omitempty"`
  1398. Name NCName `xml:"name,attr,omitempty"`
  1399. TargetNamespace AnyURI `xml:"targetNamespace,attr,omitempty"`
  1400. Final bool `xml:"final,attr,omitempty"`
  1401. }
  1402. // TopicType type
  1403. type TopicType struct {
  1404. *ExtensibleDocumented
  1405. MessagePattern QueryExpressionType `xml:"MessagePattern,omitempty"`
  1406. Topic []TopicType `xml:"Topic,omitempty"`
  1407. Name NCName `xml:"name,attr,omitempty"`
  1408. MessageTypes string `xml:"messageTypes,attr,omitempty"`
  1409. Final bool `xml:"final,attr,omitempty"`
  1410. }
  1411. // TopicSetType type
  1412. type TopicSetType struct {
  1413. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/t-1 TopicSet"`
  1414. *ExtensibleDocumented
  1415. }
  1416. // AbsoluteOrRelativeTimeType type
  1417. type AbsoluteOrRelativeTimeType string
  1418. // TopicExpression type
  1419. type TopicExpression TopicExpressionType
  1420. // FixedTopicSet type
  1421. type FixedTopicSet bool
  1422. // TopicExpressionDialect type
  1423. type TopicExpressionDialect AnyURI
  1424. // ConsumerReference type
  1425. type ConsumerReference EndpointReferenceType
  1426. // Filter type
  1427. type Filter FilterType
  1428. // SubscriptionPolicy type
  1429. type SubscriptionPolicy SubscriptionPolicyType
  1430. // CreationTime type
  1431. type CreationTime time.Time
  1432. // SubscriptionReference type
  1433. type SubscriptionReference EndpointReferenceType
  1434. // Topic type
  1435. type Topic TopicExpressionType
  1436. // ProducerReference type
  1437. type ProducerReference EndpointReferenceType
  1438. // NotificationMessage type
  1439. type NotificationMessage NotificationMessageHolderType
  1440. // Notify type
  1441. type Notify struct {
  1442. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Notify"`
  1443. NotificationMessage []NotificationMessage `xml:"NotificationMessage,omitempty"`
  1444. }
  1445. // CurrentTime type
  1446. type CurrentTime time.Time
  1447. // TerminationTime type
  1448. type TerminationTime time.Time
  1449. // Subscribe type
  1450. type Subscribe struct {
  1451. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Subscribe"`
  1452. ConsumerReference EndpointReferenceType `xml:"ConsumerReference,omitempty"`
  1453. Filter FilterType `xml:"Filter,omitempty"`
  1454. InitialTerminationTime AbsoluteOrRelativeTimeType `xml:"InitialTerminationTime,omitempty"`
  1455. SubscriptionPolicy struct {
  1456. } `xml:"SubscriptionPolicy,omitempty"`
  1457. }
  1458. // SubscribeCreationFailedFault type
  1459. type SubscribeCreationFailedFault SubscribeCreationFailedFaultType
  1460. // InvalidFilterFault type
  1461. type InvalidFilterFault InvalidFilterFaultType
  1462. // TopicExpressionDialectUnknownFault type
  1463. type TopicExpressionDialectUnknownFault TopicExpressionDialectUnknownFaultType
  1464. // InvalidTopicExpressionFault type
  1465. type InvalidTopicExpressionFault InvalidTopicExpressionFaultType
  1466. // TopicNotSupportedFault type
  1467. type TopicNotSupportedFault TopicNotSupportedFaultType
  1468. // MultipleTopicsSpecifiedFault type
  1469. type MultipleTopicsSpecifiedFault MultipleTopicsSpecifiedFaultType
  1470. // InvalidProducerPropertiesExpressionFault type
  1471. type InvalidProducerPropertiesExpressionFault InvalidProducerPropertiesExpressionFaultType
  1472. // InvalidMessageContentExpressionFault type
  1473. type InvalidMessageContentExpressionFault InvalidMessageContentExpressionFaultType
  1474. // UnrecognizedPolicyRequestFault type
  1475. type UnrecognizedPolicyRequestFault UnrecognizedPolicyRequestFaultType
  1476. // UnsupportedPolicyRequestFault type
  1477. type UnsupportedPolicyRequestFault UnsupportedPolicyRequestFaultType
  1478. // NotifyMessageNotSupportedFault type
  1479. type NotifyMessageNotSupportedFault NotifyMessageNotSupportedFaultType
  1480. // UnacceptableInitialTerminationTimeFault type
  1481. type UnacceptableInitialTerminationTimeFault UnacceptableInitialTerminationTimeFaultType
  1482. // NoCurrentMessageOnTopicFault type
  1483. type NoCurrentMessageOnTopicFault NoCurrentMessageOnTopicFaultType
  1484. // UnableToGetMessagesFault type
  1485. type UnableToGetMessagesFault UnableToGetMessagesFaultType
  1486. // UnableToDestroyPullPointFault type
  1487. type UnableToDestroyPullPointFault UnableToDestroyPullPointFaultType
  1488. // UnableToCreatePullPointFault type
  1489. type UnableToCreatePullPointFault UnableToCreatePullPointFaultType
  1490. // UnacceptableTerminationTimeFault type
  1491. type UnacceptableTerminationTimeFault UnacceptableTerminationTimeFaultType
  1492. // UnableToDestroySubscriptionFault type
  1493. type UnableToDestroySubscriptionFault UnableToDestroySubscriptionFaultType
  1494. // PauseFailedFault type
  1495. type PauseFailedFault PauseFailedFaultType
  1496. // ResumeFailedFault type
  1497. type ResumeFailedFault ResumeFailedFaultType
  1498. // Removed QueryExpressionType
  1499. // TopicExpressionType type
  1500. type TopicExpressionType struct {
  1501. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicExpression"`
  1502. Dialect AnyURI `xml:"http://www.onvif.org/ver10/schema Dialect,attr,omitempty"`
  1503. }
  1504. // FilterType type
  1505. type FilterType struct {
  1506. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 Filter"`
  1507. }
  1508. // SubscriptionPolicyType type
  1509. type SubscriptionPolicyType struct {
  1510. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 SubscriptionPolicy"`
  1511. }
  1512. // NotificationMessageHolderType type
  1513. type NotificationMessageHolderType struct {
  1514. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NotificationMessage"`
  1515. SubscriptionReference SubscriptionReference `xml:"SubscriptionReference,omitempty"`
  1516. Topic Topic `xml:"Topic,omitempty"`
  1517. ProducerReference ProducerReference `xml:"ProducerReference,omitempty"`
  1518. Message struct {
  1519. } `xml:"Message,omitempty"`
  1520. }
  1521. // SubscribeCreationFailedFaultType type
  1522. type SubscribeCreationFailedFaultType struct {
  1523. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 SubscribeCreationFailedFault"`
  1524. *BaseFaultType
  1525. }
  1526. // InvalidFilterFaultType type
  1527. type InvalidFilterFaultType struct {
  1528. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidFilterFault"`
  1529. *BaseFaultType
  1530. UnknownFilter []QName `xml:"http://www.onvif.org/ver10/schema UnknownFilter,omitempty"`
  1531. }
  1532. // TopicExpressionDialectUnknownFaultType type
  1533. type TopicExpressionDialectUnknownFaultType struct {
  1534. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicExpressionDialectUnknownFault"`
  1535. *BaseFaultType
  1536. }
  1537. // InvalidTopicExpressionFaultType type
  1538. type InvalidTopicExpressionFaultType struct {
  1539. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidTopicExpressionFault"`
  1540. *BaseFaultType
  1541. }
  1542. // TopicNotSupportedFaultType type
  1543. type TopicNotSupportedFaultType struct {
  1544. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 TopicNotSupportedFault"`
  1545. *BaseFaultType
  1546. }
  1547. // MultipleTopicsSpecifiedFaultType type
  1548. type MultipleTopicsSpecifiedFaultType struct {
  1549. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 MultipleTopicsSpecifiedFault"`
  1550. *BaseFaultType
  1551. }
  1552. // InvalidProducerPropertiesExpressionFaultType type
  1553. type InvalidProducerPropertiesExpressionFaultType struct {
  1554. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidProducerPropertiesExpressionFault"`
  1555. *BaseFaultType
  1556. }
  1557. // InvalidMessageContentExpressionFaultType type
  1558. type InvalidMessageContentExpressionFaultType struct {
  1559. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 InvalidMessageContentExpressionFault"`
  1560. *BaseFaultType
  1561. }
  1562. // UnrecognizedPolicyRequestFaultType type
  1563. type UnrecognizedPolicyRequestFaultType struct {
  1564. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnrecognizedPolicyRequestFault"`
  1565. *BaseFaultType
  1566. UnrecognizedPolicy []QName `xml:"http://www.onvif.org/ver10/schema UnrecognizedPolicy,omitempty"`
  1567. }
  1568. // UnsupportedPolicyRequestFaultType type
  1569. type UnsupportedPolicyRequestFaultType struct {
  1570. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnsupportedPolicyRequestFault"`
  1571. *BaseFaultType
  1572. UnsupportedPolicy []QName `xml:"http://www.onvif.org/ver10/schema UnsupportedPolicy,omitempty"`
  1573. }
  1574. // NotifyMessageNotSupportedFaultType type
  1575. type NotifyMessageNotSupportedFaultType struct {
  1576. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NotifyMessageNotSupportedFault"`
  1577. *BaseFaultType
  1578. }
  1579. // UnacceptableInitialTerminationTimeFaultType type
  1580. type UnacceptableInitialTerminationTimeFaultType struct {
  1581. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnacceptableInitialTerminationTimeFault"`
  1582. *BaseFaultType
  1583. MinimumTime string `xml:"http://www.onvif.org/ver10/schema MinimumTime,omitempty"`
  1584. MaximumTime string `xml:"http://www.onvif.org/ver10/schema MaximumTime,omitempty"`
  1585. }
  1586. // NoCurrentMessageOnTopicFaultType type
  1587. type NoCurrentMessageOnTopicFaultType struct {
  1588. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 NoCurrentMessageOnTopicFault"`
  1589. *BaseFaultType
  1590. }
  1591. // UnableToGetMessagesFaultType type
  1592. type UnableToGetMessagesFaultType struct {
  1593. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToGetMessagesFault"`
  1594. *BaseFaultType
  1595. }
  1596. // UnableToDestroyPullPointFaultType type
  1597. type UnableToDestroyPullPointFaultType struct {
  1598. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToDestroyPullPointFault"`
  1599. *BaseFaultType
  1600. }
  1601. // UnableToCreatePullPointFaultType type
  1602. type UnableToCreatePullPointFaultType struct {
  1603. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToCreatePullPointFault"`
  1604. *BaseFaultType
  1605. }
  1606. // UnacceptableTerminationTimeFaultType type
  1607. type UnacceptableTerminationTimeFaultType struct {
  1608. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnacceptableTerminationTimeFault"`
  1609. *BaseFaultType
  1610. MinimumTime string `xml:"http://www.onvif.org/ver10/schema MinimumTime,omitempty"`
  1611. MaximumTime string `xml:"http://www.onvif.org/ver10/schema MaximumTime,omitempty"`
  1612. }
  1613. // UnableToDestroySubscriptionFaultType type
  1614. type UnableToDestroySubscriptionFaultType struct {
  1615. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 UnableToDestroySubscriptionFault"`
  1616. *BaseFaultType
  1617. }
  1618. // PauseFailedFaultType type
  1619. type PauseFailedFaultType struct {
  1620. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 PauseFailedFault"`
  1621. *BaseFaultType
  1622. }
  1623. // ResumeFailedFaultType type
  1624. type ResumeFailedFaultType struct {
  1625. XMLName xml.Name `xml:"http://docs.oasis-open.org/wsn/b-2 ResumeFailedFault"`
  1626. *BaseFaultType
  1627. }
  1628. // Include type
  1629. type Include struct {
  1630. Href AnyURI `xml:"href,attr,omitempty"`
  1631. }
  1632. // Unique identifier for a physical or logical resource.
  1633. // Tokens should be assigned such that they are unique within a device. Tokens must be at least unique within its class.
  1634. // Length up to 64 characters.
  1635. // ReferenceToken type
  1636. type ReferenceToken string
  1637. // MoveStatus type
  1638. type MoveStatus string
  1639. const (
  1640. // MoveStatusIDLE const
  1641. MoveStatusIDLE MoveStatus = "IDLE"
  1642. // MoveStatusMOVING const
  1643. MoveStatusMOVING MoveStatus = "MOVING"
  1644. // MoveStatusUNKNOWN const
  1645. MoveStatusUNKNOWN MoveStatus = "UNKNOWN"
  1646. )
  1647. // Entity type
  1648. type Entity string
  1649. const (
  1650. // EntityDevice const
  1651. EntityDevice Entity = "Device"
  1652. // EntityVideoSource const
  1653. EntityVideoSource Entity = "VideoSource"
  1654. // EntityAudioSource const
  1655. EntityAudioSource Entity = "AudioSource"
  1656. )
  1657. // IntRange type
  1658. type IntRange struct {
  1659. Min int32 `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  1660. Max int32 `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  1661. }
  1662. // Vector2D type
  1663. type Vector2D struct {
  1664. X float32 `xml:"x,attr,omitempty"`
  1665. Y float32 `xml:"y,attr,omitempty"`
  1666. //
  1667. // Pan/tilt coordinate space selector. The following options are defined:
  1668. //
  1669. Space AnyURI `xml:"space,attr,omitempty"`
  1670. }
  1671. // Vector1D type
  1672. type Vector1D struct {
  1673. X float32 `xml:"x,attr,omitempty"`
  1674. //
  1675. // Zoom coordinate space selector. The following options are defined:
  1676. //
  1677. Space AnyURI `xml:"space,attr,omitempty"`
  1678. }
  1679. // PTZVector type
  1680. type PTZVector struct {
  1681. // Pan and tilt position. The x component corresponds to pan and the y component to tilt.
  1682. PanTilt Vector2D `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  1683. //
  1684. // A zoom position.
  1685. //
  1686. Zoom Vector1D `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  1687. }
  1688. // PTZStatus type
  1689. type PTZStatus struct {
  1690. //
  1691. // 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.
  1692. //
  1693. Position PTZVector `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  1694. //
  1695. // Indicates if the Pan/Tilt/Zoom device unit is currently moving, idle or in an unknown state.
  1696. //
  1697. MoveStatus PTZMoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  1698. //
  1699. // States a current PTZ error.
  1700. //
  1701. Error string `xml:"http://www.onvif.org/ver10/device/wsdl Error,omitempty"`
  1702. //
  1703. // Specifies the UTC time when this status was generated.
  1704. //
  1705. UtcTime string `xml:"http://www.onvif.org/ver10/schema UtcTime,omitempty"`
  1706. }
  1707. // PTZMoveStatus type
  1708. type PTZMoveStatus struct {
  1709. PanTilt MoveStatus `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  1710. Zoom MoveStatus `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  1711. }
  1712. // Vector type
  1713. type Vector struct {
  1714. X float32 `xml:"x,attr,omitempty"`
  1715. Y float32 `xml:"y,attr,omitempty"`
  1716. }
  1717. // Rectangle type
  1718. type Rectangle struct {
  1719. Bottom float32 `xml:"bottom,attr,omitempty"`
  1720. Top float32 `xml:"top,attr,omitempty"`
  1721. Right float32 `xml:"right,attr,omitempty"`
  1722. Left float32 `xml:"left,attr,omitempty"`
  1723. }
  1724. // Polygon type
  1725. type Polygon struct {
  1726. Point []Vector `xml:"http://www.onvif.org/ver10/schema Point,omitempty"`
  1727. }
  1728. // Color type
  1729. type Color struct {
  1730. X float32 `xml:"http://www.onvif.org/ver10/schema X,attr,omitempty"`
  1731. Y float32 `xml:"http://www.onvif.org/ver10/schema Y,attr,omitempty"`
  1732. Z float32 `xml:"http://www.onvif.org/ver10/schema Z,attr,omitempty"`
  1733. //
  1734. // Acceptable values:
  1735. //
  1736. // If the Colorspace attribute is absent, YCbCr is implied.
  1737. //
  1738. // Deprecated values:
  1739. //
  1740. //
  1741. Colorspace AnyURI `xml:"http://www.onvif.org/ver10/schema Colorspace,attr,omitempty"`
  1742. }
  1743. // Transformation type
  1744. type Transformation struct {
  1745. Translate Vector `xml:"http://www.onvif.org/ver10/schema Translate,omitempty"`
  1746. Scale Vector `xml:"http://www.onvif.org/ver10/schema Scale,omitempty"`
  1747. Extension TransformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  1748. }
  1749. // TransformationExtension type
  1750. type TransformationExtension struct {
  1751. }
  1752. // GeoLocation type
  1753. type GeoLocation struct {
  1754. // East west location as angle.
  1755. Lon float64 `xml:"lon,attr,omitempty"`
  1756. // North south location as angle.
  1757. Lat float64 `xml:"lat,attr,omitempty"`
  1758. // Hight in meters above sea level.
  1759. Elevation float32 `xml:"elevation,attr,omitempty"`
  1760. }
  1761. // GeoOrientation type
  1762. type GeoOrientation struct {
  1763. // Rotation around the x axis.
  1764. Roll float32 `xml:"roll,attr,omitempty"`
  1765. // Rotation around the y axis.
  1766. Pitch float32 `xml:"pitch,attr,omitempty"`
  1767. // Rotation around the z axis.
  1768. Yaw float32 `xml:"yaw,attr,omitempty"`
  1769. }
  1770. // LocalLocation type
  1771. type LocalLocation struct {
  1772. // East west location as angle.
  1773. X float32 `xml:"x,attr,omitempty"`
  1774. // North south location as angle.
  1775. Y float32 `xml:"y,attr,omitempty"`
  1776. // Offset in meters from the sea level.
  1777. Z float32 `xml:"z,attr,omitempty"`
  1778. }
  1779. // LocalOrientation type
  1780. type LocalOrientation struct {
  1781. // Rotation around the y axis.
  1782. Pan float32 `xml:"pan,attr,omitempty"`
  1783. // Rotation around the z axis.
  1784. Tilt float32 `xml:"http://www.onvif.org/ver10/schema tilt,attr,omitempty"`
  1785. // Rotation around the x axis.
  1786. Roll float32 `xml:"roll,attr,omitempty"`
  1787. }
  1788. // LocationEntity type
  1789. type LocationEntity struct {
  1790. // Location on earth.
  1791. GeoLocation GeoLocation `xml:"http://www.onvif.org/ver10/schema GeoLocation,omitempty"`
  1792. // Orientation relative to earth.
  1793. GeoOrientation GeoOrientation `xml:"http://www.onvif.org/ver10/schema GeoOrientation,omitempty"`
  1794. // Indoor location offset.
  1795. LocalLocation LocalLocation `xml:"http://www.onvif.org/ver10/schema LocalLocation,omitempty"`
  1796. // Indoor orientation offset.
  1797. LocalOrientation LocalOrientation `xml:"http://www.onvif.org/ver10/schema LocalOrientation,omitempty"`
  1798. // Entity type the entry refers to, use a value from the tt:Entity enumeration.
  1799. Entity string `xml:"http://www.onvif.org/ver10/device/wsdl Entity,attr,omitempty"`
  1800. // Optional entity token.
  1801. Token ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,attr,omitempty"`
  1802. // If this value is true the entity cannot be deleted.
  1803. Fixed bool `xml:"http://www.onvif.org/ver10/device/wsdl Fixed,attr,omitempty"`
  1804. // Optional reference to the XAddr of another devices DeviceManagement service.
  1805. GeoSource AnyURI `xml:"http://www.onvif.org/ver10/schema GeoSource,attr,omitempty"`
  1806. // If set the geo location is obtained internally.
  1807. AutoGeo bool `xml:"http://www.onvif.org/ver10/device/wsdl AutoGeo,attr,omitempty"`
  1808. }
  1809. // User readable name. Length up to 64 characters.
  1810. // Name type
  1811. type Name string
  1812. // IntAttrList type
  1813. type IntAttrList []int32
  1814. // FloatAttrList type
  1815. type FloatAttrList []float32
  1816. // StringAttrList type
  1817. type StringAttrList []string
  1818. // ReferenceTokenList type
  1819. type ReferenceTokenList []ReferenceToken
  1820. // RotateMode type
  1821. type RotateMode string
  1822. const (
  1823. // Enable the Rotate feature. Degree of rotation is specified Degree parameter.
  1824. // RotateModeOFF const
  1825. RotateModeOFF RotateMode = "OFF"
  1826. // Disable the Rotate feature.
  1827. // RotateModeON const
  1828. RotateModeON RotateMode = "ON"
  1829. // Rotate feature is automatically activated by the device.
  1830. // RotateModeAUTO const
  1831. RotateModeAUTO RotateMode = "AUTO"
  1832. )
  1833. // SceneOrientationMode type
  1834. type SceneOrientationMode string
  1835. const (
  1836. // SceneOrientationModeMANUAL const
  1837. SceneOrientationModeMANUAL SceneOrientationMode = "MANUAL"
  1838. // SceneOrientationModeAUTO const
  1839. SceneOrientationModeAUTO SceneOrientationMode = "AUTO"
  1840. )
  1841. // SceneOrientationOption type
  1842. type SceneOrientationOption string
  1843. const (
  1844. // SceneOrientationOptionBelow const
  1845. SceneOrientationOptionBelow SceneOrientationOption = "Below"
  1846. // SceneOrientationOptionHorizon const
  1847. SceneOrientationOptionHorizon SceneOrientationOption = "Horizon"
  1848. // SceneOrientationOptionAbove const
  1849. SceneOrientationOptionAbove SceneOrientationOption = "Above"
  1850. )
  1851. // Source view modes supported by device.
  1852. // ViewModes type
  1853. type ViewModes string
  1854. const (
  1855. // Undewarped viewmode from device supporting fisheye lens.
  1856. // ViewModesTtFisheye const
  1857. ViewModesTtFisheye ViewModes = "tt:Fisheye"
  1858. // 360 degree panoramic view.
  1859. // ViewModesTt360Panorama const
  1860. ViewModesTt360Panorama ViewModes = "tt:360Panorama"
  1861. // 180 degree panoramic view.
  1862. // ViewModesTt180Panorama const
  1863. ViewModesTt180Panorama ViewModes = "tt:180Panorama"
  1864. // View mode combining four streams in single Quad, eg., applicable for devices supporting four heads.
  1865. // ViewModesTtQuad const
  1866. ViewModesTtQuad ViewModes = "tt:Quad"
  1867. // Unaltered view from the sensor.
  1868. // ViewModesTtOriginal const
  1869. ViewModesTtOriginal ViewModes = "tt:Original"
  1870. // Viewmode combining the left side sensors, applicable for devices supporting multiple sensors.
  1871. // ViewModesTtLeftHalf const
  1872. ViewModesTtLeftHalf ViewModes = "tt:LeftHalf"
  1873. // Viewmode combining the right side sensors, applicable for devices supporting multiple sensors.
  1874. // ViewModesTtRightHalf const
  1875. ViewModesTtRightHalf ViewModes = "tt:RightHalf"
  1876. // Dewarped view mode for device supporting fisheye lens.
  1877. // ViewModesTtDewarp const
  1878. ViewModesTtDewarp ViewModes = "tt:Dewarp"
  1879. )
  1880. // VideoEncoding type
  1881. type VideoEncoding string
  1882. const (
  1883. // VideoEncodingJPEG const
  1884. VideoEncodingJPEG VideoEncoding = "JPEG"
  1885. // VideoEncodingMPEG4 const
  1886. VideoEncodingMPEG4 VideoEncoding = "MPEG4"
  1887. // VideoEncodingH264 const
  1888. VideoEncodingH264 VideoEncoding = "H264"
  1889. )
  1890. // Mpeg4Profile type
  1891. type Mpeg4Profile string
  1892. const (
  1893. // Mpeg4ProfileSP const
  1894. Mpeg4ProfileSP Mpeg4Profile = "SP"
  1895. // Mpeg4ProfileASP const
  1896. Mpeg4ProfileASP Mpeg4Profile = "ASP"
  1897. )
  1898. // H264Profile type
  1899. type H264Profile string
  1900. const (
  1901. // H264ProfileBaseline const
  1902. H264ProfileBaseline H264Profile = "Baseline"
  1903. // H264ProfileMain const
  1904. H264ProfileMain H264Profile = "Main"
  1905. // H264ProfileExtended const
  1906. H264ProfileExtended H264Profile = "Extended"
  1907. // H264ProfileHigh const
  1908. H264ProfileHigh H264Profile = "High"
  1909. )
  1910. // Video Media Subtypes as referenced by IANA (without the leading "video/" Video Media Type). See also .
  1911. // VideoEncodingMimeNames type
  1912. type VideoEncodingMimeNames string
  1913. const (
  1914. // VideoEncodingMimeNamesJPEG const
  1915. VideoEncodingMimeNamesJPEG VideoEncodingMimeNames = "JPEG"
  1916. // VideoEncodingMimeNamesMPV4ES const
  1917. VideoEncodingMimeNamesMPV4ES VideoEncodingMimeNames = "MPV4-ES"
  1918. // VideoEncodingMimeNamesH264 const
  1919. VideoEncodingMimeNamesH264 VideoEncodingMimeNames = "H264"
  1920. // VideoEncodingMimeNamesH265 const
  1921. VideoEncodingMimeNamesH265 VideoEncodingMimeNames = "H265"
  1922. )
  1923. // VideoEncodingProfiles type
  1924. type VideoEncodingProfiles string
  1925. const (
  1926. // VideoEncodingProfilesSimple const
  1927. VideoEncodingProfilesSimple VideoEncodingProfiles = "Simple"
  1928. // VideoEncodingProfilesAdvancedSimple const
  1929. VideoEncodingProfilesAdvancedSimple VideoEncodingProfiles = "AdvancedSimple"
  1930. // VideoEncodingProfilesBaseline const
  1931. VideoEncodingProfilesBaseline VideoEncodingProfiles = "Baseline"
  1932. // VideoEncodingProfilesMain const
  1933. VideoEncodingProfilesMain VideoEncodingProfiles = "Main"
  1934. // VideoEncodingProfilesMain10 const
  1935. VideoEncodingProfilesMain10 VideoEncodingProfiles = "Main10"
  1936. // VideoEncodingProfilesExtended const
  1937. VideoEncodingProfilesExtended VideoEncodingProfiles = "Extended"
  1938. // VideoEncodingProfilesHigh const
  1939. VideoEncodingProfilesHigh VideoEncodingProfiles = "High"
  1940. )
  1941. // AudioEncoding type
  1942. type AudioEncoding string
  1943. const (
  1944. // AudioEncodingG711 const
  1945. AudioEncodingG711 AudioEncoding = "G711"
  1946. // AudioEncodingG726 const
  1947. AudioEncodingG726 AudioEncoding = "G726"
  1948. // AudioEncodingAAC const
  1949. AudioEncodingAAC AudioEncoding = "AAC"
  1950. )
  1951. // Audio Media Subtypes as referenced by IANA (without the leading "audio/" Audio Media Type). See also .
  1952. // AudioEncodingMimeNames type
  1953. type AudioEncodingMimeNames string
  1954. const (
  1955. // AudioEncodingMimeNamesPCMU const
  1956. AudioEncodingMimeNamesPCMU AudioEncodingMimeNames = "PCMU"
  1957. // AudioEncodingMimeNamesG726 const
  1958. AudioEncodingMimeNamesG726 AudioEncodingMimeNames = "G726"
  1959. // AudioEncodingMimeNamesMP4ALATM const
  1960. AudioEncodingMimeNamesMP4ALATM AudioEncodingMimeNames = "MP4A-LATM"
  1961. // AudioEncodingMimeNamesMpeg4generic const
  1962. AudioEncodingMimeNamesMpeg4generic AudioEncodingMimeNames = "mpeg4-generic"
  1963. )
  1964. // MetadataCompressionType type
  1965. type MetadataCompressionType string
  1966. const (
  1967. // MetadataCompressionTypeNone const
  1968. MetadataCompressionTypeNone MetadataCompressionType = "None"
  1969. // MetadataCompressionTypeGZIP const
  1970. MetadataCompressionTypeGZIP MetadataCompressionType = "GZIP"
  1971. // MetadataCompressionTypeEXI const
  1972. MetadataCompressionTypeEXI MetadataCompressionType = "EXI"
  1973. )
  1974. // StreamType type
  1975. type StreamType string
  1976. const (
  1977. // StreamTypeRTPUnicast const
  1978. StreamTypeRTPUnicast StreamType = "RTP-Unicast"
  1979. // StreamTypeRTPMulticast const
  1980. StreamTypeRTPMulticast StreamType = "RTP-Multicast"
  1981. )
  1982. // TransportProtocol type
  1983. type TransportProtocol string
  1984. const (
  1985. // TransportProtocolUDP const
  1986. TransportProtocolUDP TransportProtocol = "UDP"
  1987. // This value is deprecated.
  1988. // TransportProtocolTCP const
  1989. TransportProtocolTCP TransportProtocol = "TCP"
  1990. // TransportProtocolRTSP const
  1991. TransportProtocolRTSP TransportProtocol = "RTSP"
  1992. // TransportProtocolHTTP const
  1993. TransportProtocolHTTP TransportProtocol = "HTTP"
  1994. )
  1995. // ScopeDefinition type
  1996. type ScopeDefinition string
  1997. const (
  1998. // ScopeDefinitionFixed const
  1999. ScopeDefinitionFixed ScopeDefinition = "Fixed"
  2000. // ScopeDefinitionConfigurable const
  2001. ScopeDefinitionConfigurable ScopeDefinition = "Configurable"
  2002. )
  2003. // DiscoveryMode type
  2004. type DiscoveryMode string
  2005. const (
  2006. // DiscoveryModeDiscoverable const
  2007. DiscoveryModeDiscoverable DiscoveryMode = "Discoverable"
  2008. // DiscoveryModeNonDiscoverable const
  2009. DiscoveryModeNonDiscoverable DiscoveryMode = "NonDiscoverable"
  2010. )
  2011. // NetworkInterfaceConfigPriority type
  2012. type NetworkInterfaceConfigPriority int32
  2013. // Duplex type
  2014. type Duplex string
  2015. const (
  2016. // DuplexFull const
  2017. DuplexFull Duplex = "Full"
  2018. // DuplexHalf const
  2019. DuplexHalf Duplex = "Half"
  2020. )
  2021. // IANAIfTypes type
  2022. type IANAIfTypes int32
  2023. // IPv6DHCPConfiguration type
  2024. type IPv6DHCPConfiguration string
  2025. const (
  2026. // IPv6DHCPConfigurationAuto const
  2027. IPv6DHCPConfigurationAuto IPv6DHCPConfiguration = "Auto"
  2028. // IPv6DHCPConfigurationStateful const
  2029. IPv6DHCPConfigurationStateful IPv6DHCPConfiguration = "Stateful"
  2030. // IPv6DHCPConfigurationStateless const
  2031. IPv6DHCPConfigurationStateless IPv6DHCPConfiguration = "Stateless"
  2032. // IPv6DHCPConfigurationOff const
  2033. IPv6DHCPConfigurationOff IPv6DHCPConfiguration = "Off"
  2034. )
  2035. // NetworkProtocolType type
  2036. type NetworkProtocolType string
  2037. const (
  2038. // NetworkProtocolTypeHTTP const
  2039. NetworkProtocolTypeHTTP NetworkProtocolType = "HTTP"
  2040. // NetworkProtocolTypeHTTPS const
  2041. NetworkProtocolTypeHTTPS NetworkProtocolType = "HTTPS"
  2042. // NetworkProtocolTypeRTSP const
  2043. NetworkProtocolTypeRTSP NetworkProtocolType = "RTSP"
  2044. )
  2045. // NetworkHostType type
  2046. type NetworkHostType string
  2047. const (
  2048. // NetworkHostTypeIPv4 const
  2049. NetworkHostTypeIPv4 NetworkHostType = "IPv4"
  2050. // NetworkHostTypeIPv6 const
  2051. NetworkHostTypeIPv6 NetworkHostType = "IPv6"
  2052. // NetworkHostTypeDNS const
  2053. NetworkHostTypeDNS NetworkHostType = "DNS"
  2054. )
  2055. // IPv4Address type
  2056. type IPv4Address string
  2057. // IPv6Address type
  2058. type IPv6Address string
  2059. // HwAddress type
  2060. type HwAddress string
  2061. // IPType type
  2062. type IPType string
  2063. const (
  2064. // IPTypeIPv4 const
  2065. IPTypeIPv4 IPType = "IPv4"
  2066. // IPTypeIPv6 const
  2067. IPTypeIPv6 IPType = "IPv6"
  2068. )
  2069. // DNSName type
  2070. type DNSName string
  2071. // IPAddressFilterType type
  2072. type IPAddressFilterType string
  2073. const (
  2074. // IPAddressFilterTypeAllow const
  2075. IPAddressFilterTypeAllow IPAddressFilterType = "Allow"
  2076. // IPAddressFilterTypeDeny const
  2077. IPAddressFilterTypeDeny IPAddressFilterType = "Deny"
  2078. )
  2079. // DynamicDNSType type
  2080. type DynamicDNSType string
  2081. const (
  2082. // DynamicDNSTypeNoUpdate const
  2083. DynamicDNSTypeNoUpdate DynamicDNSType = "NoUpdate"
  2084. // DynamicDNSTypeClientUpdates const
  2085. DynamicDNSTypeClientUpdates DynamicDNSType = "ClientUpdates"
  2086. // DynamicDNSTypeServerUpdates const
  2087. DynamicDNSTypeServerUpdates DynamicDNSType = "ServerUpdates"
  2088. )
  2089. // Dot11SSIDType type
  2090. type Dot11SSIDType []byte
  2091. // Dot11StationMode type
  2092. type Dot11StationMode string
  2093. const (
  2094. // Dot11StationModeAdhoc const
  2095. Dot11StationModeAdhoc Dot11StationMode = "Ad-hoc"
  2096. // Dot11StationModeInfrastructure const
  2097. Dot11StationModeInfrastructure Dot11StationMode = "Infrastructure"
  2098. // Dot11StationModeExtended const
  2099. Dot11StationModeExtended Dot11StationMode = "Extended"
  2100. )
  2101. // Dot11SecurityMode type
  2102. type Dot11SecurityMode string
  2103. const (
  2104. // Dot11SecurityModeNone const
  2105. Dot11SecurityModeNone Dot11SecurityMode = "None"
  2106. // Dot11SecurityModeWEP const
  2107. Dot11SecurityModeWEP Dot11SecurityMode = "WEP"
  2108. // Dot11SecurityModePSK const
  2109. Dot11SecurityModePSK Dot11SecurityMode = "PSK"
  2110. // Dot11SecurityModeDot1X const
  2111. Dot11SecurityModeDot1X Dot11SecurityMode = "Dot1X"
  2112. // Dot11SecurityModeExtended const
  2113. Dot11SecurityModeExtended Dot11SecurityMode = "Extended"
  2114. )
  2115. // Dot11Cipher type
  2116. type Dot11Cipher string
  2117. const (
  2118. // Dot11CipherCCMP const
  2119. Dot11CipherCCMP Dot11Cipher = "CCMP"
  2120. // Dot11CipherTKIP const
  2121. Dot11CipherTKIP Dot11Cipher = "TKIP"
  2122. // Dot11CipherAny const
  2123. Dot11CipherAny Dot11Cipher = "Any"
  2124. // Dot11CipherExtended const
  2125. Dot11CipherExtended Dot11Cipher = "Extended"
  2126. )
  2127. // Dot11PSK type
  2128. type Dot11PSK []byte
  2129. // Dot11PSKPassphrase type
  2130. type Dot11PSKPassphrase string
  2131. // Dot11SignalStrength type
  2132. type Dot11SignalStrength string
  2133. const (
  2134. // Dot11SignalStrengthNone const
  2135. Dot11SignalStrengthNone Dot11SignalStrength = "None"
  2136. // Dot11SignalStrengthVeryBad const
  2137. Dot11SignalStrengthVeryBad Dot11SignalStrength = "Very Bad"
  2138. // Dot11SignalStrengthBad const
  2139. Dot11SignalStrengthBad Dot11SignalStrength = "Bad"
  2140. // Dot11SignalStrengthGood const
  2141. Dot11SignalStrengthGood Dot11SignalStrength = "Good"
  2142. // Dot11SignalStrengthVeryGood const
  2143. Dot11SignalStrengthVeryGood Dot11SignalStrength = "Very Good"
  2144. // Dot11SignalStrengthExtended const
  2145. Dot11SignalStrengthExtended Dot11SignalStrength = "Extended"
  2146. )
  2147. // Dot11AuthAndMangementSuite type
  2148. type Dot11AuthAndMangementSuite string
  2149. const (
  2150. // Dot11AuthAndMangementSuiteNone const
  2151. Dot11AuthAndMangementSuiteNone Dot11AuthAndMangementSuite = "None"
  2152. // Dot11AuthAndMangementSuiteDot1X const
  2153. Dot11AuthAndMangementSuiteDot1X Dot11AuthAndMangementSuite = "Dot1X"
  2154. // Dot11AuthAndMangementSuitePSK const
  2155. Dot11AuthAndMangementSuitePSK Dot11AuthAndMangementSuite = "PSK"
  2156. // Dot11AuthAndMangementSuiteExtended const
  2157. Dot11AuthAndMangementSuiteExtended Dot11AuthAndMangementSuite = "Extended"
  2158. )
  2159. // CapabilityCategory type
  2160. type CapabilityCategory string
  2161. const (
  2162. // CapabilityCategoryAll const
  2163. CapabilityCategoryAll CapabilityCategory = "All"
  2164. // CapabilityCategoryAnalytics const
  2165. CapabilityCategoryAnalytics CapabilityCategory = "Analytics"
  2166. // CapabilityCategoryDevice const
  2167. CapabilityCategoryDevice CapabilityCategory = "Device"
  2168. // CapabilityCategoryEvents const
  2169. CapabilityCategoryEvents CapabilityCategory = "Events"
  2170. // CapabilityCategoryImaging const
  2171. CapabilityCategoryImaging CapabilityCategory = "Imaging"
  2172. // CapabilityCategoryMedia const
  2173. CapabilityCategoryMedia CapabilityCategory = "Media"
  2174. // CapabilityCategoryPTZ const
  2175. CapabilityCategoryPTZ CapabilityCategory = "PTZ"
  2176. )
  2177. // Enumeration describing the available system log modes.
  2178. // SystemLogType type
  2179. type SystemLogType string
  2180. const (
  2181. // Indicates that a system log is requested.
  2182. // SystemLogTypeSystem const
  2183. SystemLogTypeSystem SystemLogType = "System"
  2184. // Indicates that a access log is requested.
  2185. // SystemLogTypeAccess const
  2186. SystemLogTypeAccess SystemLogType = "Access"
  2187. )
  2188. // Enumeration describing the available factory default modes.
  2189. // FactoryDefaultType type
  2190. type FactoryDefaultType string
  2191. const (
  2192. // Indicates that a hard factory default is requested.
  2193. // FactoryDefaultTypeHard const
  2194. FactoryDefaultTypeHard FactoryDefaultType = "Hard"
  2195. // Indicates that a soft factory default is requested.
  2196. // FactoryDefaultTypeSoft const
  2197. FactoryDefaultTypeSoft FactoryDefaultType = "Soft"
  2198. )
  2199. // SetDateTimeType type
  2200. type SetDateTimeType string
  2201. const (
  2202. // Indicates that the date and time are set manually.
  2203. // SetDateTimeTypeManual const
  2204. SetDateTimeTypeManual SetDateTimeType = "Manual"
  2205. // Indicates that the date and time are set through NTP
  2206. // SetDateTimeTypeNTP const
  2207. SetDateTimeTypeNTP SetDateTimeType = "NTP"
  2208. )
  2209. // UserLevel type
  2210. type UserLevel string
  2211. const (
  2212. // UserLevelAdministrator const
  2213. UserLevelAdministrator UserLevel = "Administrator"
  2214. // UserLevelOperator const
  2215. UserLevelOperator UserLevel = "Operator"
  2216. // UserLevelUser const
  2217. UserLevelUser UserLevel = "User"
  2218. // UserLevelAnonymous const
  2219. UserLevelAnonymous UserLevel = "Anonymous"
  2220. // UserLevelExtended const
  2221. UserLevelExtended UserLevel = "Extended"
  2222. )
  2223. // RelayLogicalState type
  2224. type RelayLogicalState string
  2225. const (
  2226. // RelayLogicalStateActive const
  2227. RelayLogicalStateActive RelayLogicalState = "active"
  2228. // RelayLogicalStateInactive const
  2229. RelayLogicalStateInactive RelayLogicalState = "inactive"
  2230. )
  2231. // RelayIdleState type
  2232. type RelayIdleState string
  2233. const (
  2234. // RelayIdleStateClosed const
  2235. RelayIdleStateClosed RelayIdleState = "closed"
  2236. // RelayIdleStateOpen const
  2237. RelayIdleStateOpen RelayIdleState = "open"
  2238. )
  2239. // RelayMode type
  2240. type RelayMode string
  2241. const (
  2242. // RelayModeMonostable const
  2243. RelayModeMonostable RelayMode = "Monostable"
  2244. // RelayModeBistable const
  2245. RelayModeBistable RelayMode = "Bistable"
  2246. )
  2247. // DigitalIdleState type
  2248. type DigitalIdleState string
  2249. const (
  2250. // DigitalIdleStateClosed const
  2251. DigitalIdleStateClosed DigitalIdleState = "closed"
  2252. // DigitalIdleStateOpen const
  2253. DigitalIdleStateOpen DigitalIdleState = "open"
  2254. )
  2255. // EFlipMode type
  2256. type EFlipMode string
  2257. const (
  2258. // EFlipModeOFF const
  2259. EFlipModeOFF EFlipMode = "OFF"
  2260. // EFlipModeON const
  2261. EFlipModeON EFlipMode = "ON"
  2262. // EFlipModeExtended const
  2263. EFlipModeExtended EFlipMode = "Extended"
  2264. )
  2265. // ReverseMode type
  2266. type ReverseMode string
  2267. const (
  2268. // ReverseModeOFF const
  2269. ReverseModeOFF ReverseMode = "OFF"
  2270. // ReverseModeON const
  2271. ReverseModeON ReverseMode = "ON"
  2272. // ReverseModeAUTO const
  2273. ReverseModeAUTO ReverseMode = "AUTO"
  2274. // ReverseModeExtended const
  2275. ReverseModeExtended ReverseMode = "Extended"
  2276. )
  2277. // AuxiliaryData type
  2278. type AuxiliaryData string
  2279. // PTZPresetTourState type
  2280. type PTZPresetTourState string
  2281. const (
  2282. // PTZPresetTourStateIdle const
  2283. PTZPresetTourStateIdle PTZPresetTourState = "Idle"
  2284. // PTZPresetTourStateTouring const
  2285. PTZPresetTourStateTouring PTZPresetTourState = "Touring"
  2286. // PTZPresetTourStatePaused const
  2287. PTZPresetTourStatePaused PTZPresetTourState = "Paused"
  2288. // PTZPresetTourStateExtended const
  2289. PTZPresetTourStateExtended PTZPresetTourState = "Extended"
  2290. )
  2291. // PTZPresetTourDirection type
  2292. type PTZPresetTourDirection string
  2293. const (
  2294. // PTZPresetTourDirectionForward const
  2295. PTZPresetTourDirectionForward PTZPresetTourDirection = "Forward"
  2296. // PTZPresetTourDirectionBackward const
  2297. PTZPresetTourDirectionBackward PTZPresetTourDirection = "Backward"
  2298. // PTZPresetTourDirectionExtended const
  2299. PTZPresetTourDirectionExtended PTZPresetTourDirection = "Extended"
  2300. )
  2301. // PTZPresetTourOperation type
  2302. type PTZPresetTourOperation string
  2303. const (
  2304. // PTZPresetTourOperationStart const
  2305. PTZPresetTourOperationStart PTZPresetTourOperation = "Start"
  2306. // PTZPresetTourOperationStop const
  2307. PTZPresetTourOperationStop PTZPresetTourOperation = "Stop"
  2308. // PTZPresetTourOperationPause const
  2309. PTZPresetTourOperationPause PTZPresetTourOperation = "Pause"
  2310. // PTZPresetTourOperationExtended const
  2311. PTZPresetTourOperationExtended PTZPresetTourOperation = "Extended"
  2312. )
  2313. // AutoFocusMode type
  2314. type AutoFocusMode string
  2315. const (
  2316. // AutoFocusModeAUTO const
  2317. AutoFocusModeAUTO AutoFocusMode = "AUTO"
  2318. // AutoFocusModeMANUAL const
  2319. AutoFocusModeMANUAL AutoFocusMode = "MANUAL"
  2320. )
  2321. // AFModes type
  2322. type AFModes string
  2323. const (
  2324. // Focus of a moving camera is updated only once after stopping a pan, tilt or zoom movement.
  2325. // AFModesOnceAfterMove const
  2326. AFModesOnceAfterMove AFModes = "OnceAfterMove"
  2327. )
  2328. // WideDynamicMode type
  2329. type WideDynamicMode string
  2330. const (
  2331. // WideDynamicModeOFF const
  2332. WideDynamicModeOFF WideDynamicMode = "OFF"
  2333. // WideDynamicModeON const
  2334. WideDynamicModeON WideDynamicMode = "ON"
  2335. )
  2336. // Enumeration describing the available backlight compenstation modes.
  2337. // BacklightCompensationMode type
  2338. type BacklightCompensationMode string
  2339. const (
  2340. // Backlight compensation is disabled.
  2341. // BacklightCompensationModeOFF const
  2342. BacklightCompensationModeOFF BacklightCompensationMode = "OFF"
  2343. // Backlight compensation is enabled.
  2344. // BacklightCompensationModeON const
  2345. BacklightCompensationModeON BacklightCompensationMode = "ON"
  2346. )
  2347. // ExposurePriority type
  2348. type ExposurePriority string
  2349. const (
  2350. // ExposurePriorityLowNoise const
  2351. ExposurePriorityLowNoise ExposurePriority = "LowNoise"
  2352. // ExposurePriorityFrameRate const
  2353. ExposurePriorityFrameRate ExposurePriority = "FrameRate"
  2354. )
  2355. // ExposureMode type
  2356. type ExposureMode string
  2357. const (
  2358. // ExposureModeAUTO const
  2359. ExposureModeAUTO ExposureMode = "AUTO"
  2360. // ExposureModeMANUAL const
  2361. ExposureModeMANUAL ExposureMode = "MANUAL"
  2362. )
  2363. // Enabled type
  2364. type Enabled string
  2365. const (
  2366. // EnabledENABLED const
  2367. EnabledENABLED Enabled = "ENABLED"
  2368. // EnabledDISABLED const
  2369. EnabledDISABLED Enabled = "DISABLED"
  2370. )
  2371. // WhiteBalanceMode type
  2372. type WhiteBalanceMode string
  2373. const (
  2374. // WhiteBalanceModeAUTO const
  2375. WhiteBalanceModeAUTO WhiteBalanceMode = "AUTO"
  2376. // WhiteBalanceModeMANUAL const
  2377. WhiteBalanceModeMANUAL WhiteBalanceMode = "MANUAL"
  2378. )
  2379. // IrCutFilterMode type
  2380. type IrCutFilterMode string
  2381. const (
  2382. // IrCutFilterModeON const
  2383. IrCutFilterModeON IrCutFilterMode = "ON"
  2384. // IrCutFilterModeOFF const
  2385. IrCutFilterModeOFF IrCutFilterMode = "OFF"
  2386. // IrCutFilterModeAUTO const
  2387. IrCutFilterModeAUTO IrCutFilterMode = "AUTO"
  2388. )
  2389. // ImageStabilizationMode type
  2390. type ImageStabilizationMode string
  2391. const (
  2392. // ImageStabilizationModeOFF const
  2393. ImageStabilizationModeOFF ImageStabilizationMode = "OFF"
  2394. // ImageStabilizationModeON const
  2395. ImageStabilizationModeON ImageStabilizationMode = "ON"
  2396. // ImageStabilizationModeAUTO const
  2397. ImageStabilizationModeAUTO ImageStabilizationMode = "AUTO"
  2398. // ImageStabilizationModeExtended const
  2399. ImageStabilizationModeExtended ImageStabilizationMode = "Extended"
  2400. )
  2401. // IrCutFilterAutoBoundaryType type
  2402. type IrCutFilterAutoBoundaryType string
  2403. const (
  2404. // IrCutFilterAutoBoundaryTypeCommon const
  2405. IrCutFilterAutoBoundaryTypeCommon IrCutFilterAutoBoundaryType = "Common"
  2406. // IrCutFilterAutoBoundaryTypeToOn const
  2407. IrCutFilterAutoBoundaryTypeToOn IrCutFilterAutoBoundaryType = "ToOn"
  2408. // IrCutFilterAutoBoundaryTypeToOff const
  2409. IrCutFilterAutoBoundaryTypeToOff IrCutFilterAutoBoundaryType = "ToOff"
  2410. // IrCutFilterAutoBoundaryTypeExtended const
  2411. IrCutFilterAutoBoundaryTypeExtended IrCutFilterAutoBoundaryType = "Extended"
  2412. )
  2413. // ToneCompensationMode type
  2414. type ToneCompensationMode string
  2415. const (
  2416. // ToneCompensationModeOFF const
  2417. ToneCompensationModeOFF ToneCompensationMode = "OFF"
  2418. // ToneCompensationModeON const
  2419. ToneCompensationModeON ToneCompensationMode = "ON"
  2420. // ToneCompensationModeAUTO const
  2421. ToneCompensationModeAUTO ToneCompensationMode = "AUTO"
  2422. )
  2423. // DefoggingMode type
  2424. type DefoggingMode string
  2425. const (
  2426. // DefoggingModeOFF const
  2427. DefoggingModeOFF DefoggingMode = "OFF"
  2428. // DefoggingModeON const
  2429. DefoggingModeON DefoggingMode = "ON"
  2430. // DefoggingModeAUTO const
  2431. DefoggingModeAUTO DefoggingMode = "AUTO"
  2432. )
  2433. // TopicNamespaceLocation type
  2434. type TopicNamespaceLocation AnyURI
  2435. // PropertyOperation type
  2436. type PropertyOperation string
  2437. const (
  2438. // PropertyOperationInitialized const
  2439. PropertyOperationInitialized PropertyOperation = "Initialized"
  2440. // PropertyOperationDeleted const
  2441. PropertyOperationDeleted PropertyOperation = "Deleted"
  2442. // PropertyOperationChanged const
  2443. PropertyOperationChanged PropertyOperation = "Changed"
  2444. )
  2445. // Direction type
  2446. type Direction string
  2447. const (
  2448. // DirectionLeft const
  2449. DirectionLeft Direction = "Left"
  2450. // DirectionRight const
  2451. DirectionRight Direction = "Right"
  2452. // DirectionAny const
  2453. DirectionAny Direction = "Any"
  2454. )
  2455. //
  2456. // Specifies a receiver connection mode.
  2457. //
  2458. // ReceiverMode type
  2459. type ReceiverMode string
  2460. const (
  2461. // The receiver connects on demand, as required by consumers of the media streams.
  2462. // ReceiverModeAutoConnect const
  2463. ReceiverModeAutoConnect ReceiverMode = "AutoConnect"
  2464. // The receiver attempts to maintain a persistent connection to the configured endpoint.
  2465. // ReceiverModeAlwaysConnect const
  2466. ReceiverModeAlwaysConnect ReceiverMode = "AlwaysConnect"
  2467. // The receiver does not attempt to connect.
  2468. // ReceiverModeNeverConnect const
  2469. ReceiverModeNeverConnect ReceiverMode = "NeverConnect"
  2470. // This case should never happen.
  2471. // ReceiverModeUnknown const
  2472. ReceiverModeUnknown ReceiverMode = "Unknown"
  2473. )
  2474. //
  2475. // Specifies the current connection state of the receiver.
  2476. //
  2477. // ReceiverState type
  2478. type ReceiverState string
  2479. const (
  2480. // The receiver is not connected.
  2481. // ReceiverStateNotConnected const
  2482. ReceiverStateNotConnected ReceiverState = "NotConnected"
  2483. // The receiver is attempting to connect.
  2484. // ReceiverStateConnecting const
  2485. ReceiverStateConnecting ReceiverState = "Connecting"
  2486. // The receiver is connected.
  2487. // ReceiverStateConnected const
  2488. ReceiverStateConnected ReceiverState = "Connected"
  2489. // This case should never happen.
  2490. // ReceiverStateUnknown const
  2491. ReceiverStateUnknown ReceiverState = "Unknown"
  2492. )
  2493. // ReceiverReference type
  2494. type ReceiverReference ReferenceToken
  2495. // RecordingReference type
  2496. type RecordingReference ReferenceToken
  2497. // TrackReference type
  2498. type TrackReference ReferenceToken
  2499. // Description type
  2500. type Description string
  2501. // XPathExpression type
  2502. type XPathExpression string
  2503. // SearchState type
  2504. type SearchState string
  2505. const (
  2506. // The search is queued and not yet started.
  2507. // SearchStateQueued const
  2508. SearchStateQueued SearchState = "Queued"
  2509. // The search is underway and not yet completed.
  2510. // SearchStateSearching const
  2511. SearchStateSearching SearchState = "Searching"
  2512. // The search has been completed and no new results will be found.
  2513. // SearchStateCompleted const
  2514. SearchStateCompleted SearchState = "Completed"
  2515. // The state of the search is unknown. (This is not a valid response from GetSearchState.)
  2516. // SearchStateUnknown const
  2517. SearchStateUnknown SearchState = "Unknown"
  2518. )
  2519. // JobToken type
  2520. type JobToken ReferenceToken
  2521. // RecordingStatus type
  2522. type RecordingStatus string
  2523. const (
  2524. // RecordingStatusInitiated const
  2525. RecordingStatusInitiated RecordingStatus = "Initiated"
  2526. // RecordingStatusRecording const
  2527. RecordingStatusRecording RecordingStatus = "Recording"
  2528. // RecordingStatusStopped const
  2529. RecordingStatusStopped RecordingStatus = "Stopped"
  2530. // RecordingStatusRemoving const
  2531. RecordingStatusRemoving RecordingStatus = "Removing"
  2532. // RecordingStatusRemoved const
  2533. RecordingStatusRemoved RecordingStatus = "Removed"
  2534. // This case should never happen.
  2535. // RecordingStatusUnknown const
  2536. RecordingStatusUnknown RecordingStatus = "Unknown"
  2537. )
  2538. // TrackType type
  2539. type TrackType string
  2540. const (
  2541. // TrackTypeVideo const
  2542. TrackTypeVideo TrackType = "Video"
  2543. // TrackTypeAudio const
  2544. TrackTypeAudio TrackType = "Audio"
  2545. // TrackTypeMetadata const
  2546. TrackTypeMetadata TrackType = "Metadata"
  2547. // Placeholder for future extension.
  2548. // TrackTypeExtended const
  2549. TrackTypeExtended TrackType = "Extended"
  2550. )
  2551. // RecordingJobReference type
  2552. type RecordingJobReference ReferenceToken
  2553. // RecordingJobMode type
  2554. type RecordingJobMode string
  2555. // RecordingJobState type
  2556. type RecordingJobState string
  2557. // ModeOfOperation type
  2558. type ModeOfOperation string
  2559. const (
  2560. // ModeOfOperationIdle const
  2561. ModeOfOperationIdle ModeOfOperation = "Idle"
  2562. // ModeOfOperationActive const
  2563. ModeOfOperationActive ModeOfOperation = "Active"
  2564. // This case should never happen.
  2565. // ModeOfOperationUnknown const
  2566. ModeOfOperationUnknown ModeOfOperation = "Unknown"
  2567. )
  2568. //
  2569. // AudioClassType acceptable values are;
  2570. // gun_shot, scream, glass_breaking, tire_screech
  2571. //
  2572. // AudioClassType type
  2573. type AudioClassType string
  2574. // OSDType type
  2575. type OSDType string
  2576. const (
  2577. // OSDTypeText const
  2578. OSDTypeText OSDType = "Text"
  2579. // OSDTypeImage const
  2580. OSDTypeImage OSDType = "Image"
  2581. // OSDTypeExtended const
  2582. OSDTypeExtended OSDType = "Extended"
  2583. )
  2584. // Message type
  2585. type Message struct {
  2586. XMLName xml.Name `xml:"http://www.onvif.org/ver10/schema Message"`
  2587. // Token value pairs that triggered this message. Typically only one item is present.
  2588. Source ItemList `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  2589. Key ItemList `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  2590. Data ItemList `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  2591. Extension MessageExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2592. UtcTime string `xml:"http://www.onvif.org/ver10/schema UtcTime,attr,omitempty"`
  2593. PropertyOperation PropertyOperation `xml:"http://www.onvif.org/ver10/schema PropertyOperation,attr,omitempty"`
  2594. }
  2595. // DeviceEntity type
  2596. type DeviceEntity struct {
  2597. // Unique identifier referencing the physical entity.
  2598. Token ReferenceToken `xml:"token,attr,omitempty"`
  2599. }
  2600. // IntRectangle type
  2601. type IntRectangle struct {
  2602. X int32 `xml:"x,attr,omitempty"`
  2603. Y int32 `xml:"y,attr,omitempty"`
  2604. Width int32 `xml:"width,attr,omitempty"`
  2605. Height int32 `xml:"height,attr,omitempty"`
  2606. }
  2607. // IntRectangleRange type
  2608. type IntRectangleRange struct {
  2609. // Range of X-axis.
  2610. XRange IntRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  2611. // Range of Y-axis.
  2612. YRange IntRange `xml:"http://www.onvif.org/ver10/schema YRange,omitempty"`
  2613. // Range of width.
  2614. WidthRange IntRange `xml:"http://www.onvif.org/ver10/schema WidthRange,omitempty"`
  2615. // Range of height.
  2616. HeightRange IntRange `xml:"http://www.onvif.org/ver10/schema HeightRange,omitempty"`
  2617. }
  2618. // FloatRange type
  2619. type FloatRange struct {
  2620. Min float32 `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  2621. Max float32 `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  2622. }
  2623. // DurationRange type
  2624. type DurationRange struct {
  2625. Min Duration `xml:"http://www.onvif.org/ver10/schema Min,omitempty"`
  2626. Max Duration `xml:"http://www.onvif.org/ver10/schema Max,omitempty"`
  2627. }
  2628. // IntList type
  2629. type IntList struct {
  2630. Items []int32 `xml:"http://www.onvif.org/ver10/schema Items,omitempty"`
  2631. }
  2632. // VideoSource type
  2633. type VideoSource struct {
  2634. *DeviceEntity
  2635. // Frame rate in frames per second.
  2636. Framerate float32 `xml:"http://www.onvif.org/ver10/schema Framerate,omitempty"`
  2637. // Horizontal and vertical resolution
  2638. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  2639. // Optional configuration of the image sensor.
  2640. Imaging ImagingSettings `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  2641. Extension VideoSourceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2642. }
  2643. // VideoSourceExtension type
  2644. type VideoSourceExtension struct {
  2645. // Optional configuration of the image sensor. To be used if imaging service 2.00 is supported.
  2646. Imaging ImagingSettings20 `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  2647. Extension VideoSourceExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2648. }
  2649. // VideoSourceExtension2 type
  2650. type VideoSourceExtension2 struct {
  2651. }
  2652. // AudioSource type
  2653. type AudioSource struct {
  2654. *DeviceEntity
  2655. // number of available audio channels. (1: mono, 2: stereo)
  2656. Channels int32 `xml:"http://www.onvif.org/ver10/schema Channels,omitempty"`
  2657. }
  2658. // Profile type
  2659. type Profile struct {
  2660. // User readable name of the profile.
  2661. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  2662. // Optional configuration of the Video input.
  2663. VideoSourceConfiguration VideoSourceConfiguration `xml:"http://www.onvif.org/ver10/schema VideoSourceConfiguration,omitempty"`
  2664. // Optional configuration of the Audio input.
  2665. AudioSourceConfiguration AudioSourceConfiguration `xml:"http://www.onvif.org/ver10/schema AudioSourceConfiguration,omitempty"`
  2666. // Optional configuration of the Video encoder.
  2667. VideoEncoderConfiguration VideoEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema VideoEncoderConfiguration,omitempty"`
  2668. // Optional configuration of the Audio encoder.
  2669. AudioEncoderConfiguration AudioEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema AudioEncoderConfiguration,omitempty"`
  2670. // Optional configuration of the video analytics module and rule engine.
  2671. VideoAnalyticsConfiguration VideoAnalyticsConfiguration `xml:"http://www.onvif.org/ver10/schema VideoAnalyticsConfiguration,omitempty"`
  2672. // Optional configuration of the pan tilt zoom unit.
  2673. PTZConfiguration PTZConfiguration `xml:"http://www.onvif.org/ver10/schema PTZConfiguration,omitempty"`
  2674. // Optional configuration of the metadata stream.
  2675. MetadataConfiguration MetadataConfiguration `xml:"http://www.onvif.org/ver10/schema MetadataConfiguration,omitempty"`
  2676. // Extensions defined in ONVIF 2.0
  2677. Extension ProfileExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2678. // Unique identifier of the profile.
  2679. Token ReferenceToken `xml:"token,attr,omitempty"`
  2680. // A value of true signals that the profile cannot be deleted. Default is false.
  2681. Fixed bool `xml:"fixed,attr,omitempty"`
  2682. }
  2683. // ProfileExtension type
  2684. type ProfileExtension struct {
  2685. // Optional configuration of the Audio output.
  2686. AudioOutputConfiguration AudioOutputConfiguration `xml:"http://www.onvif.org/ver10/schema AudioOutputConfiguration,omitempty"`
  2687. // Optional configuration of the Audio decoder.
  2688. AudioDecoderConfiguration AudioDecoderConfiguration `xml:"http://www.onvif.org/ver10/schema AudioDecoderConfiguration,omitempty"`
  2689. Extension ProfileExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2690. }
  2691. // ProfileExtension2 type
  2692. type ProfileExtension2 struct {
  2693. }
  2694. // ConfigurationEntity type
  2695. type ConfigurationEntity struct {
  2696. // User readable name. Length up to 64 characters.
  2697. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  2698. // Number of internal references currently using this configuration.
  2699. UseCount int32 `xml:"http://www.onvif.org/ver10/schema UseCount,omitempty"`
  2700. // Token that uniquely references this configuration. Length up to 64 characters.
  2701. Token ReferenceToken `xml:"token,attr,omitempty"`
  2702. }
  2703. // VideoSourceConfiguration type
  2704. type VideoSourceConfiguration struct {
  2705. *ConfigurationEntity
  2706. // Reference to the physical input.
  2707. SourceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl SourceToken,omitempty"`
  2708. // Rectangle specifying the Video capturing area. The capturing area shall not be larger than the whole Video source area.
  2709. Bounds IntRectangle `xml:"http://www.onvif.org/ver10/schema Bounds,omitempty"`
  2710. Extension VideoSourceConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2711. // Readonly parameter signalling Source configuration's view mode, for devices supporting different view modes as defined in tt:viewModes.
  2712. ViewMode string `xml:"http://www.onvif.org/ver10/device/wsdl ViewMode,attr,omitempty"`
  2713. }
  2714. // VideoSourceConfigurationExtension type
  2715. type VideoSourceConfigurationExtension struct {
  2716. // Optional element to configure rotation of captured image.
  2717. // What resolutions a device supports shall be unaffected by the Rotate parameters.
  2718. // 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.
  2719. // The device shall automatically apply the same rotation to its pan/tilt control direction depending on the following condition:
  2720. // if Reverse=AUTO in PTControlDirection or if the device doesn’t support Reverse in PTControlDirection
  2721. //
  2722. Rotate Rotate `xml:"http://www.onvif.org/ver10/schema Rotate,omitempty"`
  2723. Extension VideoSourceConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2724. }
  2725. // VideoSourceConfigurationExtension2 type
  2726. type VideoSourceConfigurationExtension2 struct {
  2727. // Optional element describing the geometric lens distortion. Multiple instances for future variable lens support.
  2728. LensDescription []LensDescription `xml:"http://www.onvif.org/ver10/schema LensDescription,omitempty"`
  2729. // Optional element describing the scene orientation in the camera’s field of view.
  2730. SceneOrientation SceneOrientation `xml:"http://www.onvif.org/ver10/schema SceneOrientation,omitempty"`
  2731. }
  2732. // Rotate type
  2733. type Rotate struct {
  2734. // Parameter to enable/disable Rotation feature.
  2735. Mode RotateMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  2736. // 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.
  2737. Degree int32 `xml:"http://www.onvif.org/ver10/schema Degree,omitempty"`
  2738. Extension RotateExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2739. }
  2740. // RotateExtension type
  2741. type RotateExtension struct {
  2742. }
  2743. // LensProjection type
  2744. type LensProjection struct {
  2745. // Angle of incidence.
  2746. Angle float32 `xml:"http://www.onvif.org/ver10/schema Angle,omitempty"`
  2747. // Mapping radius as a consequence of the emergent angle.
  2748. Radius float32 `xml:"http://www.onvif.org/ver10/schema Radius,omitempty"`
  2749. // Optional ray absorption at the given angle due to vignetting. A value of one means no absorption.
  2750. Transmittance float32 `xml:"http://www.onvif.org/ver10/schema Transmittance,omitempty"`
  2751. }
  2752. // LensOffset type
  2753. type LensOffset struct {
  2754. // Optional horizontal offset of the lens center in normalized coordinates.
  2755. X float32 `xml:"x,attr,omitempty"`
  2756. // Optional vertical offset of the lens center in normalized coordinates.
  2757. Y float32 `xml:"y,attr,omitempty"`
  2758. }
  2759. // LensDescription type
  2760. type LensDescription struct {
  2761. // Offset of the lens center to the imager center in normalized coordinates.
  2762. Offset LensOffset `xml:"http://www.onvif.org/ver10/schema Offset,omitempty"`
  2763. // Radial description of the projection characteristics. The resulting curve is defined by the B-Spline interpolation
  2764. // over the given elements. The element for Radius zero shall not be provided. The projection points shall be ordered with ascending Radius.
  2765. // Items outside the last projection Radius shall be assumed to be invisible (black).
  2766. Projection []LensProjection `xml:"http://www.onvif.org/ver10/schema Projection,omitempty"`
  2767. // Compensation of the x coordinate needed for the ONVIF normalized coordinate system.
  2768. XFactor float32 `xml:"http://www.onvif.org/ver10/schema XFactor,omitempty"`
  2769. // Optional focal length of the optical system.
  2770. FocalLength float32 `xml:"http://www.onvif.org/ver10/schema FocalLength,attr,omitempty"`
  2771. }
  2772. // VideoSourceConfigurationOptions type
  2773. type VideoSourceConfigurationOptions struct {
  2774. //
  2775. // Supported range for the capturing area.
  2776. // Device that does not support cropped streaming shall express BoundsRange option as mentioned below
  2777. // BoundsRange->XRange and BoundsRange->YRange with same Min/Max values HeightRange and WidthRange Min/Max values same as VideoSource Height and Width Limits.
  2778. //
  2779. BoundsRange IntRectangleRange `xml:"http://www.onvif.org/ver10/schema BoundsRange,omitempty"`
  2780. // List of physical inputs.
  2781. VideoSourceTokensAvailable []ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl VideoSourceTokensAvailable,omitempty"`
  2782. Extension VideoSourceConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2783. // Maximum number of profiles.
  2784. MaximumNumberOfProfiles int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfProfiles,attr,omitempty"`
  2785. }
  2786. // VideoSourceConfigurationOptionsExtension type
  2787. type VideoSourceConfigurationOptionsExtension struct {
  2788. // Options of parameters for Rotation feature.
  2789. Rotate RotateOptions `xml:"http://www.onvif.org/ver10/schema Rotate,omitempty"`
  2790. Extension VideoSourceConfigurationOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2791. }
  2792. // VideoSourceConfigurationOptionsExtension2 type
  2793. type VideoSourceConfigurationOptionsExtension2 struct {
  2794. // Scene orientation modes supported by the device for this configuration.
  2795. SceneOrientationMode []SceneOrientationMode `xml:"http://www.onvif.org/ver10/schema SceneOrientationMode,omitempty"`
  2796. }
  2797. // RotateOptions type
  2798. type RotateOptions struct {
  2799. // Supported options of Rotate mode parameter.
  2800. Mode []RotateMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  2801. // List of supported degree value for rotation.
  2802. DegreeList IntList `xml:"http://www.onvif.org/ver10/schema DegreeList,omitempty"`
  2803. Extension RotateOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2804. // After setting the rotation, if a device starts to reboot this value is true.
  2805. // If a device can handle rotation setting without rebooting this value is false.
  2806. Reboot bool `xml:"http://www.onvif.org/ver10/device/wsdl Reboot,attr,omitempty"`
  2807. }
  2808. // RotateOptionsExtension type
  2809. type RotateOptionsExtension struct {
  2810. }
  2811. // SceneOrientation type
  2812. type SceneOrientation struct {
  2813. //
  2814. // Parameter to assign the way the camera determines the scene orientation.
  2815. //
  2816. Mode SceneOrientationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  2817. //
  2818. // Assigned or determined scene orientation based on the Mode. When assigning the Mode to AUTO, this field
  2819. // is optional and will be ignored by the device. When assigning the Mode to MANUAL, this field is required
  2820. // and the device will return an InvalidArgs fault if missing.
  2821. //
  2822. Orientation string `xml:"http://www.onvif.org/ver10/device/wsdl Orientation,omitempty"`
  2823. }
  2824. // VideoEncoderConfiguration type
  2825. type VideoEncoderConfiguration struct {
  2826. *ConfigurationEntity
  2827. // Used video codec, either Jpeg, H.264 or Mpeg4
  2828. Encoding VideoEncoding `xml:"http://www.onvif.org/ver10/schema Encoding,omitempty"`
  2829. // Configured video resolution
  2830. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  2831. // Relative value for the video quantizers and the quality of the video. A high value within supported quality range means higher quality
  2832. Quality float32 `xml:"http://www.onvif.org/ver10/schema Quality,omitempty"`
  2833. // Optional element to configure rate control related parameters.
  2834. RateControl VideoRateControl `xml:"http://www.onvif.org/ver10/schema RateControl,omitempty"`
  2835. // Optional element to configure Mpeg4 related parameters.
  2836. MPEG4 Mpeg4Configuration `xml:"http://www.onvif.org/ver10/schema MPEG4,omitempty"`
  2837. // Optional element to configure H.264 related parameters.
  2838. H264 H264Configuration `xml:"http://www.onvif.org/ver10/schema H264,omitempty"`
  2839. // Defines the multicast settings that could be used for video streaming.
  2840. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2841. // The rtsp session timeout for the related video stream
  2842. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2843. //
  2844. // A value of true indicates that frame rate is a fixed value rather than an upper limit,
  2845. // and that the video encoder shall prioritize frame rate over all other adaptable
  2846. // configuration values such as bitrate. Default is false.
  2847. //
  2848. GuaranteedFrameRate bool `xml:"http://www.onvif.org/ver10/device/wsdl GuaranteedFrameRate,attr,omitempty"`
  2849. }
  2850. // VideoResolution type
  2851. type VideoResolution struct {
  2852. // Number of the columns of the Video image.
  2853. Width int32 `xml:"http://www.onvif.org/ver10/schema Width,omitempty"`
  2854. // Number of the lines of the Video image.
  2855. Height int32 `xml:"http://www.onvif.org/ver10/schema Height,omitempty"`
  2856. }
  2857. // VideoRateControl type
  2858. type VideoRateControl struct {
  2859. // Maximum output framerate in fps. If an EncodingInterval is provided the resulting encoded framerate will be reduced by the given factor.
  2860. FrameRateLimit int32 `xml:"http://www.onvif.org/ver10/schema FrameRateLimit,omitempty"`
  2861. // 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 ...)
  2862. EncodingInterval int32 `xml:"http://www.onvif.org/ver10/schema EncodingInterval,omitempty"`
  2863. // the maximum output bitrate in kbps
  2864. BitrateLimit int32 `xml:"http://www.onvif.org/ver10/schema BitrateLimit,omitempty"`
  2865. }
  2866. // Mpeg4Configuration type
  2867. type Mpeg4Configuration struct {
  2868. // 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.
  2869. GovLength int32 `xml:"http://www.onvif.org/ver10/schema GovLength,omitempty"`
  2870. // the Mpeg4 profile, either simple profile (SP) or advanced simple profile (ASP)
  2871. Mpeg4Profile Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema Mpeg4Profile,omitempty"`
  2872. }
  2873. // H264Configuration type
  2874. type H264Configuration struct {
  2875. // 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.
  2876. GovLength int32 `xml:"http://www.onvif.org/ver10/schema GovLength,omitempty"`
  2877. // the H.264 profile, either baseline, main, extended or high
  2878. H264Profile H264Profile `xml:"http://www.onvif.org/ver10/schema H264Profile,omitempty"`
  2879. }
  2880. // VideoEncoderOptionsExtension type
  2881. type VideoEncoderOptionsExtension struct {
  2882. // Optional JPEG encoder settings ranges.
  2883. JPEG JpegOptions2 `xml:"http://www.onvif.org/ver10/schema JPEG,omitempty"`
  2884. // Optional MPEG-4 encoder settings ranges.
  2885. MPEG4 Mpeg4Options2 `xml:"http://www.onvif.org/ver10/schema MPEG4,omitempty"`
  2886. // Optional H.264 encoder settings ranges.
  2887. H264 H264Options2 `xml:"http://www.onvif.org/ver10/schema H264,omitempty"`
  2888. Extension VideoEncoderOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2889. }
  2890. // VideoEncoderOptionsExtension2 type
  2891. type VideoEncoderOptionsExtension2 struct {
  2892. }
  2893. // JpegOptions type
  2894. type JpegOptions struct {
  2895. // List of supported image sizes.
  2896. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2897. // Supported frame rate in fps (frames per second).
  2898. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2899. // 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.
  2900. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2901. }
  2902. // JpegOptions2 type
  2903. type JpegOptions2 struct {
  2904. *JpegOptions
  2905. // Supported range of encoded bitrate in kbps.
  2906. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2907. }
  2908. // Mpeg4Options type
  2909. type Mpeg4Options struct {
  2910. // List of supported image sizes.
  2911. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2912. // Supported group of Video frames length. This value typically corresponds to the I-Frame distance.
  2913. GovLengthRange IntRange `xml:"http://www.onvif.org/ver10/schema GovLengthRange,omitempty"`
  2914. // Supported frame rate in fps (frames per second).
  2915. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2916. // 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.
  2917. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2918. // List of supported MPEG-4 profiles.
  2919. Mpeg4ProfilesSupported []Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema Mpeg4ProfilesSupported,omitempty"`
  2920. }
  2921. // Mpeg4Options2 type
  2922. type Mpeg4Options2 struct {
  2923. *Mpeg4Options
  2924. // Supported range of encoded bitrate in kbps.
  2925. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2926. }
  2927. // H264Options type
  2928. type H264Options struct {
  2929. // List of supported image sizes.
  2930. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  2931. // Supported group of Video frames length. This value typically corresponds to the I-Frame distance.
  2932. GovLengthRange IntRange `xml:"http://www.onvif.org/ver10/schema GovLengthRange,omitempty"`
  2933. // Supported frame rate in fps (frames per second).
  2934. FrameRateRange IntRange `xml:"http://www.onvif.org/ver10/schema FrameRateRange,omitempty"`
  2935. // 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.
  2936. EncodingIntervalRange IntRange `xml:"http://www.onvif.org/ver10/schema EncodingIntervalRange,omitempty"`
  2937. // List of supported H.264 profiles.
  2938. H264ProfilesSupported []H264Profile `xml:"http://www.onvif.org/ver10/schema H264ProfilesSupported,omitempty"`
  2939. }
  2940. // H264Options2 type
  2941. type H264Options2 struct {
  2942. *H264Options
  2943. // Supported range of encoded bitrate in kbps.
  2944. BitrateRange IntRange `xml:"http://www.onvif.org/ver10/schema BitrateRange,omitempty"`
  2945. }
  2946. // AudioSourceConfiguration type
  2947. type AudioSourceConfiguration struct {
  2948. *ConfigurationEntity
  2949. // Token of the Audio Source the configuration applies to
  2950. SourceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl SourceToken,omitempty"`
  2951. }
  2952. // AudioEncoderConfiguration type
  2953. type AudioEncoderConfiguration struct {
  2954. *ConfigurationEntity
  2955. // Audio codec used for encoding the audio input (either G.711, G.726 or AAC)
  2956. Encoding AudioEncoding `xml:"http://www.onvif.org/ver10/schema Encoding,omitempty"`
  2957. // The output bitrate in kbps.
  2958. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  2959. // The output sample rate in kHz.
  2960. SampleRate int32 `xml:"http://www.onvif.org/ver10/schema SampleRate,omitempty"`
  2961. // Defines the multicast settings that could be used for video streaming.
  2962. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2963. // The rtsp session timeout for the related audio stream
  2964. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2965. }
  2966. // VideoAnalyticsConfiguration type
  2967. type VideoAnalyticsConfiguration struct {
  2968. *ConfigurationEntity
  2969. AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  2970. RuleEngineConfiguration RuleEngineConfiguration `xml:"http://www.onvif.org/ver10/schema RuleEngineConfiguration,omitempty"`
  2971. }
  2972. // MetadataConfiguration type
  2973. type MetadataConfiguration struct {
  2974. *ConfigurationEntity
  2975. // optional element to configure which PTZ related data is to include in the metadata stream
  2976. PTZStatus PTZFilter `xml:"http://www.onvif.org/ver10/schema PTZStatus,omitempty"`
  2977. // Optional element to configure the streaming of events. A client might be interested in receiving all,
  2978. // none or some of the events produced by the device:
  2979. //
  2980. Events EventSubscription `xml:"http://www.onvif.org/ver10/schema Events,omitempty"`
  2981. // Defines whether the streamed metadata will include metadata from the analytics engines (video, cell motion, audio etc.)
  2982. Analytics bool `xml:"http://www.onvif.org/ver10/device/wsdl Analytics,omitempty"`
  2983. // Defines the multicast settings that could be used for video streaming.
  2984. Multicast MulticastConfiguration `xml:"http://www.onvif.org/ver10/schema Multicast,omitempty"`
  2985. // The rtsp session timeout for the related audio stream (when using Media2 Service, this value is deprecated and ignored)
  2986. SessionTimeout Duration `xml:"http://www.onvif.org/ver10/schema SessionTimeout,omitempty"`
  2987. AnalyticsEngineConfiguration AnalyticsEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  2988. Extension MetadataConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  2989. // Optional parameter to configure compression type of Metadata payload. Use values from enumeration MetadataCompressionType.
  2990. CompressionType string `xml:"http://www.onvif.org/ver10/device/wsdl CompressionType,attr,omitempty"`
  2991. // Optional parameter to configure if the metadata stream shall contain the Geo Location coordinates of each target.
  2992. GeoLocation bool `xml:"http://www.onvif.org/ver10/device/wsdl GeoLocation,attr,omitempty"`
  2993. }
  2994. // MetadataConfigurationExtension type
  2995. type MetadataConfigurationExtension struct {
  2996. }
  2997. // PTZFilter type
  2998. type PTZFilter struct {
  2999. // True if the metadata stream shall contain the PTZ status (IDLE, MOVING or UNKNOWN)
  3000. Status bool `xml:"http://www.onvif.org/ver10/device/wsdl Status,omitempty"`
  3001. // True if the metadata stream shall contain the PTZ position
  3002. Position bool `xml:"http://www.onvif.org/ver10/device/wsdl Position,omitempty"`
  3003. }
  3004. // EventSubscription type
  3005. type EventSubscription struct {
  3006. Filter FilterType `xml:"Filter,omitempty"`
  3007. SubscriptionPolicy struct {
  3008. } `xml:"SubscriptionPolicy,omitempty"`
  3009. }
  3010. // MetadataConfigurationOptions type
  3011. type MetadataConfigurationOptions struct {
  3012. PTZStatusFilterOptions PTZStatusFilterOptions `xml:"http://www.onvif.org/ver10/schema PTZStatusFilterOptions,omitempty"`
  3013. Extension MetadataConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3014. // True if the device is able to stream the Geo Located positions of each target.
  3015. GeoLocation bool `xml:"http://www.onvif.org/ver10/device/wsdl GeoLocation,attr,omitempty"`
  3016. }
  3017. // MetadataConfigurationOptionsExtension type
  3018. type MetadataConfigurationOptionsExtension struct {
  3019. // List of supported metadata compression type. Its options shall be chosen from tt:MetadataCompressionType.
  3020. CompressionType []string `xml:"http://www.onvif.org/ver10/device/wsdl CompressionType,omitempty"`
  3021. Extension MetadataConfigurationOptionsExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3022. }
  3023. // MetadataConfigurationOptionsExtension2 type
  3024. type MetadataConfigurationOptionsExtension2 struct {
  3025. }
  3026. // PTZStatusFilterOptions type
  3027. type PTZStatusFilterOptions struct {
  3028. // True if the device is able to stream pan or tilt status information.
  3029. PanTiltStatusSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl PanTiltStatusSupported,omitempty"`
  3030. // True if the device is able to stream zoom status inforamtion.
  3031. ZoomStatusSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl ZoomStatusSupported,omitempty"`
  3032. // True if the device is able to stream the pan or tilt position.
  3033. PanTiltPositionSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl PanTiltPositionSupported,omitempty"`
  3034. // True if the device is able to stream zoom position information.
  3035. ZoomPositionSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl ZoomPositionSupported,omitempty"`
  3036. Extension PTZStatusFilterOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3037. }
  3038. // PTZStatusFilterOptionsExtension type
  3039. type PTZStatusFilterOptionsExtension struct {
  3040. }
  3041. // VideoOutput type
  3042. type VideoOutput struct {
  3043. *DeviceEntity
  3044. Layout Layout `xml:"http://www.onvif.org/ver10/schema Layout,omitempty"`
  3045. // Resolution of the display in Pixel.
  3046. Resolution VideoResolution `xml:"http://www.onvif.org/ver10/schema Resolution,omitempty"`
  3047. // Refresh rate of the display in Hertz.
  3048. RefreshRate float32 `xml:"http://www.onvif.org/ver10/schema RefreshRate,omitempty"`
  3049. // Aspect ratio of the display as physical extent of width divided by height.
  3050. AspectRatio float32 `xml:"http://www.onvif.org/ver10/schema AspectRatio,omitempty"`
  3051. Extension VideoOutputExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3052. }
  3053. // VideoOutputExtension type
  3054. type VideoOutputExtension struct {
  3055. }
  3056. // VideoDecoderConfigurationOptions type
  3057. type VideoDecoderConfigurationOptions struct {
  3058. // If the device is able to decode Jpeg streams this element describes the supported codecs and configurations
  3059. JpegDecOptions JpegDecOptions `xml:"http://www.onvif.org/ver10/schema JpegDecOptions,omitempty"`
  3060. // If the device is able to decode H.264 streams this element describes the supported codecs and configurations
  3061. H264DecOptions H264DecOptions `xml:"http://www.onvif.org/ver10/schema H264DecOptions,omitempty"`
  3062. // If the device is able to decode Mpeg4 streams this element describes the supported codecs and configurations
  3063. Mpeg4DecOptions Mpeg4DecOptions `xml:"http://www.onvif.org/ver10/schema Mpeg4DecOptions,omitempty"`
  3064. Extension VideoDecoderConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3065. }
  3066. // H264DecOptions type
  3067. type H264DecOptions struct {
  3068. // List of supported H.264 Video Resolutions
  3069. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  3070. // List of supported H264 Profiles (either baseline, main, extended or high)
  3071. SupportedH264Profiles []H264Profile `xml:"http://www.onvif.org/ver10/schema SupportedH264Profiles,omitempty"`
  3072. // Supported H.264 bitrate range in kbps
  3073. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  3074. // Supported H.264 framerate range in fps
  3075. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  3076. }
  3077. // JpegDecOptions type
  3078. type JpegDecOptions struct {
  3079. // List of supported Jpeg Video Resolutions
  3080. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  3081. // Supported Jpeg bitrate range in kbps
  3082. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  3083. // Supported Jpeg framerate range in fps
  3084. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  3085. }
  3086. // Mpeg4DecOptions type
  3087. type Mpeg4DecOptions struct {
  3088. // List of supported Mpeg4 Video Resolutions
  3089. ResolutionsAvailable []VideoResolution `xml:"http://www.onvif.org/ver10/schema ResolutionsAvailable,omitempty"`
  3090. // List of supported Mpeg4 Profiles (either SP or ASP)
  3091. SupportedMpeg4Profiles []Mpeg4Profile `xml:"http://www.onvif.org/ver10/schema SupportedMpeg4Profiles,omitempty"`
  3092. // Supported Mpeg4 bitrate range in kbps
  3093. SupportedInputBitrate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedInputBitrate,omitempty"`
  3094. // Supported Mpeg4 framerate range in fps
  3095. SupportedFrameRate IntRange `xml:"http://www.onvif.org/ver10/schema SupportedFrameRate,omitempty"`
  3096. }
  3097. // VideoDecoderConfigurationOptionsExtension type
  3098. type VideoDecoderConfigurationOptionsExtension struct {
  3099. }
  3100. // AudioOutput type
  3101. type AudioOutput struct {
  3102. *DeviceEntity
  3103. }
  3104. // AudioOutputConfiguration type
  3105. type AudioOutputConfiguration struct {
  3106. *ConfigurationEntity
  3107. // Token of the phsycial Audio output.
  3108. OutputToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl OutputToken,omitempty"`
  3109. //
  3110. // An audio channel MAY support different types of audio transmission. While for full duplex
  3111. // operation no special handling is required, in half duplex operation the transmission direction
  3112. // needs to be switched.
  3113. // The optional SendPrimacy parameter inside the AudioOutputConfiguration indicates which
  3114. // direction is currently active. An NVC can switch between different modes by setting the
  3115. // AudioOutputConfiguration.
  3116. // The following modes for the Send-Primacy are defined:
  3117. // Acoustic echo cancellation is out of ONVIF scope.
  3118. SendPrimacy AnyURI `xml:"http://www.onvif.org/ver10/schema SendPrimacy,omitempty"`
  3119. // Volume setting of the output. The applicable range is defined via the option AudioOutputOptions.OutputLevelRange.
  3120. OutputLevel int32 `xml:"http://www.onvif.org/ver10/schema OutputLevel,omitempty"`
  3121. }
  3122. // AudioDecoderConfiguration type
  3123. type AudioDecoderConfiguration struct {
  3124. *ConfigurationEntity
  3125. }
  3126. // AudioDecoderConfigurationOptions type
  3127. type AudioDecoderConfigurationOptions struct {
  3128. // If the device is able to decode AAC encoded audio this section describes the supported configurations
  3129. AACDecOptions AACDecOptions `xml:"http://www.onvif.org/ver10/schema AACDecOptions,omitempty"`
  3130. // If the device is able to decode G711 encoded audio this section describes the supported configurations
  3131. G711DecOptions G711DecOptions `xml:"http://www.onvif.org/ver10/schema G711DecOptions,omitempty"`
  3132. // If the device is able to decode G726 encoded audio this section describes the supported configurations
  3133. G726DecOptions G726DecOptions `xml:"http://www.onvif.org/ver10/schema G726DecOptions,omitempty"`
  3134. Extension AudioDecoderConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3135. }
  3136. // G711DecOptions type
  3137. type G711DecOptions struct {
  3138. // List of supported bitrates in kbps
  3139. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  3140. // List of supported sample rates in kHz
  3141. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  3142. }
  3143. // AACDecOptions type
  3144. type AACDecOptions struct {
  3145. // List of supported bitrates in kbps
  3146. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  3147. // List of supported sample rates in kHz
  3148. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  3149. }
  3150. // G726DecOptions type
  3151. type G726DecOptions struct {
  3152. // List of supported bitrates in kbps
  3153. Bitrate IntList `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  3154. // List of supported sample rates in kHz
  3155. SampleRateRange IntList `xml:"http://www.onvif.org/ver10/schema SampleRateRange,omitempty"`
  3156. }
  3157. // AudioDecoderConfigurationOptionsExtension type
  3158. type AudioDecoderConfigurationOptionsExtension struct {
  3159. }
  3160. // MulticastConfiguration type
  3161. type MulticastConfiguration struct {
  3162. // The multicast address (if this address is set to 0 no multicast streaming is enaled)
  3163. Address IPAddress `xml:"http://www.onvif.org/ver10/device/wsdl Address,omitempty"`
  3164. // 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.
  3165. Port int32 `xml:"http://www.onvif.org/ver10/schema Port,omitempty"`
  3166. // 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.
  3167. TTL int32 `xml:"http://www.onvif.org/ver10/schema TTL,omitempty"`
  3168. // Read only property signalling that streaming is persistant. Use the methods StartMulticastStreaming and StopMulticastStreaming to switch its state.
  3169. AutoStart bool `xml:"http://www.onvif.org/ver10/device/wsdl AutoStart,omitempty"`
  3170. }
  3171. // StreamSetup type
  3172. type StreamSetup struct {
  3173. // Defines if a multicast or unicast stream is requested
  3174. Stream StreamType `xml:"http://www.onvif.org/ver10/schema Stream,omitempty"`
  3175. Transport Transport `xml:"http://www.onvif.org/ver10/schema Transport,omitempty"`
  3176. }
  3177. // Transport type
  3178. type Transport struct {
  3179. // Defines the network protocol for streaming, either UDP=RTP/UDP, RTSP=RTP/RTSP/TCP or HTTP=RTP/RTSP/HTTP/TCP
  3180. Protocol TransportProtocol `xml:"http://www.onvif.org/ver10/schema Protocol,omitempty"`
  3181. // Optional element to describe further tunnel options. This element is normally not needed
  3182. Tunnel *Transport `xml:"http://www.onvif.org/ver10/schema Tunnel,omitempty"`
  3183. }
  3184. // Scope type
  3185. type Scope struct {
  3186. // Indicates if the scope is fixed or configurable.
  3187. ScopeDef ScopeDefinition `xml:"http://www.onvif.org/ver10/schema ScopeDef,omitempty"`
  3188. // Scope item URI.
  3189. ScopeItem AnyURI `xml:"http://www.onvif.org/ver10/schema ScopeItem,omitempty"`
  3190. }
  3191. // NetworkInterface type
  3192. type NetworkInterface struct {
  3193. *DeviceEntity
  3194. // Indicates whether or not an interface is enabled.
  3195. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3196. // Network interface information
  3197. Info NetworkInterfaceInfo `xml:"http://www.onvif.org/ver10/schema Info,omitempty"`
  3198. // Link configuration.
  3199. Link NetworkInterfaceLink `xml:"http://www.onvif.org/ver10/schema Link,omitempty"`
  3200. // IPv4 network interface configuration.
  3201. IPv4 IPv4NetworkInterface `xml:"http://www.onvif.org/ver10/schema IPv4,omitempty"`
  3202. // IPv6 network interface configuration.
  3203. IPv6 IPv6NetworkInterface `xml:"http://www.onvif.org/ver10/schema IPv6,omitempty"`
  3204. Extension NetworkInterfaceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3205. }
  3206. // NetworkInterfaceExtension type
  3207. type NetworkInterfaceExtension struct {
  3208. InterfaceType IANAIfTypes `xml:"InterfaceType,omitempty"`
  3209. // Extension point prepared for future 802.3 configuration.
  3210. Dot3 []Dot3Configuration `xml:"http://www.onvif.org/ver10/schema Dot3,omitempty"`
  3211. Dot11 []Dot11Configuration `xml:"http://www.onvif.org/ver10/schema Dot11,omitempty"`
  3212. Extension NetworkInterfaceExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3213. }
  3214. // Dot3Configuration type
  3215. type Dot3Configuration struct {
  3216. }
  3217. // NetworkInterfaceExtension2 type
  3218. type NetworkInterfaceExtension2 struct {
  3219. }
  3220. // NetworkInterfaceLink type
  3221. type NetworkInterfaceLink struct {
  3222. // Configured link settings.
  3223. AdminSettings NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema AdminSettings,omitempty"`
  3224. // Current active link settings.
  3225. OperSettings NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema OperSettings,omitempty"`
  3226. // Integer indicating interface type, for example: 6 is ethernet.
  3227. InterfaceType IANAIfTypes `xml:"InterfaceType,omitempty"`
  3228. }
  3229. // NetworkInterfaceConnectionSetting type
  3230. type NetworkInterfaceConnectionSetting struct {
  3231. // Auto negotiation on/off.
  3232. AutoNegotiation bool `xml:"http://www.onvif.org/ver10/device/wsdl AutoNegotiation,omitempty"`
  3233. // Speed.
  3234. Speed int32 `xml:"http://www.onvif.org/ver10/schema Speed,omitempty"`
  3235. // Duplex type, Half or Full.
  3236. Duplex Duplex `xml:"http://www.onvif.org/ver10/schema Duplex,omitempty"`
  3237. }
  3238. // NetworkInterfaceInfo type
  3239. type NetworkInterfaceInfo struct {
  3240. // Network interface name, for example eth0.
  3241. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  3242. // Network interface MAC address.
  3243. HwAddress HwAddress `xml:"http://www.onvif.org/ver10/schema HwAddress,omitempty"`
  3244. // Maximum transmission unit.
  3245. MTU int32 `xml:"http://www.onvif.org/ver10/schema MTU,omitempty"`
  3246. }
  3247. // IPv6NetworkInterface type
  3248. type IPv6NetworkInterface struct {
  3249. // Indicates whether or not IPv6 is enabled.
  3250. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3251. // IPv6 configuration.
  3252. Config IPv6Configuration `xml:"http://www.onvif.org/ver10/schema Config,omitempty"`
  3253. }
  3254. // IPv4NetworkInterface type
  3255. type IPv4NetworkInterface struct {
  3256. // Indicates whether or not IPv4 is enabled.
  3257. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3258. // IPv4 configuration.
  3259. Config IPv4Configuration `xml:"http://www.onvif.org/ver10/schema Config,omitempty"`
  3260. }
  3261. // IPv4Configuration type
  3262. type IPv4Configuration struct {
  3263. // List of manually added IPv4 addresses.
  3264. Manual []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  3265. // Link local address.
  3266. LinkLocal PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema LinkLocal,omitempty"`
  3267. // IPv4 address configured by using DHCP.
  3268. FromDHCP PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema FromDHCP,omitempty"`
  3269. // Indicates whether or not DHCP is used.
  3270. DHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl DHCP,omitempty"`
  3271. }
  3272. // IPv6Configuration type
  3273. type IPv6Configuration struct {
  3274. // Indicates whether router advertisment is used.
  3275. AcceptRouterAdvert bool `xml:"http://www.onvif.org/ver10/device/wsdl AcceptRouterAdvert,omitempty"`
  3276. // DHCP configuration.
  3277. DHCP IPv6DHCPConfiguration `xml:"http://www.onvif.org/ver10/schema DHCP,omitempty"`
  3278. // List of manually entered IPv6 addresses.
  3279. Manual []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  3280. // List of link local IPv6 addresses.
  3281. LinkLocal []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema LinkLocal,omitempty"`
  3282. // List of IPv6 addresses configured by using DHCP.
  3283. FromDHCP []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema FromDHCP,omitempty"`
  3284. // List of IPv6 addresses configured by using router advertisment.
  3285. FromRA []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema FromRA,omitempty"`
  3286. Extension IPv6ConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3287. }
  3288. // IPv6ConfigurationExtension type
  3289. type IPv6ConfigurationExtension struct {
  3290. }
  3291. // NetworkProtocol type
  3292. type NetworkProtocol struct {
  3293. // Network protocol type string.
  3294. Name NetworkProtocolType `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  3295. // Indicates if the protocol is enabled or not.
  3296. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3297. // The port that is used by the protocol.
  3298. Port []int32 `xml:"http://www.onvif.org/ver10/schema Port,omitempty"`
  3299. Extension NetworkProtocolExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3300. }
  3301. // NetworkProtocolExtension type
  3302. type NetworkProtocolExtension struct {
  3303. }
  3304. // NetworkHost type
  3305. type NetworkHost struct {
  3306. // Network host type: IPv4, IPv6 or DNS.
  3307. Type NetworkHostType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  3308. // IPv4 address.
  3309. IPv4Address IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv4Address,omitempty"`
  3310. // IPv6 address.
  3311. IPv6Address IPv6Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv6Address,omitempty"`
  3312. // DNS name.
  3313. DNSname DNSName `xml:"http://www.onvif.org/ver10/device/wsdl DNSname,omitempty"`
  3314. Extension NetworkHostExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3315. }
  3316. // NetworkHostExtension type
  3317. type NetworkHostExtension struct {
  3318. }
  3319. // IPAddress type
  3320. type IPAddress struct {
  3321. // Indicates if the address is an IPv4 or IPv6 address.
  3322. Type IPType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  3323. // IPv4 address.
  3324. IPv4Address IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv4Address,omitempty"`
  3325. // IPv6 address
  3326. IPv6Address IPv6Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv6Address,omitempty"`
  3327. }
  3328. // PrefixedIPv4Address type
  3329. type PrefixedIPv4Address struct {
  3330. // IPv4 address
  3331. Address IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl Address,omitempty"`
  3332. // Prefix/submask length
  3333. PrefixLength int32 `xml:"http://www.onvif.org/ver10/schema PrefixLength,omitempty"`
  3334. }
  3335. // PrefixedIPv6Address type
  3336. type PrefixedIPv6Address struct {
  3337. // IPv6 address
  3338. Address IPv6Address `xml:"http://www.onvif.org/ver10/device/wsdl Address,omitempty"`
  3339. // Prefix/submask length
  3340. PrefixLength int32 `xml:"http://www.onvif.org/ver10/schema PrefixLength,omitempty"`
  3341. }
  3342. // HostnameInformation type
  3343. type HostnameInformation struct {
  3344. // Indicates whether the hostname is obtained from DHCP or not.
  3345. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  3346. // Indicates the hostname.
  3347. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  3348. Extension HostnameInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3349. }
  3350. // HostnameInformationExtension type
  3351. type HostnameInformationExtension struct {
  3352. }
  3353. // DNSInformation type
  3354. type DNSInformation struct {
  3355. // Indicates whether or not DNS information is retrieved from DHCP.
  3356. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  3357. // Search domain.
  3358. SearchDomain []string `xml:"http://www.onvif.org/ver10/device/wsdl SearchDomain,omitempty"`
  3359. // List of DNS addresses received from DHCP.
  3360. DNSFromDHCP []IPAddress `xml:"http://www.onvif.org/ver10/device/wsdl DNSFromDHCP,omitempty"`
  3361. // List of manually entered DNS addresses.
  3362. DNSManual []IPAddress `xml:"http://www.onvif.org/ver10/device/wsdl DNSManual,omitempty"`
  3363. Extension DNSInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3364. }
  3365. // DNSInformationExtension type
  3366. type DNSInformationExtension struct {
  3367. }
  3368. // NTPInformation type
  3369. type NTPInformation struct {
  3370. // Indicates if NTP information is to be retrieved by using DHCP.
  3371. FromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl FromDHCP,omitempty"`
  3372. // List of NTP addresses retrieved by using DHCP.
  3373. NTPFromDHCP []NetworkHost `xml:"http://www.onvif.org/ver10/device/wsdl NTPFromDHCP,omitempty"`
  3374. // List of manually entered NTP addresses.
  3375. NTPManual []NetworkHost `xml:"http://www.onvif.org/ver10/device/wsdl NTPManual,omitempty"`
  3376. Extension NTPInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3377. }
  3378. // NTPInformationExtension type
  3379. type NTPInformationExtension struct {
  3380. }
  3381. // DynamicDNSInformation type
  3382. type DynamicDNSInformation struct {
  3383. // Dynamic DNS type.
  3384. Type DynamicDNSType `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  3385. // DNS name.
  3386. Name DNSName `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  3387. // Time to live.
  3388. TTL Duration `xml:"http://www.onvif.org/ver10/schema TTL,omitempty"`
  3389. Extension DynamicDNSInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3390. }
  3391. // DynamicDNSInformationExtension type
  3392. type DynamicDNSInformationExtension struct {
  3393. }
  3394. // NetworkInterfaceSetConfiguration type
  3395. type NetworkInterfaceSetConfiguration struct {
  3396. // Indicates whether or not an interface is enabled.
  3397. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3398. // Link configuration.
  3399. Link NetworkInterfaceConnectionSetting `xml:"http://www.onvif.org/ver10/schema Link,omitempty"`
  3400. // Maximum transmission unit.
  3401. MTU int32 `xml:"http://www.onvif.org/ver10/schema MTU,omitempty"`
  3402. // IPv4 network interface configuration.
  3403. IPv4 IPv4NetworkInterfaceSetConfiguration `xml:"http://www.onvif.org/ver10/schema IPv4,omitempty"`
  3404. // IPv6 network interface configuration.
  3405. IPv6 IPv6NetworkInterfaceSetConfiguration `xml:"http://www.onvif.org/ver10/schema IPv6,omitempty"`
  3406. Extension NetworkInterfaceSetConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3407. }
  3408. // NetworkInterfaceSetConfigurationExtension type
  3409. type NetworkInterfaceSetConfigurationExtension struct {
  3410. Dot3 []Dot3Configuration `xml:"http://www.onvif.org/ver10/schema Dot3,omitempty"`
  3411. Dot11 []Dot11Configuration `xml:"http://www.onvif.org/ver10/schema Dot11,omitempty"`
  3412. Extension NetworkInterfaceSetConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3413. }
  3414. // IPv6NetworkInterfaceSetConfiguration type
  3415. type IPv6NetworkInterfaceSetConfiguration struct {
  3416. // Indicates whether or not IPv6 is enabled.
  3417. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3418. // Indicates whether router advertisment is used.
  3419. AcceptRouterAdvert bool `xml:"http://www.onvif.org/ver10/device/wsdl AcceptRouterAdvert,omitempty"`
  3420. // List of manually added IPv6 addresses.
  3421. Manual []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  3422. // DHCP configuration.
  3423. DHCP IPv6DHCPConfiguration `xml:"http://www.onvif.org/ver10/schema DHCP,omitempty"`
  3424. }
  3425. // IPv4NetworkInterfaceSetConfiguration type
  3426. type IPv4NetworkInterfaceSetConfiguration struct {
  3427. // Indicates whether or not IPv4 is enabled.
  3428. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3429. // List of manually added IPv4 addresses.
  3430. Manual []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema Manual,omitempty"`
  3431. // Indicates whether or not DHCP is used.
  3432. DHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl DHCP,omitempty"`
  3433. }
  3434. // NetworkGateway type
  3435. type NetworkGateway struct {
  3436. // IPv4 address string.
  3437. IPv4Address []IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv4Address,omitempty"`
  3438. // IPv6 address string.
  3439. IPv6Address []IPv6Address `xml:"http://www.onvif.org/ver10/device/wsdl IPv6Address,omitempty"`
  3440. }
  3441. // NetworkZeroConfiguration type
  3442. type NetworkZeroConfiguration struct {
  3443. // Unique identifier of network interface.
  3444. InterfaceToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl InterfaceToken,omitempty"`
  3445. // Indicates whether the zero-configuration is enabled or not.
  3446. Enabled bool `xml:"http://www.onvif.org/ver10/device/wsdl Enabled,omitempty"`
  3447. // The zero-configuration IPv4 address(es)
  3448. Addresses []IPv4Address `xml:"http://www.onvif.org/ver10/device/wsdl Addresses,omitempty"`
  3449. Extension *NetworkZeroConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3450. }
  3451. // NetworkZeroConfigurationExtension type
  3452. type NetworkZeroConfigurationExtension struct {
  3453. // Optional array holding the configuration for the second and possibly further interfaces.
  3454. Additional []NetworkZeroConfiguration `xml:"http://www.onvif.org/ver10/device/wsdl Additional,omitempty"`
  3455. Extension NetworkZeroConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3456. }
  3457. // NetworkZeroConfigurationExtension2 type
  3458. type NetworkZeroConfigurationExtension2 struct {
  3459. }
  3460. // IPAddressFilter type
  3461. type IPAddressFilter struct {
  3462. Type IPAddressFilterType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  3463. IPv4Address []PrefixedIPv4Address `xml:"http://www.onvif.org/ver10/schema IPv4Address,omitempty"`
  3464. IPv6Address []PrefixedIPv6Address `xml:"http://www.onvif.org/ver10/schema IPv6Address,omitempty"`
  3465. Extension IPAddressFilterExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3466. }
  3467. // IPAddressFilterExtension type
  3468. type IPAddressFilterExtension struct {
  3469. }
  3470. // Dot11Configuration type
  3471. type Dot11Configuration struct {
  3472. SSID Dot11SSIDType `xml:"http://www.onvif.org/ver10/schema SSID,omitempty"`
  3473. Mode Dot11StationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3474. Alias Name `xml:"http://www.onvif.org/ver10/schema Alias,omitempty"`
  3475. Priority NetworkInterfaceConfigPriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  3476. Security Dot11SecurityConfiguration `xml:"http://www.onvif.org/ver10/schema Security,omitempty"`
  3477. }
  3478. // Dot11SecurityConfiguration type
  3479. type Dot11SecurityConfiguration struct {
  3480. Mode Dot11SecurityMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3481. Algorithm Dot11Cipher `xml:"http://www.onvif.org/ver10/schema Algorithm,omitempty"`
  3482. PSK Dot11PSKSet `xml:"http://www.onvif.org/ver10/schema PSK,omitempty"`
  3483. Dot1X ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Dot1X,omitempty"`
  3484. Extension Dot11SecurityConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3485. }
  3486. // Dot11SecurityConfigurationExtension type
  3487. type Dot11SecurityConfigurationExtension struct {
  3488. }
  3489. // Dot11PSKSet type
  3490. type Dot11PSKSet struct {
  3491. //
  3492. // According to IEEE802.11-2007 H.4.1 the RSNA PSK consists of 256 bits, or 64 octets when represented in hex
  3493. // Either Key or Passphrase shall be given, if both are supplied Key shall be used by the device and Passphrase ignored.
  3494. //
  3495. Key Dot11PSK `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  3496. //
  3497. // According to IEEE802.11-2007 H.4.1 a pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters and
  3498. // each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal),inclusive.
  3499. // If only Passpharse is supplied the Key shall be derived using the algorithm described in IEEE802.11-2007 section H.4
  3500. //
  3501. Passphrase Dot11PSKPassphrase `xml:"http://www.onvif.org/ver10/schema Passphrase,omitempty"`
  3502. Extension Dot11PSKSetExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3503. }
  3504. // Dot11PSKSetExtension type
  3505. type Dot11PSKSetExtension struct {
  3506. }
  3507. // NetworkInterfaceSetConfigurationExtension2 type
  3508. type NetworkInterfaceSetConfigurationExtension2 struct {
  3509. }
  3510. // Dot11Capabilities type
  3511. type Dot11Capabilities struct {
  3512. TKIP bool `xml:"http://www.onvif.org/ver10/device/wsdl TKIP,omitempty"`
  3513. ScanAvailableNetworks bool `xml:"http://www.onvif.org/ver10/device/wsdl ScanAvailableNetworks,omitempty"`
  3514. MultipleConfiguration bool `xml:"http://www.onvif.org/ver10/device/wsdl MultipleConfiguration,omitempty"`
  3515. AdHocStationMode bool `xml:"http://www.onvif.org/ver10/device/wsdl AdHocStationMode,omitempty"`
  3516. WEP bool `xml:"http://www.onvif.org/ver10/device/wsdl WEP,omitempty"`
  3517. }
  3518. // Dot11Status type
  3519. type Dot11Status struct {
  3520. SSID Dot11SSIDType `xml:"http://www.onvif.org/ver10/schema SSID,omitempty"`
  3521. BSSID string `xml:"http://www.onvif.org/ver10/device/wsdl BSSID,omitempty"`
  3522. PairCipher Dot11Cipher `xml:"http://www.onvif.org/ver10/schema PairCipher,omitempty"`
  3523. GroupCipher Dot11Cipher `xml:"http://www.onvif.org/ver10/schema GroupCipher,omitempty"`
  3524. SignalStrength Dot11SignalStrength `xml:"http://www.onvif.org/ver10/schema SignalStrength,omitempty"`
  3525. ActiveConfigAlias ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl ActiveConfigAlias,omitempty"`
  3526. }
  3527. // Dot11AvailableNetworks type
  3528. type Dot11AvailableNetworks struct {
  3529. SSID Dot11SSIDType `xml:"http://www.onvif.org/ver10/schema SSID,omitempty"`
  3530. BSSID string `xml:"http://www.onvif.org/ver10/device/wsdl BSSID,omitempty"`
  3531. // See IEEE802.11 7.3.2.25.2 for details.
  3532. AuthAndMangementSuite []Dot11AuthAndMangementSuite `xml:"http://www.onvif.org/ver10/schema AuthAndMangementSuite,omitempty"`
  3533. PairCipher []Dot11Cipher `xml:"http://www.onvif.org/ver10/schema PairCipher,omitempty"`
  3534. GroupCipher []Dot11Cipher `xml:"http://www.onvif.org/ver10/schema GroupCipher,omitempty"`
  3535. SignalStrength Dot11SignalStrength `xml:"http://www.onvif.org/ver10/schema SignalStrength,omitempty"`
  3536. Extension Dot11AvailableNetworksExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3537. }
  3538. // Dot11AvailableNetworksExtension type
  3539. type Dot11AvailableNetworksExtension struct {
  3540. }
  3541. // Capabilities type
  3542. type Capabilities struct {
  3543. // Analytics capabilities
  3544. Analytics AnalyticsCapabilities `xml:"http://www.onvif.org/ver10/schema Analytics,omitempty"`
  3545. // Device capabilities
  3546. Device DeviceCapabilities `xml:"http://www.onvif.org/ver10/schema Device,omitempty"`
  3547. // Event capabilities
  3548. Events EventCapabilities `xml:"http://www.onvif.org/ver10/schema Events,omitempty"`
  3549. // Imaging capabilities
  3550. Imaging ImagingCapabilities `xml:"http://www.onvif.org/ver10/schema Imaging,omitempty"`
  3551. // Media capabilities
  3552. Media MediaCapabilities `xml:"http://www.onvif.org/ver10/schema Media,omitempty"`
  3553. // PTZ capabilities
  3554. PTZ PTZCapabilities `xml:"http://www.onvif.org/ver10/schema PTZ,omitempty"`
  3555. Extension CapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3556. }
  3557. // CapabilitiesExtension type
  3558. type CapabilitiesExtension struct {
  3559. DeviceIO DeviceIOCapabilities `xml:"http://www.onvif.org/ver10/schema DeviceIO,omitempty"`
  3560. Display DisplayCapabilities `xml:"http://www.onvif.org/ver10/schema Display,omitempty"`
  3561. Recording RecordingCapabilities `xml:"http://www.onvif.org/ver10/schema Recording,omitempty"`
  3562. Search SearchCapabilities `xml:"http://www.onvif.org/ver10/schema Search,omitempty"`
  3563. Replay ReplayCapabilities `xml:"http://www.onvif.org/ver10/schema Replay,omitempty"`
  3564. Receiver ReceiverCapabilities `xml:"http://www.onvif.org/ver10/schema Receiver,omitempty"`
  3565. AnalyticsDevice AnalyticsDeviceCapabilities `xml:"http://www.onvif.org/ver10/schema AnalyticsDevice,omitempty"`
  3566. Extensions CapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extensions,omitempty"`
  3567. }
  3568. // CapabilitiesExtension2 type
  3569. type CapabilitiesExtension2 struct {
  3570. }
  3571. // AnalyticsCapabilities type
  3572. type AnalyticsCapabilities struct {
  3573. // Analytics service URI.
  3574. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3575. // Indicates whether or not rules are supported.
  3576. RuleSupport bool `xml:"http://www.onvif.org/ver10/device/wsdl RuleSupport,omitempty"`
  3577. // Indicates whether or not modules are supported.
  3578. AnalyticsModuleSupport bool `xml:"http://www.onvif.org/ver10/device/wsdl AnalyticsModuleSupport,omitempty"`
  3579. }
  3580. // DeviceCapabilities type
  3581. type DeviceCapabilities struct {
  3582. // Device service URI.
  3583. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3584. // Network capabilities.
  3585. Network NetworkCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl Network,omitempty"`
  3586. // System capabilities.
  3587. System SystemCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl System,omitempty"`
  3588. // I/O capabilities.
  3589. IO IOCapabilities `xml:"http://www.onvif.org/ver10/schema IO,omitempty"`
  3590. // Security capabilities.
  3591. Security SecurityCapabilities `xml:"http://www.onvif.org/ver10/device/wsdl Security,omitempty"`
  3592. Extension DeviceCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3593. }
  3594. // DeviceCapabilitiesExtension type
  3595. type DeviceCapabilitiesExtension struct {
  3596. }
  3597. // EventCapabilities type
  3598. type EventCapabilities struct {
  3599. // Event service URI.
  3600. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3601. // Indicates whether or not WS Subscription policy is supported.
  3602. WSSubscriptionPolicySupport bool `xml:"http://www.onvif.org/ver10/device/wsdl WSSubscriptionPolicySupport,omitempty"`
  3603. // Indicates whether or not WS Pull Point is supported.
  3604. WSPullPointSupport bool `xml:"http://www.onvif.org/ver10/device/wsdl WSPullPointSupport,omitempty"`
  3605. // Indicates whether or not WS Pausable Subscription Manager Interface is supported.
  3606. WSPausableSubscriptionManagerInterfaceSupport bool `xml:"http://www.onvif.org/ver10/device/wsdl WSPausableSubscriptionManagerInterfaceSupport,omitempty"`
  3607. }
  3608. // IOCapabilities type
  3609. type IOCapabilities struct {
  3610. // Number of input connectors.
  3611. InputConnectors int32 `xml:"http://www.onvif.org/ver10/schema InputConnectors,omitempty"`
  3612. // Number of relay outputs.
  3613. RelayOutputs int32 `xml:"http://www.onvif.org/ver10/schema RelayOutputs,omitempty"`
  3614. Extension IOCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3615. }
  3616. // IOCapabilitiesExtension type
  3617. type IOCapabilitiesExtension struct {
  3618. Auxiliary bool `xml:"http://www.onvif.org/ver10/device/wsdl Auxiliary,omitempty"`
  3619. AuxiliaryCommands []AuxiliaryData `xml:"http://www.onvif.org/ver10/device/wsdl AuxiliaryCommands,omitempty"`
  3620. Extension IOCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3621. }
  3622. // IOCapabilitiesExtension2 type
  3623. type IOCapabilitiesExtension2 struct {
  3624. }
  3625. // MediaCapabilities type
  3626. type MediaCapabilities struct {
  3627. // Media service URI.
  3628. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3629. // Streaming capabilities.
  3630. StreamingCapabilities RealTimeStreamingCapabilities `xml:"http://www.onvif.org/ver10/schema StreamingCapabilities,omitempty"`
  3631. Extension MediaCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3632. }
  3633. // MediaCapabilitiesExtension type
  3634. type MediaCapabilitiesExtension struct {
  3635. ProfileCapabilities ProfileCapabilities `xml:"http://www.onvif.org/ver10/schema ProfileCapabilities,omitempty"`
  3636. }
  3637. // RealTimeStreamingCapabilities type
  3638. type RealTimeStreamingCapabilities struct {
  3639. // Indicates whether or not RTP multicast is supported.
  3640. RTPMulticast bool `xml:"http://www.onvif.org/ver10/device/wsdl RTPMulticast,omitempty"`
  3641. // Indicates whether or not RTP over TCP is supported.
  3642. RTP_TCP bool `xml:"http://www.onvif.org/ver10/device/wsdl RTP_TCP,omitempty"`
  3643. // Indicates whether or not RTP/RTSP/TCP is supported.
  3644. RTP_RTSP_TCP bool `xml:"http://www.onvif.org/ver10/device/wsdl RTP_RTSP_TCP,omitempty"`
  3645. Extension RealTimeStreamingCapabilitiesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3646. }
  3647. // RealTimeStreamingCapabilitiesExtension type
  3648. type RealTimeStreamingCapabilitiesExtension struct {
  3649. }
  3650. // ProfileCapabilities type
  3651. type ProfileCapabilities struct {
  3652. // Maximum number of profiles.
  3653. MaximumNumberOfProfiles int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfProfiles,omitempty"`
  3654. }
  3655. // NetworkCapabilitiesExtension type
  3656. type NetworkCapabilitiesExtension struct {
  3657. Dot11Configuration bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot11Configuration,omitempty"`
  3658. Extension NetworkCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3659. }
  3660. // NetworkCapabilitiesExtension2 type
  3661. type NetworkCapabilitiesExtension2 struct {
  3662. }
  3663. // SecurityCapabilitiesExtension type
  3664. type SecurityCapabilitiesExtension struct {
  3665. TLS10 bool `xml:"TLS1.0,omitempty"`
  3666. Extension SecurityCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3667. }
  3668. // SecurityCapabilitiesExtension2 type
  3669. type SecurityCapabilitiesExtension2 struct {
  3670. Dot1X bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot1X,omitempty"`
  3671. // EAP Methods supported by the device. The int values refer to the .
  3672. SupportedEAPMethod []int32 `xml:"http://www.onvif.org/ver10/schema SupportedEAPMethod,omitempty"`
  3673. RemoteUserHandling bool `xml:"http://www.onvif.org/ver10/device/wsdl RemoteUserHandling,omitempty"`
  3674. }
  3675. // SystemCapabilitiesExtension type
  3676. type SystemCapabilitiesExtension struct {
  3677. HttpFirmwareUpgrade bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpFirmwareUpgrade,omitempty"`
  3678. HttpSystemBackup bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemBackup,omitempty"`
  3679. HttpSystemLogging bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemLogging,omitempty"`
  3680. HttpSupportInformation bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSupportInformation,omitempty"`
  3681. Extension SystemCapabilitiesExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3682. }
  3683. // SystemCapabilitiesExtension2 type
  3684. type SystemCapabilitiesExtension2 struct {
  3685. }
  3686. // OnvifVersion type
  3687. type OnvifVersion struct {
  3688. // Major version number.
  3689. Major int32 `xml:"http://www.onvif.org/ver10/schema Major,omitempty"`
  3690. //
  3691. // Two digit minor version number.
  3692. // 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.
  3693. // Otherwise, minor number is month of release, such as "06" for June.
  3694. //
  3695. Minor int32 `xml:"http://www.onvif.org/ver10/schema Minor,omitempty"`
  3696. }
  3697. // ImagingCapabilities type
  3698. type ImagingCapabilities struct {
  3699. // Imaging service URI.
  3700. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3701. }
  3702. // PTZCapabilities type
  3703. type PTZCapabilities struct {
  3704. // PTZ service URI.
  3705. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3706. }
  3707. // DeviceIOCapabilities type
  3708. type DeviceIOCapabilities struct {
  3709. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3710. VideoSources int32 `xml:"http://www.onvif.org/ver10/schema VideoSources,omitempty"`
  3711. VideoOutputs int32 `xml:"http://www.onvif.org/ver10/schema VideoOutputs,omitempty"`
  3712. AudioSources int32 `xml:"http://www.onvif.org/ver10/schema AudioSources,omitempty"`
  3713. AudioOutputs int32 `xml:"http://www.onvif.org/ver10/schema AudioOutputs,omitempty"`
  3714. RelayOutputs int32 `xml:"http://www.onvif.org/ver10/schema RelayOutputs,omitempty"`
  3715. }
  3716. // DisplayCapabilities type
  3717. type DisplayCapabilities struct {
  3718. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3719. // Indication that the SetLayout command supports only predefined layouts.
  3720. FixedLayout bool `xml:"http://www.onvif.org/ver10/device/wsdl FixedLayout,omitempty"`
  3721. }
  3722. // RecordingCapabilities type
  3723. type RecordingCapabilities struct {
  3724. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3725. ReceiverSource bool `xml:"http://www.onvif.org/ver10/device/wsdl ReceiverSource,omitempty"`
  3726. MediaProfileSource bool `xml:"http://www.onvif.org/ver10/device/wsdl MediaProfileSource,omitempty"`
  3727. DynamicRecordings bool `xml:"http://www.onvif.org/ver10/device/wsdl DynamicRecordings,omitempty"`
  3728. DynamicTracks bool `xml:"http://www.onvif.org/ver10/device/wsdl DynamicTracks,omitempty"`
  3729. MaxStringLength int32 `xml:"http://www.onvif.org/ver10/schema MaxStringLength,omitempty"`
  3730. }
  3731. // SearchCapabilities type
  3732. type SearchCapabilities struct {
  3733. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3734. MetadataSearch bool `xml:"http://www.onvif.org/ver10/device/wsdl MetadataSearch,omitempty"`
  3735. }
  3736. // ReplayCapabilities type
  3737. type ReplayCapabilities struct {
  3738. // The address of the replay service.
  3739. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3740. }
  3741. // ReceiverCapabilities type
  3742. type ReceiverCapabilities struct {
  3743. // The address of the receiver service.
  3744. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3745. // Indicates whether the device can receive RTP multicast streams.
  3746. RTP_Multicast bool `xml:"http://www.onvif.org/ver10/device/wsdl RTP_Multicast,omitempty"`
  3747. // Indicates whether the device can receive RTP/TCP streams
  3748. RTP_TCP bool `xml:"http://www.onvif.org/ver10/device/wsdl RTP_TCP,omitempty"`
  3749. // Indicates whether the device can receive RTP/RTSP/TCP streams.
  3750. RTP_RTSP_TCP bool `xml:"http://www.onvif.org/ver10/device/wsdl RTP_RTSP_TCP,omitempty"`
  3751. // The maximum number of receivers supported by the device.
  3752. SupportedReceivers int32 `xml:"http://www.onvif.org/ver10/schema SupportedReceivers,omitempty"`
  3753. // The maximum allowed length for RTSP URIs.
  3754. MaximumRTSPURILength int32 `xml:"http://www.onvif.org/ver10/schema MaximumRTSPURILength,omitempty"`
  3755. }
  3756. // AnalyticsDeviceCapabilities type
  3757. type AnalyticsDeviceCapabilities struct {
  3758. XAddr AnyURI `xml:"http://www.onvif.org/ver10/schema XAddr,omitempty"`
  3759. // Obsolete property.
  3760. RuleSupport bool `xml:"http://www.onvif.org/ver10/device/wsdl RuleSupport,omitempty"`
  3761. Extension AnalyticsDeviceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3762. }
  3763. // AnalyticsDeviceExtension type
  3764. type AnalyticsDeviceExtension struct {
  3765. }
  3766. // SystemLog type
  3767. type SystemLog struct {
  3768. // The log information as attachment data.
  3769. Binary AttachmentData `xml:"http://www.onvif.org/ver10/device/wsdl Binary,omitempty"`
  3770. // The log information as character data.
  3771. String string `xml:"http://www.onvif.org/ver10/device/wsdl String,omitempty"`
  3772. }
  3773. // SupportInformation type
  3774. type SupportInformation struct {
  3775. // The support information as attachment data.
  3776. Binary AttachmentData `xml:"http://www.onvif.org/ver10/device/wsdl Binary,omitempty"`
  3777. // The support information as character data.
  3778. String string `xml:"http://www.onvif.org/ver10/device/wsdl String,omitempty"`
  3779. }
  3780. // BinaryData type
  3781. type BinaryData struct {
  3782. // base64 encoded binary data.
  3783. Data []byte `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  3784. ContentType string `xml:"contentType,attr,omitempty"`
  3785. }
  3786. // AttachmentData type
  3787. type AttachmentData struct {
  3788. Include Include `xml:"Include,omitempty"`
  3789. ContentType string `xml:"contentType,attr,omitempty"`
  3790. }
  3791. // BackupFile type
  3792. type BackupFile struct {
  3793. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  3794. Data AttachmentData `xml:"http://www.onvif.org/ver10/device/wsdl Data,omitempty"`
  3795. }
  3796. // SystemLogUriList type
  3797. type SystemLogUriList struct {
  3798. SystemLog []SystemLogUri `xml:"http://www.onvif.org/ver10/device/wsdl SystemLog,omitempty"`
  3799. }
  3800. // SystemLogUri type
  3801. type SystemLogUri struct {
  3802. Type SystemLogType `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  3803. Uri AnyURI `xml:"http://www.onvif.org/ver10/schema Uri,omitempty"`
  3804. }
  3805. // SystemDateTime type
  3806. type SystemDateTime struct {
  3807. // Indicates if the time is set manully or through NTP.
  3808. DateTimeType SetDateTimeType `xml:"http://www.onvif.org/ver10/device/wsdl DateTimeType,omitempty"`
  3809. // Informative indicator whether daylight savings is currently on/off.
  3810. DaylightSavings bool `xml:"http://www.onvif.org/ver10/device/wsdl DaylightSavings,omitempty"`
  3811. // Timezone information in Posix format.
  3812. TimeZone TimeZone `xml:"http://www.onvif.org/ver10/device/wsdl TimeZone,omitempty"`
  3813. // Current system date and time in UTC format. This field is mandatory since version 2.0.
  3814. UTCDateTime string `xml:"http://www.onvif.org/ver10/schema UTCDateTime,omitempty"`
  3815. // Date and time in local format.
  3816. LocalDateTime string `xml:"http://www.onvif.org/ver10/schema LocalDateTime,omitempty"`
  3817. Extension SystemDateTimeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3818. }
  3819. // SystemDateTimeExtension type
  3820. type SystemDateTimeExtension struct {
  3821. }
  3822. // DateTime type
  3823. type DateTime struct {
  3824. Time string `xml:"http://www.onvif.org/ver10/schema DateTime,omitempty"`
  3825. Date string `xml:"http://www.onvif.org/ver10/schema Date,omitempty"`
  3826. }
  3827. // Date type
  3828. type Date struct {
  3829. Year int32 `xml:"http://www.onvif.org/ver10/schema Year,omitempty"`
  3830. // Range is 1 to 12.
  3831. Month int32 `xml:"http://www.onvif.org/ver10/schema Month,omitempty"`
  3832. // Range is 1 to 31.
  3833. Day int32 `xml:"http://www.onvif.org/ver10/schema Day,omitempty"`
  3834. }
  3835. // Time type
  3836. type Time struct {
  3837. // Range is 0 to 23.
  3838. Hour int32 `xml:"http://www.onvif.org/ver10/schema Hour,omitempty"`
  3839. // Range is 0 to 59.
  3840. Minute int32 `xml:"http://www.onvif.org/ver10/schema Minute,omitempty"`
  3841. // Range is 0 to 61 (typically 59).
  3842. Second int32 `xml:"http://www.onvif.org/ver10/schema Second,omitempty"`
  3843. }
  3844. // TimeZone type
  3845. type TimeZone struct {
  3846. // Posix timezone string.
  3847. TZ string `xml:"http://www.onvif.org/ver10/device/wsdl TZ,omitempty"`
  3848. }
  3849. // RemoteUser type
  3850. type RemoteUser struct {
  3851. Username string `xml:"http://www.onvif.org/ver10/device/wsdl Username,omitempty"`
  3852. Password string `xml:"http://www.onvif.org/ver10/device/wsdl Password,omitempty"`
  3853. UseDerivedPassword bool `xml:"http://www.onvif.org/ver10/device/wsdl UseDerivedPassword,omitempty"`
  3854. }
  3855. // User type
  3856. type User struct {
  3857. // Username string.
  3858. Username string `xml:"http://www.onvif.org/ver10/device/wsdl Username,omitempty"`
  3859. // Password string.
  3860. Password string `xml:"http://www.onvif.org/ver10/device/wsdl Password,omitempty"`
  3861. // User level string.
  3862. UserLevel UserLevel `xml:"http://www.onvif.org/ver10/schema UserLevel,omitempty"`
  3863. Extension UserExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3864. }
  3865. // UserExtension type
  3866. type UserExtension struct {
  3867. }
  3868. // CertificateGenerationParameters type
  3869. type CertificateGenerationParameters struct {
  3870. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3871. Subject string `xml:"http://www.onvif.org/ver10/device/wsdl Subject,omitempty"`
  3872. ValidNotBefore string `xml:"http://www.onvif.org/ver10/device/wsdl ValidNotBefore,omitempty"`
  3873. ValidNotAfter string `xml:"http://www.onvif.org/ver10/device/wsdl ValidNotAfter,omitempty"`
  3874. Extension CertificateGenerationParametersExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3875. }
  3876. // CertificateGenerationParametersExtension type
  3877. type CertificateGenerationParametersExtension struct {
  3878. }
  3879. // Certificate type
  3880. type Certificate struct {
  3881. // Certificate id.
  3882. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3883. // base64 encoded DER representation of certificate.
  3884. Certificate BinaryData `xml:"http://www.onvif.org/ver10/device/wsdl Certificate,omitempty"`
  3885. }
  3886. // CertificateStatus type
  3887. type CertificateStatus struct {
  3888. // Certificate id.
  3889. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3890. // Indicates whether or not a certificate is used in a HTTPS configuration.
  3891. Status bool `xml:"http://www.onvif.org/ver10/device/wsdl Status,omitempty"`
  3892. }
  3893. // CertificateWithPrivateKey type
  3894. type CertificateWithPrivateKey struct {
  3895. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3896. Certificate BinaryData `xml:"http://www.onvif.org/ver10/device/wsdl Certificate,omitempty"`
  3897. PrivateKey BinaryData `xml:"http://www.onvif.org/ver10/device/wsdl PrivateKey,omitempty"`
  3898. }
  3899. // CertificateInformation type
  3900. type CertificateInformation struct {
  3901. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3902. IssuerDN string `xml:"http://www.onvif.org/ver10/device/wsdl IssuerDN,omitempty"`
  3903. SubjectDN string `xml:"http://www.onvif.org/ver10/device/wsdl SubjectDN,omitempty"`
  3904. KeyUsage CertificateUsage `xml:"http://www.onvif.org/ver10/schema KeyUsage,omitempty"`
  3905. ExtendedKeyUsage CertificateUsage `xml:"http://www.onvif.org/ver10/schema ExtendedKeyUsage,omitempty"`
  3906. KeyLength int32 `xml:"http://www.onvif.org/ver10/schema KeyLength,omitempty"`
  3907. Version string `xml:"http://www.onvif.org/ver10/device/wsdl Version,omitempty"`
  3908. SerialNum string `xml:"http://www.onvif.org/ver10/device/wsdl SerialNum,omitempty"`
  3909. // Validity Range is from "NotBefore" to "NotAfter"; the corresponding DateTimeRange is from "From" to "Until"
  3910. SignatureAlgorithm string `xml:"http://www.onvif.org/ver10/device/wsdl SignatureAlgorithm,omitempty"`
  3911. Validity DateTimeRange `xml:"http://www.onvif.org/ver10/schema Validity,omitempty"`
  3912. Extension CertificateInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3913. }
  3914. // CertificateUsage type
  3915. type CertificateUsage struct {
  3916. Value string
  3917. Critical bool `xml:"http://www.onvif.org/ver10/device/wsdl Critical,attr,omitempty"`
  3918. }
  3919. // CertificateInformationExtension type
  3920. type CertificateInformationExtension struct {
  3921. }
  3922. // Dot1XConfiguration type
  3923. type Dot1XConfiguration struct {
  3924. Dot1XConfigurationToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfigurationToken,omitempty"`
  3925. Identity string `xml:"http://www.onvif.org/ver10/device/wsdl Identity,omitempty"`
  3926. AnonymousID string `xml:"http://www.onvif.org/ver10/device/wsdl AnonymousID,omitempty"`
  3927. //
  3928. // EAP Method type as defined in .
  3929. //
  3930. EAPMethod int32 `xml:"http://www.onvif.org/ver10/schema EAPMethod,omitempty"`
  3931. CACertificateID []string `xml:"http://www.onvif.org/ver10/device/wsdl CACertificateID,omitempty"`
  3932. EAPMethodConfiguration EAPMethodConfiguration `xml:"http://www.onvif.org/ver10/schema EAPMethodConfiguration,omitempty"`
  3933. Extension Dot1XConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3934. }
  3935. // Dot1XConfigurationExtension type
  3936. type Dot1XConfigurationExtension struct {
  3937. }
  3938. // EAPMethodConfiguration type
  3939. type EAPMethodConfiguration struct {
  3940. // Confgiuration information for TLS Method.
  3941. TLSConfiguration TLSConfiguration `xml:"http://www.onvif.org/ver10/schema TLSConfiguration,omitempty"`
  3942. // Password for those EAP Methods that require a password. The password shall never be returned on a get method.
  3943. Password string `xml:"http://www.onvif.org/ver10/device/wsdl Password,omitempty"`
  3944. Extension EapMethodExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3945. }
  3946. // EapMethodExtension type
  3947. type EapMethodExtension struct {
  3948. }
  3949. // TLSConfiguration type
  3950. type TLSConfiguration struct {
  3951. CertificateID string `xml:"http://www.onvif.org/ver10/device/wsdl CertificateID,omitempty"`
  3952. }
  3953. // RelayOutputSettings type
  3954. type RelayOutputSettings struct {
  3955. //
  3956. // 'Bistable' or 'Monostable'
  3957. //
  3958. //
  3959. Mode RelayMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  3960. // 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.
  3961. DelayTime Duration `xml:"http://www.onvif.org/ver10/schema DelayTime,omitempty"`
  3962. //
  3963. // 'open' or 'closed'
  3964. //
  3965. //
  3966. IdleState RelayIdleState `xml:"http://www.onvif.org/ver10/schema IdleState,omitempty"`
  3967. }
  3968. // RelayOutput type
  3969. type RelayOutput struct {
  3970. *DeviceEntity
  3971. Properties RelayOutputSettings `xml:"http://www.onvif.org/ver10/device/wsdl Properties,omitempty"`
  3972. }
  3973. // PTZNode type
  3974. type PTZNode struct {
  3975. *DeviceEntity
  3976. //
  3977. // A unique identifier that is used to reference PTZ Nodes.
  3978. //
  3979. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  3980. //
  3981. // A list of Coordinate Systems available for the PTZ Node. For each Coordinate System, the PTZ Node MUST specify its allowed range.
  3982. //
  3983. SupportedPTZSpaces PTZSpaces `xml:"http://www.onvif.org/ver10/schema SupportedPTZSpaces,omitempty"`
  3984. //
  3985. // All preset operations MUST be available for this PTZ Node if one preset is supported.
  3986. //
  3987. MaximumNumberOfPresets int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfPresets,omitempty"`
  3988. //
  3989. // 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.
  3990. //
  3991. HomeSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl HomeSupported,omitempty"`
  3992. //
  3993. // A list of supported Auxiliary commands. If the list is not empty, the Auxiliary Operations MUST be available for this PTZ Node.
  3994. //
  3995. AuxiliaryCommands []AuxiliaryData `xml:"http://www.onvif.org/ver10/device/wsdl AuxiliaryCommands,omitempty"`
  3996. Extension PTZNodeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  3997. //
  3998. // Indication whether the HomePosition of a Node is fixed or it can be changed via the SetHomePosition command.
  3999. //
  4000. FixedHomePosition bool `xml:"http://www.onvif.org/ver10/device/wsdl FixedHomePosition,attr,omitempty"`
  4001. //
  4002. // Indication whether the Node supports the geo-referenced move command.
  4003. //
  4004. GeoMove bool `xml:"http://www.onvif.org/ver10/device/wsdl GeoMove,attr,omitempty"`
  4005. }
  4006. // PTZNodeExtension type
  4007. type PTZNodeExtension struct {
  4008. //
  4009. // Detail of supported Preset Tour feature.
  4010. //
  4011. SupportedPresetTour PTZPresetTourSupported `xml:"http://www.onvif.org/ver10/schema SupportedPresetTour,omitempty"`
  4012. Extension PTZNodeExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4013. }
  4014. // PTZNodeExtension2 type
  4015. type PTZNodeExtension2 struct {
  4016. }
  4017. // PTZPresetTourSupported type
  4018. type PTZPresetTourSupported struct {
  4019. // 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.
  4020. MaximumNumberOfPresetTours int32 `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfPresetTours,omitempty"`
  4021. // Indicates which preset tour operations are available for this PTZ Node.
  4022. PTZPresetTourOperation []PTZPresetTourOperation `xml:"http://www.onvif.org/ver10/schema PTZPresetTourOperation,omitempty"`
  4023. Extension PTZPresetTourSupportedExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4024. }
  4025. // PTZPresetTourSupportedExtension type
  4026. type PTZPresetTourSupportedExtension struct {
  4027. }
  4028. // PTZConfiguration type
  4029. type PTZConfiguration struct {
  4030. *ConfigurationEntity
  4031. //
  4032. // A mandatory reference to the PTZ Node that the PTZ Configuration belongs to.
  4033. //
  4034. NodeToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl NodeToken,omitempty"`
  4035. //
  4036. // If the PTZ Node supports absolute Pan/Tilt movements, it shall specify one Absolute Pan/Tilt Position Space as default.
  4037. //
  4038. DefaultAbsolutePantTiltPositionSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultAbsolutePantTiltPositionSpace,omitempty"`
  4039. //
  4040. // If the PTZ Node supports absolute zoom movements, it shall specify one Absolute Zoom Position Space as default.
  4041. //
  4042. DefaultAbsoluteZoomPositionSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultAbsoluteZoomPositionSpace,omitempty"`
  4043. //
  4044. // If the PTZ Node supports relative Pan/Tilt movements, it shall specify one RelativePan/Tilt Translation Space as default.
  4045. //
  4046. DefaultRelativePanTiltTranslationSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultRelativePanTiltTranslationSpace,omitempty"`
  4047. //
  4048. // If the PTZ Node supports relative zoom movements, it shall specify one Relative Zoom Translation Space as default.
  4049. //
  4050. DefaultRelativeZoomTranslationSpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultRelativeZoomTranslationSpace,omitempty"`
  4051. //
  4052. // If the PTZ Node supports continuous Pan/Tilt movements, it shall specify one Continuous Pan/Tilt Velocity Space as default.
  4053. //
  4054. DefaultContinuousPanTiltVelocitySpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultContinuousPanTiltVelocitySpace,omitempty"`
  4055. //
  4056. // If the PTZ Node supports continuous zoom movements, it shall specify one Continuous Zoom Velocity Space as default.
  4057. //
  4058. DefaultContinuousZoomVelocitySpace AnyURI `xml:"http://www.onvif.org/ver10/schema DefaultContinuousZoomVelocitySpace,omitempty"`
  4059. //
  4060. // If the PTZ Node supports absolute or relative PTZ movements, it shall specify corresponding default Pan/Tilt and Zoom speeds.
  4061. //
  4062. DefaultPTZSpeed PTZSpeed `xml:"http://www.onvif.org/ver10/schema DefaultPTZSpeed,omitempty"`
  4063. //
  4064. // If the PTZ Node supports continuous movements, it shall specify a default timeout, after which the movement stops.
  4065. //
  4066. DefaultPTZTimeout Duration `xml:"http://www.onvif.org/ver10/schema DefaultPTZTimeout,omitempty"`
  4067. //
  4068. // 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.
  4069. //
  4070. PanTiltLimits PanTiltLimits `xml:"http://www.onvif.org/ver10/schema PanTiltLimits,omitempty"`
  4071. //
  4072. // 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.
  4073. //
  4074. ZoomLimits ZoomLimits `xml:"http://www.onvif.org/ver10/schema ZoomLimits,omitempty"`
  4075. Extension PTZConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4076. // The optional acceleration ramp used by the device when moving.
  4077. MoveRamp int32 `xml:"http://www.onvif.org/ver10/schema MoveRamp,attr,omitempty"`
  4078. // The optional acceleration ramp used by the device when recalling presets.
  4079. PresetRamp int32 `xml:"http://www.onvif.org/ver10/schema PresetRamp,attr,omitempty"`
  4080. // The optional acceleration ramp used by the device when executing PresetTours.
  4081. PresetTourRamp int32 `xml:"http://www.onvif.org/ver10/schema PresetTourRamp,attr,omitempty"`
  4082. }
  4083. // PTZConfigurationExtension type
  4084. type PTZConfigurationExtension struct {
  4085. // Optional element to configure PT Control Direction related features.
  4086. PTControlDirection PTControlDirection `xml:"http://www.onvif.org/ver10/schema PTControlDirection,omitempty"`
  4087. Extension PTZConfigurationExtension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4088. }
  4089. // PTZConfigurationExtension2 type
  4090. type PTZConfigurationExtension2 struct {
  4091. }
  4092. // PTControlDirection type
  4093. type PTControlDirection struct {
  4094. // Optional element to configure related parameters for E-Flip.
  4095. EFlip EFlip `xml:"http://www.onvif.org/ver10/schema EFlip,omitempty"`
  4096. // Optional element to configure related parameters for reversing of PT Control Direction.
  4097. Reverse Reverse `xml:"http://www.onvif.org/ver10/schema Reverse,omitempty"`
  4098. Extension PTControlDirectionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4099. }
  4100. // PTControlDirectionExtension type
  4101. type PTControlDirectionExtension struct {
  4102. }
  4103. // EFlip type
  4104. type EFlip struct {
  4105. // Parameter to enable/disable E-Flip feature.
  4106. Mode EFlipMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4107. }
  4108. // Reverse type
  4109. type Reverse struct {
  4110. // Parameter to enable/disable Reverse feature.
  4111. Mode ReverseMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4112. }
  4113. // PTZConfigurationOptions type
  4114. type PTZConfigurationOptions struct {
  4115. //
  4116. // A list of supported coordinate systems including their range limitations.
  4117. //
  4118. Spaces PTZSpaces `xml:"http://www.onvif.org/ver10/schema Spaces,omitempty"`
  4119. //
  4120. // A timeout Range within which Timeouts are accepted by the PTZ Node.
  4121. //
  4122. PTZTimeout DurationRange `xml:"http://www.onvif.org/ver10/schema PTZTimeout,omitempty"`
  4123. // Supported options for PT Direction Control.
  4124. PTControlDirection PTControlDirectionOptions `xml:"http://www.onvif.org/ver10/schema PTControlDirection,omitempty"`
  4125. Extension PTZConfigurationOptions2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4126. //
  4127. // The list of acceleration ramps supported by the device. The
  4128. // smallest acceleration value corresponds to the minimal index, the
  4129. // highest acceleration corresponds to the maximum index.
  4130. //
  4131. PTZRamps IntAttrList `xml:"http://www.onvif.org/ver10/schema PTZRamps,attr,omitempty"`
  4132. }
  4133. // PTZConfigurationOptions2 type
  4134. type PTZConfigurationOptions2 struct {
  4135. }
  4136. // PTControlDirectionOptions type
  4137. type PTControlDirectionOptions struct {
  4138. // Supported options for EFlip feature.
  4139. EFlip EFlipOptions `xml:"http://www.onvif.org/ver10/schema EFlip,omitempty"`
  4140. // Supported options for Reverse feature.
  4141. Reverse ReverseOptions `xml:"http://www.onvif.org/ver10/schema Reverse,omitempty"`
  4142. Extension PTControlDirectionOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4143. }
  4144. // PTControlDirectionOptionsExtension type
  4145. type PTControlDirectionOptionsExtension struct {
  4146. }
  4147. // EFlipOptions type
  4148. type EFlipOptions struct {
  4149. // Options of EFlip mode parameter.
  4150. Mode []EFlipMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4151. Extension EFlipOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4152. }
  4153. // EFlipOptionsExtension type
  4154. type EFlipOptionsExtension struct {
  4155. }
  4156. // ReverseOptions type
  4157. type ReverseOptions struct {
  4158. // Options of Reverse mode parameter.
  4159. Mode []ReverseMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4160. Extension ReverseOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4161. }
  4162. // ReverseOptionsExtension type
  4163. type ReverseOptionsExtension struct {
  4164. }
  4165. // PanTiltLimits type
  4166. type PanTiltLimits struct {
  4167. //
  4168. // A range of pan tilt limits.
  4169. //
  4170. Range Space2DDescription `xml:"http://www.onvif.org/ver10/schema Range,omitempty"`
  4171. }
  4172. // ZoomLimits type
  4173. type ZoomLimits struct {
  4174. //
  4175. // A range of zoom limit
  4176. //
  4177. Range Space1DDescription `xml:"http://www.onvif.org/ver10/schema Range,omitempty"`
  4178. }
  4179. // PTZSpaces type
  4180. type PTZSpaces struct {
  4181. //
  4182. // 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.
  4183. // 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.
  4184. //
  4185. AbsolutePanTiltPositionSpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema AbsolutePanTiltPositionSpace,omitempty"`
  4186. //
  4187. // 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.
  4188. // Instead, the range should be defined as the full range of the Zoom normalized to the range 0 (wide) to 1 (tele).
  4189. // There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension.
  4190. //
  4191. AbsoluteZoomPositionSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema AbsoluteZoomPositionSpace,omitempty"`
  4192. //
  4193. // 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.
  4194. // 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,
  4195. // where positive translation would mean clockwise rotation or movement in right/up direction resulting in the following space description.
  4196. //
  4197. RelativePanTiltTranslationSpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema RelativePanTiltTranslationSpace,omitempty"`
  4198. //
  4199. // 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.
  4200. // 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,
  4201. // 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).
  4202. // 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.
  4203. //
  4204. RelativeZoomTranslationSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema RelativeZoomTranslationSpace,omitempty"`
  4205. //
  4206. // The generic Pan/Tilt velocity space shall be provided by every PTZ node, since it does not relate to a specific physical range.
  4207. // 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
  4208. // 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.
  4209. //
  4210. ContinuousPanTiltVelocitySpace []Space2DDescription `xml:"http://www.onvif.org/ver10/schema ContinuousPanTiltVelocitySpace,omitempty"`
  4211. //
  4212. // 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,
  4213. // where a positive velocity would map to TELE direction. A generic zoom velocity space description resembles the following.
  4214. //
  4215. ContinuousZoomVelocitySpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema ContinuousZoomVelocitySpace,omitempty"`
  4216. //
  4217. // The speed space specifies the speed for a Pan/Tilt movement when moving to an absolute position or to a relative translation.
  4218. // In contrast to the velocity spaces, speed spaces do not contain any directional information. The speed of a combined Pan/Tilt
  4219. // movement is represented by a single non-negative scalar value.
  4220. //
  4221. PanTiltSpeedSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema PanTiltSpeedSpace,omitempty"`
  4222. //
  4223. // The speed space specifies the speed for a Zoom movement when moving to an absolute position or to a relative translation.
  4224. // In contrast to the velocity spaces, speed spaces do not contain any directional information.
  4225. //
  4226. ZoomSpeedSpace []Space1DDescription `xml:"http://www.onvif.org/ver10/schema ZoomSpeedSpace,omitempty"`
  4227. Extension PTZSpacesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4228. }
  4229. // PTZSpacesExtension type
  4230. type PTZSpacesExtension struct {
  4231. }
  4232. // Space2DDescription type
  4233. type Space2DDescription struct {
  4234. //
  4235. // A URI of coordinate systems.
  4236. //
  4237. URI AnyURI `xml:"http://www.onvif.org/ver10/schema URI,omitempty"`
  4238. //
  4239. // A range of x-axis.
  4240. //
  4241. XRange FloatRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  4242. //
  4243. // A range of y-axis.
  4244. //
  4245. YRange FloatRange `xml:"http://www.onvif.org/ver10/schema YRange,omitempty"`
  4246. }
  4247. // Space1DDescription type
  4248. type Space1DDescription struct {
  4249. //
  4250. // A URI of coordinate systems.
  4251. //
  4252. URI AnyURI `xml:"http://www.onvif.org/ver10/schema URI,omitempty"`
  4253. //
  4254. // A range of x-axis.
  4255. //
  4256. XRange FloatRange `xml:"http://www.onvif.org/ver10/schema XRange,omitempty"`
  4257. }
  4258. // PTZSpeed type
  4259. type PTZSpeed struct {
  4260. // 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.
  4261. PanTilt Vector2D `xml:"http://www.onvif.org/ver10/schema PanTilt,omitempty"`
  4262. //
  4263. // A zoom speed. If omitted in a request, the current (if any) Zoom movement should not be affected.
  4264. //
  4265. Zoom Vector1D `xml:"http://www.onvif.org/ver10/schema Zoom,omitempty"`
  4266. }
  4267. // PTZPreset type
  4268. type PTZPreset struct {
  4269. //
  4270. // A list of preset position name.
  4271. //
  4272. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  4273. //
  4274. // A list of preset position.
  4275. //
  4276. PTZPosition PTZVector `xml:"http://www.onvif.org/ver10/schema PTZPosition,omitempty"`
  4277. Token ReferenceToken `xml:"token,attr,omitempty"`
  4278. }
  4279. // PTZPresetTourSpot type
  4280. type PTZPresetTourSpot struct {
  4281. // Detail definition of preset position of the tour spot.
  4282. PresetDetail PTZPresetTourPresetDetail `xml:"http://www.onvif.org/ver10/schema PresetDetail,omitempty"`
  4283. // Optional parameter to specify Pan/Tilt and Zoom speed on moving toward this tour spot.
  4284. Speed PTZSpeed `xml:"http://www.onvif.org/ver10/schema Speed,omitempty"`
  4285. // Optional parameter to specify time duration of staying on this tour sport.
  4286. StayTime Duration `xml:"http://www.onvif.org/ver10/schema StayTime,omitempty"`
  4287. Extension PTZPresetTourSpotExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4288. }
  4289. // PTZPresetTourSpotExtension type
  4290. type PTZPresetTourSpotExtension struct {
  4291. }
  4292. // PTZPresetTourPresetDetail type
  4293. type PTZPresetTourPresetDetail struct {
  4294. // Option to specify the preset position with Preset Token defined in advance.
  4295. PresetToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl PresetToken,omitempty"`
  4296. // 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.
  4297. Home bool `xml:"http://www.onvif.org/ver10/device/wsdl Home,omitempty"`
  4298. // Option to specify the preset position with vector of PTZ node directly.
  4299. PTZPosition PTZVector `xml:"http://www.onvif.org/ver10/schema PTZPosition,omitempty"`
  4300. TypeExtension PTZPresetTourTypeExtension `xml:"http://www.onvif.org/ver10/schema TypeExtension,omitempty"`
  4301. }
  4302. // PTZPresetTourTypeExtension type
  4303. type PTZPresetTourTypeExtension struct {
  4304. }
  4305. // PTZPresetTourStatus type
  4306. type PTZPresetTourStatus struct {
  4307. // Indicates state of this preset tour by Idle/Touring/Paused.
  4308. State PTZPresetTourState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  4309. // Indicates a tour spot currently staying.
  4310. CurrentTourSpot PTZPresetTourSpot `xml:"http://www.onvif.org/ver10/schema CurrentTourSpot,omitempty"`
  4311. Extension PTZPresetTourStatusExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4312. }
  4313. // PTZPresetTourStatusExtension type
  4314. type PTZPresetTourStatusExtension struct {
  4315. }
  4316. // PTZPresetTourStartingCondition type
  4317. type PTZPresetTourStartingCondition struct {
  4318. // Optional parameter to specify how many times the preset tour is recurred.
  4319. RecurringTime int32 `xml:"http://www.onvif.org/ver10/schema RecurringTime,omitempty"`
  4320. // Optional parameter to specify how long time duration the preset tour is recurred.
  4321. RecurringDuration Duration `xml:"http://www.onvif.org/ver10/schema RecurringDuration,omitempty"`
  4322. // Optional parameter to choose which direction the preset tour goes. Forward shall be chosen in case it is omitted.
  4323. Direction PTZPresetTourDirection `xml:"http://www.onvif.org/ver10/schema Direction,omitempty"`
  4324. Extension PTZPresetTourStartingConditionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4325. // 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.
  4326. RandomPresetOrder bool `xml:"http://www.onvif.org/ver10/device/wsdl RandomPresetOrder,attr,omitempty"`
  4327. }
  4328. // PTZPresetTourStartingConditionExtension type
  4329. type PTZPresetTourStartingConditionExtension struct {
  4330. }
  4331. // PTZPresetTourPresetDetailOptions type
  4332. type PTZPresetTourPresetDetailOptions struct {
  4333. // A list of available Preset Tokens for tour spots.
  4334. PresetToken []ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl PresetToken,omitempty"`
  4335. // An option to indicate Home postion for tour spots.
  4336. Home bool `xml:"http://www.onvif.org/ver10/device/wsdl Home,omitempty"`
  4337. // Supported range of Pan and Tilt for tour spots.
  4338. PanTiltPositionSpace Space2DDescription `xml:"http://www.onvif.org/ver10/schema PanTiltPositionSpace,omitempty"`
  4339. // Supported range of Zoom for a tour spot.
  4340. ZoomPositionSpace Space1DDescription `xml:"http://www.onvif.org/ver10/schema ZoomPositionSpace,omitempty"`
  4341. Extension PTZPresetTourPresetDetailOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4342. }
  4343. // PTZPresetTourPresetDetailOptionsExtension type
  4344. type PTZPresetTourPresetDetailOptionsExtension struct {
  4345. }
  4346. // PTZPresetTourStartingConditionOptions type
  4347. type PTZPresetTourStartingConditionOptions struct {
  4348. // Supported range of Recurring Time.
  4349. RecurringTime IntRange `xml:"http://www.onvif.org/ver10/schema RecurringTime,omitempty"`
  4350. // Supported range of Recurring Duration.
  4351. RecurringDuration DurationRange `xml:"http://www.onvif.org/ver10/schema RecurringDuration,omitempty"`
  4352. // Supported options for Direction of Preset Tour.
  4353. Direction []PTZPresetTourDirection `xml:"http://www.onvif.org/ver10/schema Direction,omitempty"`
  4354. Extension PTZPresetTourStartingConditionOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4355. }
  4356. // PTZPresetTourStartingConditionOptionsExtension type
  4357. type PTZPresetTourStartingConditionOptionsExtension struct {
  4358. }
  4359. // ImagingStatus type
  4360. type ImagingStatus struct {
  4361. FocusStatus FocusStatus `xml:"http://www.onvif.org/ver10/schema FocusStatus,omitempty"`
  4362. }
  4363. // FocusStatus type
  4364. type FocusStatus struct {
  4365. //
  4366. // Status of focus position.
  4367. //
  4368. Position float32 `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  4369. //
  4370. // Status of focus MoveStatus.
  4371. //
  4372. MoveStatus MoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  4373. //
  4374. // Error status of focus.
  4375. //
  4376. Error string `xml:"http://www.onvif.org/ver10/device/wsdl Error,omitempty"`
  4377. }
  4378. // FocusConfiguration type
  4379. type FocusConfiguration struct {
  4380. AutoFocusMode AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusMode,omitempty"`
  4381. DefaultSpeed float32 `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4382. // Parameter to set autofocus near limit (unit: meter).
  4383. NearLimit float32 `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4384. // Parameter to set autofocus far limit (unit: meter).
  4385. // If set to 0.0, infinity will be used.
  4386. FarLimit float32 `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4387. }
  4388. // ImagingSettings type
  4389. type ImagingSettings struct {
  4390. // Enabled/disabled BLC mode (on/off).
  4391. BacklightCompensation BacklightCompensation `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  4392. // Image brightness (unit unspecified).
  4393. Brightness float32 `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  4394. // Color saturation of the image (unit unspecified).
  4395. ColorSaturation float32 `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  4396. // Contrast of the image (unit unspecified).
  4397. Contrast float32 `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  4398. // Exposure mode of the device.
  4399. Exposure Exposure `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  4400. // Focus configuration.
  4401. Focus FocusConfiguration `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  4402. // Infrared Cutoff Filter settings.
  4403. IrCutFilter IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilter,omitempty"`
  4404. // Sharpness of the Video image.
  4405. Sharpness float32 `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  4406. // WDR settings.
  4407. WideDynamicRange WideDynamicRange `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  4408. // White balance settings.
  4409. WhiteBalance WhiteBalance `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  4410. Extension ImagingSettingsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4411. }
  4412. // ImagingSettingsExtension type
  4413. type ImagingSettingsExtension struct {
  4414. }
  4415. // Exposure type
  4416. type Exposure struct {
  4417. //
  4418. // Exposure Mode
  4419. //
  4420. //
  4421. Mode ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4422. //
  4423. // The exposure priority mode (low noise/framerate).
  4424. //
  4425. Priority ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4426. //
  4427. // Rectangular exposure mask.
  4428. //
  4429. Window Rectangle `xml:"http://www.onvif.org/ver10/schema Window,omitempty"`
  4430. //
  4431. // Minimum value of exposure time range allowed to be used by the algorithm.
  4432. //
  4433. MinExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  4434. //
  4435. // Maximum value of exposure time range allowed to be used by the algorithm.
  4436. //
  4437. MaxExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  4438. //
  4439. // Minimum value of the sensor gain range that is allowed to be used by the algorithm.
  4440. //
  4441. MinGain float32 `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  4442. //
  4443. // Maximum value of the sensor gain range that is allowed to be used by the algorithm.
  4444. //
  4445. MaxGain float32 `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  4446. //
  4447. // Minimum value of the iris range allowed to be used by the algorithm.
  4448. //
  4449. MinIris float32 `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  4450. //
  4451. // Maximum value of the iris range allowed to be used by the algorithm.
  4452. //
  4453. MaxIris float32 `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  4454. //
  4455. // The fixed exposure time used by the image sensor (μs).
  4456. //
  4457. ExposureTime float32 `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  4458. //
  4459. // The fixed gain used by the image sensor (dB).
  4460. //
  4461. Gain float32 `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  4462. //
  4463. // The fixed attenuation of input light affected by the iris (dB). 0dB maps to a fully opened iris.
  4464. //
  4465. Iris float32 `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  4466. }
  4467. // WideDynamicRange type
  4468. type WideDynamicRange struct {
  4469. //
  4470. // White dynamic range (on/off)
  4471. //
  4472. Mode WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4473. //
  4474. // Optional level parameter (unitless)
  4475. //
  4476. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4477. }
  4478. // BacklightCompensation type
  4479. type BacklightCompensation struct {
  4480. // Backlight compensation mode (on/off).
  4481. Mode BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4482. // Optional level parameter (unit unspecified).
  4483. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4484. }
  4485. // ImagingOptions type
  4486. type ImagingOptions struct {
  4487. BacklightCompensation BacklightCompensationOptions `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  4488. Brightness FloatRange `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  4489. ColorSaturation FloatRange `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  4490. Contrast FloatRange `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  4491. Exposure ExposureOptions `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  4492. Focus FocusOptions `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  4493. IrCutFilterModes []IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilterModes,omitempty"`
  4494. Sharpness FloatRange `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  4495. WideDynamicRange WideDynamicRangeOptions `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  4496. WhiteBalance WhiteBalanceOptions `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  4497. }
  4498. // WideDynamicRangeOptions type
  4499. type WideDynamicRangeOptions struct {
  4500. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4501. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4502. }
  4503. // BacklightCompensationOptions type
  4504. type BacklightCompensationOptions struct {
  4505. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4506. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4507. }
  4508. // FocusOptions type
  4509. type FocusOptions struct {
  4510. AutoFocusModes []AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusModes,omitempty"`
  4511. DefaultSpeed FloatRange `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4512. NearLimit FloatRange `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4513. FarLimit FloatRange `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4514. }
  4515. // ExposureOptions type
  4516. type ExposureOptions struct {
  4517. Mode []ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4518. Priority []ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4519. MinExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  4520. MaxExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  4521. MinGain FloatRange `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  4522. MaxGain FloatRange `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  4523. MinIris FloatRange `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  4524. MaxIris FloatRange `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  4525. ExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  4526. Gain FloatRange `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  4527. Iris FloatRange `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  4528. }
  4529. // WhiteBalanceOptions type
  4530. type WhiteBalanceOptions struct {
  4531. Mode []WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4532. YrGain FloatRange `xml:"http://www.onvif.org/ver10/schema YrGain,omitempty"`
  4533. YbGain FloatRange `xml:"http://www.onvif.org/ver10/schema YbGain,omitempty"`
  4534. }
  4535. // WhiteBalance type
  4536. type WhiteBalance struct {
  4537. // Auto whitebalancing mode (auto/manual).
  4538. Mode WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4539. // Rgain (unitless).
  4540. CrGain float32 `xml:"http://www.onvif.org/ver10/schema CrGain,omitempty"`
  4541. // Bgain (unitless).
  4542. CbGain float32 `xml:"http://www.onvif.org/ver10/schema CbGain,omitempty"`
  4543. }
  4544. // ImagingStatus20 type
  4545. type ImagingStatus20 struct {
  4546. //
  4547. // Status of focus.
  4548. //
  4549. FocusStatus20 FocusStatus20 `xml:"http://www.onvif.org/ver10/schema FocusStatus20,omitempty"`
  4550. Extension ImagingStatus20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4551. }
  4552. // ImagingStatus20Extension type
  4553. type ImagingStatus20Extension struct {
  4554. }
  4555. // FocusStatus20 type
  4556. type FocusStatus20 struct {
  4557. //
  4558. // Status of focus position.
  4559. //
  4560. Position float32 `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  4561. //
  4562. // Status of focus MoveStatus.
  4563. //
  4564. MoveStatus MoveStatus `xml:"http://www.onvif.org/ver10/schema MoveStatus,omitempty"`
  4565. //
  4566. // Error status of focus.
  4567. //
  4568. Error string `xml:"http://www.onvif.org/ver10/device/wsdl Error,omitempty"`
  4569. Extension FocusStatus20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4570. }
  4571. // FocusStatus20Extension type
  4572. type FocusStatus20Extension struct {
  4573. }
  4574. // ImagingSettings20 type
  4575. type ImagingSettings20 struct {
  4576. // Enabled/disabled BLC mode (on/off).
  4577. BacklightCompensation BacklightCompensation20 `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  4578. // Image brightness (unit unspecified).
  4579. Brightness float32 `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  4580. // Color saturation of the image (unit unspecified).
  4581. ColorSaturation float32 `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  4582. // Contrast of the image (unit unspecified).
  4583. Contrast float32 `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  4584. // Exposure mode of the device.
  4585. Exposure Exposure20 `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  4586. // Focus configuration.
  4587. Focus FocusConfiguration20 `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  4588. // Infrared Cutoff Filter settings.
  4589. IrCutFilter IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilter,omitempty"`
  4590. // Sharpness of the Video image.
  4591. Sharpness float32 `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  4592. // WDR settings.
  4593. WideDynamicRange WideDynamicRange20 `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  4594. // White balance settings.
  4595. WhiteBalance WhiteBalance20 `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  4596. Extension ImagingSettingsExtension20 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4597. }
  4598. // ImagingSettingsExtension20 type
  4599. type ImagingSettingsExtension20 struct {
  4600. // Optional element to configure Image Stabilization feature.
  4601. ImageStabilization ImageStabilization `xml:"http://www.onvif.org/ver10/schema ImageStabilization,omitempty"`
  4602. Extension ImagingSettingsExtension202 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4603. }
  4604. // ImagingSettingsExtension202 type
  4605. type ImagingSettingsExtension202 struct {
  4606. // An optional parameter applied to only auto mode to adjust timing of toggling Ir cut filter.
  4607. IrCutFilterAutoAdjustment []IrCutFilterAutoAdjustment `xml:"http://www.onvif.org/ver10/schema IrCutFilterAutoAdjustment,omitempty"`
  4608. Extension ImagingSettingsExtension203 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4609. }
  4610. // ImagingSettingsExtension203 type
  4611. type ImagingSettingsExtension203 struct {
  4612. // Optional element to configure Image Contrast Compensation.
  4613. ToneCompensation ToneCompensation `xml:"http://www.onvif.org/ver10/schema ToneCompensation,omitempty"`
  4614. // Optional element to configure Image Defogging.
  4615. Defogging Defogging `xml:"http://www.onvif.org/ver10/schema Defogging,omitempty"`
  4616. // Optional element to configure Image Noise Reduction.
  4617. NoiseReduction NoiseReduction `xml:"http://www.onvif.org/ver10/schema NoiseReduction,omitempty"`
  4618. Extension ImagingSettingsExtension204 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4619. }
  4620. // ImagingSettingsExtension204 type
  4621. type ImagingSettingsExtension204 struct {
  4622. }
  4623. // ImageStabilization type
  4624. type ImageStabilization struct {
  4625. // Parameter to enable/disable Image Stabilization feature.
  4626. Mode ImageStabilizationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4627. // Optional level parameter (unit unspecified)
  4628. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4629. Extension ImageStabilizationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4630. }
  4631. // ImageStabilizationExtension type
  4632. type ImageStabilizationExtension struct {
  4633. }
  4634. // IrCutFilterAutoAdjustment type
  4635. type IrCutFilterAutoAdjustment struct {
  4636. // Specifies which boundaries to automatically toggle Ir cut filter following parameters are applied to. Its options shall be chosen from tt:IrCutFilterAutoBoundaryType.
  4637. BoundaryType string `xml:"http://www.onvif.org/ver10/device/wsdl BoundaryType,omitempty"`
  4638. // 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).
  4639. BoundaryOffset float32 `xml:"http://www.onvif.org/ver10/schema BoundaryOffset,omitempty"`
  4640. // Delay time of toggling Ir cut filter to on/off after crossing of the boundary exposure levels.
  4641. ResponseTime Duration `xml:"http://www.onvif.org/ver10/schema ResponseTime,omitempty"`
  4642. Extension IrCutFilterAutoAdjustmentExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4643. }
  4644. // IrCutFilterAutoAdjustmentExtension type
  4645. type IrCutFilterAutoAdjustmentExtension struct {
  4646. }
  4647. // WideDynamicRange20 type
  4648. type WideDynamicRange20 struct {
  4649. // Wide dynamic range mode (on/off).
  4650. Mode WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4651. // Optional level parameter (unit unspecified).
  4652. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4653. }
  4654. // BacklightCompensation20 type
  4655. type BacklightCompensation20 struct {
  4656. // Backlight compensation mode (on/off).
  4657. Mode BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4658. // Optional level parameter (unit unspecified).
  4659. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4660. }
  4661. // Exposure20 type
  4662. type Exposure20 struct {
  4663. //
  4664. // Exposure Mode
  4665. //
  4666. //
  4667. Mode ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4668. //
  4669. // The exposure priority mode (low noise/framerate).
  4670. //
  4671. Priority ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4672. //
  4673. // Rectangular exposure mask.
  4674. //
  4675. Window Rectangle `xml:"http://www.onvif.org/ver10/schema Window,omitempty"`
  4676. //
  4677. // Minimum value of exposure time range allowed to be used by the algorithm.
  4678. //
  4679. MinExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  4680. //
  4681. // Maximum value of exposure time range allowed to be used by the algorithm.
  4682. //
  4683. MaxExposureTime float32 `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  4684. //
  4685. // Minimum value of the sensor gain range that is allowed to be used by the algorithm.
  4686. //
  4687. MinGain float32 `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  4688. //
  4689. // Maximum value of the sensor gain range that is allowed to be used by the algorithm.
  4690. //
  4691. MaxGain float32 `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  4692. //
  4693. // 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.
  4694. //
  4695. MinIris float32 `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  4696. //
  4697. // 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.
  4698. //
  4699. MaxIris float32 `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  4700. //
  4701. // The fixed exposure time used by the image sensor (μs).
  4702. //
  4703. ExposureTime float32 `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  4704. //
  4705. // The fixed gain used by the image sensor (dB).
  4706. //
  4707. Gain float32 `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  4708. //
  4709. // 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.
  4710. //
  4711. Iris float32 `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  4712. }
  4713. // ToneCompensation type
  4714. type ToneCompensation struct {
  4715. // Parameter to enable/disable or automatic ToneCompensation feature. Its options shall be chosen from tt:ToneCompensationMode Type.
  4716. Mode string `xml:"http://www.onvif.org/ver10/device/wsdl Mode,omitempty"`
  4717. // Optional level parameter specified with unitless normalized value from 0.0 to +1.0.
  4718. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4719. Extension ToneCompensationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4720. }
  4721. // ToneCompensationExtension type
  4722. type ToneCompensationExtension struct {
  4723. }
  4724. // Defogging type
  4725. type Defogging struct {
  4726. // Parameter to enable/disable or automatic Defogging feature. Its options shall be chosen from tt:DefoggingMode Type.
  4727. Mode string `xml:"http://www.onvif.org/ver10/device/wsdl Mode,omitempty"`
  4728. // Optional level parameter specified with unitless normalized value from 0.0 to +1.0.
  4729. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4730. Extension DefoggingExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4731. }
  4732. // DefoggingExtension type
  4733. type DefoggingExtension struct {
  4734. }
  4735. // NoiseReduction type
  4736. type NoiseReduction struct {
  4737. // Level parameter specified with unitless normalized value from 0.0 to +1.0. Level=0 means no noise reduction or minimal noise reduction.
  4738. Level float32 `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4739. }
  4740. // ImagingOptions20 type
  4741. type ImagingOptions20 struct {
  4742. //
  4743. // Valid range of Backlight Compensation.
  4744. //
  4745. BacklightCompensation BacklightCompensationOptions20 `xml:"http://www.onvif.org/ver10/schema BacklightCompensation,omitempty"`
  4746. //
  4747. // Valid range of Brightness.
  4748. //
  4749. Brightness FloatRange `xml:"http://www.onvif.org/ver10/schema Brightness,omitempty"`
  4750. //
  4751. // Valid range of Color Saturation.
  4752. //
  4753. ColorSaturation FloatRange `xml:"http://www.onvif.org/ver10/schema ColorSaturation,omitempty"`
  4754. //
  4755. // Valid range of Contrast.
  4756. //
  4757. Contrast FloatRange `xml:"http://www.onvif.org/ver10/schema Contrast,omitempty"`
  4758. //
  4759. // Valid range of Exposure.
  4760. //
  4761. Exposure ExposureOptions20 `xml:"http://www.onvif.org/ver10/schema Exposure,omitempty"`
  4762. //
  4763. // Valid range of Focus.
  4764. //
  4765. Focus FocusOptions20 `xml:"http://www.onvif.org/ver10/schema Focus,omitempty"`
  4766. //
  4767. // Valid range of IrCutFilterModes.
  4768. //
  4769. IrCutFilterModes []IrCutFilterMode `xml:"http://www.onvif.org/ver10/schema IrCutFilterModes,omitempty"`
  4770. //
  4771. // Valid range of Sharpness.
  4772. //
  4773. Sharpness FloatRange `xml:"http://www.onvif.org/ver10/schema Sharpness,omitempty"`
  4774. //
  4775. // Valid range of WideDynamicRange.
  4776. //
  4777. WideDynamicRange WideDynamicRangeOptions20 `xml:"http://www.onvif.org/ver10/schema WideDynamicRange,omitempty"`
  4778. //
  4779. // Valid range of WhiteBalance.
  4780. //
  4781. WhiteBalance WhiteBalanceOptions20 `xml:"http://www.onvif.org/ver10/schema WhiteBalance,omitempty"`
  4782. Extension ImagingOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4783. }
  4784. // ImagingOptions20Extension type
  4785. type ImagingOptions20Extension struct {
  4786. // Options of parameters for Image Stabilization feature.
  4787. ImageStabilization ImageStabilizationOptions `xml:"http://www.onvif.org/ver10/schema ImageStabilization,omitempty"`
  4788. Extension ImagingOptions20Extension2 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4789. }
  4790. // ImagingOptions20Extension2 type
  4791. type ImagingOptions20Extension2 struct {
  4792. // Options of parameters for adjustment of Ir cut filter auto mode.
  4793. IrCutFilterAutoAdjustment IrCutFilterAutoAdjustmentOptions `xml:"http://www.onvif.org/ver10/schema IrCutFilterAutoAdjustment,omitempty"`
  4794. Extension ImagingOptions20Extension3 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4795. }
  4796. // ImagingOptions20Extension3 type
  4797. type ImagingOptions20Extension3 struct {
  4798. // Options of parameters for Tone Compensation feature.
  4799. ToneCompensationOptions ToneCompensationOptions `xml:"http://www.onvif.org/ver10/schema ToneCompensationOptions,omitempty"`
  4800. // Options of parameters for Defogging feature.
  4801. DefoggingOptions DefoggingOptions `xml:"http://www.onvif.org/ver10/schema DefoggingOptions,omitempty"`
  4802. // Options of parameter for Noise Reduction feature.
  4803. NoiseReductionOptions NoiseReductionOptions `xml:"http://www.onvif.org/ver10/schema NoiseReductionOptions,omitempty"`
  4804. Extension ImagingOptions20Extension4 `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4805. }
  4806. // ImagingOptions20Extension4 type
  4807. type ImagingOptions20Extension4 struct {
  4808. }
  4809. // ImageStabilizationOptions type
  4810. type ImageStabilizationOptions struct {
  4811. // Supported options of Image Stabilization mode parameter.
  4812. Mode []ImageStabilizationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4813. // Valid range of the Image Stabilization.
  4814. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4815. Extension ImageStabilizationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4816. }
  4817. // ImageStabilizationOptionsExtension type
  4818. type ImageStabilizationOptionsExtension struct {
  4819. }
  4820. // IrCutFilterAutoAdjustmentOptions type
  4821. type IrCutFilterAutoAdjustmentOptions struct {
  4822. // Supported options of boundary types for adjustment of Ir cut filter auto mode. The opptions shall be chosen from tt:IrCutFilterAutoBoundaryType.
  4823. BoundaryType []string `xml:"http://www.onvif.org/ver10/device/wsdl BoundaryType,omitempty"`
  4824. // Indicates whether or not boundary offset for toggling Ir cut filter is supported.
  4825. BoundaryOffset bool `xml:"http://www.onvif.org/ver10/device/wsdl BoundaryOffset,omitempty"`
  4826. // Supported range of delay time for toggling Ir cut filter.
  4827. ResponseTimeRange DurationRange `xml:"http://www.onvif.org/ver10/schema ResponseTimeRange,omitempty"`
  4828. Extension IrCutFilterAutoAdjustmentOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4829. }
  4830. // IrCutFilterAutoAdjustmentOptionsExtension type
  4831. type IrCutFilterAutoAdjustmentOptionsExtension struct {
  4832. }
  4833. // WideDynamicRangeOptions20 type
  4834. type WideDynamicRangeOptions20 struct {
  4835. Mode []WideDynamicMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4836. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4837. }
  4838. // BacklightCompensationOptions20 type
  4839. type BacklightCompensationOptions20 struct {
  4840. //
  4841. // 'ON' or 'OFF'
  4842. //
  4843. Mode []BacklightCompensationMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4844. //
  4845. // Level range of BacklightCompensation.
  4846. //
  4847. Level FloatRange `xml:"http://www.onvif.org/ver10/schema Level,omitempty"`
  4848. }
  4849. // ExposureOptions20 type
  4850. type ExposureOptions20 struct {
  4851. //
  4852. // Exposure Mode
  4853. //
  4854. //
  4855. Mode []ExposureMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4856. //
  4857. // The exposure priority mode (low noise/framerate).
  4858. //
  4859. Priority []ExposurePriority `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  4860. //
  4861. // Valid range of the Minimum ExposureTime.
  4862. //
  4863. MinExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MinExposureTime,omitempty"`
  4864. //
  4865. // Valid range of the Maximum ExposureTime.
  4866. //
  4867. MaxExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema MaxExposureTime,omitempty"`
  4868. //
  4869. // Valid range of the Minimum Gain.
  4870. //
  4871. MinGain FloatRange `xml:"http://www.onvif.org/ver10/schema MinGain,omitempty"`
  4872. //
  4873. // Valid range of the Maximum Gain.
  4874. //
  4875. MaxGain FloatRange `xml:"http://www.onvif.org/ver10/schema MaxGain,omitempty"`
  4876. //
  4877. // Valid range of the Minimum Iris.
  4878. //
  4879. MinIris FloatRange `xml:"http://www.onvif.org/ver10/schema MinIris,omitempty"`
  4880. //
  4881. // Valid range of the Maximum Iris.
  4882. //
  4883. MaxIris FloatRange `xml:"http://www.onvif.org/ver10/schema MaxIris,omitempty"`
  4884. //
  4885. // Valid range of the ExposureTime.
  4886. //
  4887. ExposureTime FloatRange `xml:"http://www.onvif.org/ver10/schema ExposureTime,omitempty"`
  4888. //
  4889. // Valid range of the Gain.
  4890. //
  4891. Gain FloatRange `xml:"http://www.onvif.org/ver10/schema Gain,omitempty"`
  4892. //
  4893. // Valid range of the Iris.
  4894. //
  4895. Iris FloatRange `xml:"http://www.onvif.org/ver10/schema Iris,omitempty"`
  4896. }
  4897. // WhiteBalance20 type
  4898. type WhiteBalance20 struct {
  4899. //
  4900. // 'AUTO' or 'MANUAL'
  4901. //
  4902. Mode WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4903. //
  4904. // Rgain (unitless).
  4905. //
  4906. CrGain float32 `xml:"http://www.onvif.org/ver10/schema CrGain,omitempty"`
  4907. //
  4908. // Bgain (unitless).
  4909. //
  4910. CbGain float32 `xml:"http://www.onvif.org/ver10/schema CbGain,omitempty"`
  4911. Extension WhiteBalance20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4912. }
  4913. // WhiteBalance20Extension type
  4914. type WhiteBalance20Extension struct {
  4915. }
  4916. // FocusConfiguration20 type
  4917. type FocusConfiguration20 struct {
  4918. //
  4919. // Mode of auto focus.
  4920. //
  4921. // 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.
  4922. //
  4923. AutoFocusMode AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusMode,omitempty"`
  4924. DefaultSpeed float32 `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4925. // Parameter to set autofocus near limit (unit: meter).
  4926. NearLimit float32 `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4927. // Parameter to set autofocus far limit (unit: meter).
  4928. FarLimit float32 `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4929. Extension FocusConfiguration20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4930. // Zero or more modes as defined in enumeration tt:AFModes.
  4931. AFMode StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AFMode,attr,omitempty"`
  4932. }
  4933. // FocusConfiguration20Extension type
  4934. type FocusConfiguration20Extension struct {
  4935. }
  4936. // WhiteBalanceOptions20 type
  4937. type WhiteBalanceOptions20 struct {
  4938. //
  4939. // Mode of WhiteBalance.
  4940. //
  4941. //
  4942. Mode []WhiteBalanceMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  4943. YrGain FloatRange `xml:"http://www.onvif.org/ver10/schema YrGain,omitempty"`
  4944. YbGain FloatRange `xml:"http://www.onvif.org/ver10/schema YbGain,omitempty"`
  4945. Extension WhiteBalanceOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4946. }
  4947. // WhiteBalanceOptions20Extension type
  4948. type WhiteBalanceOptions20Extension struct {
  4949. }
  4950. // FocusOptions20 type
  4951. type FocusOptions20 struct {
  4952. //
  4953. // Supported modes for auto focus.
  4954. //
  4955. //
  4956. AutoFocusModes []AutoFocusMode `xml:"http://www.onvif.org/ver10/schema AutoFocusModes,omitempty"`
  4957. //
  4958. // Valid range of DefaultSpeed.
  4959. //
  4960. DefaultSpeed FloatRange `xml:"http://www.onvif.org/ver10/schema DefaultSpeed,omitempty"`
  4961. //
  4962. // Valid range of NearLimit.
  4963. //
  4964. NearLimit FloatRange `xml:"http://www.onvif.org/ver10/schema NearLimit,omitempty"`
  4965. //
  4966. // Valid range of FarLimit.
  4967. //
  4968. FarLimit FloatRange `xml:"http://www.onvif.org/ver10/schema FarLimit,omitempty"`
  4969. Extension FocusOptions20Extension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  4970. }
  4971. // FocusOptions20Extension type
  4972. type FocusOptions20Extension struct {
  4973. // Supported options for auto focus. Options shall be chosen from tt:AFModes.
  4974. AFModes StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AFModes,omitempty"`
  4975. }
  4976. // ToneCompensationOptions type
  4977. type ToneCompensationOptions struct {
  4978. // Supported options for Tone Compensation mode. Its options shall be chosen from tt:ToneCompensationMode Type.
  4979. Mode []string `xml:"http://www.onvif.org/ver10/device/wsdl Mode,omitempty"`
  4980. // Indicates whether or not support Level parameter for Tone Compensation.
  4981. Level bool `xml:"http://www.onvif.org/ver10/device/wsdl Level,omitempty"`
  4982. }
  4983. // DefoggingOptions type
  4984. type DefoggingOptions struct {
  4985. // Supported options for Defogging mode. Its options shall be chosen from tt:DefoggingMode Type.
  4986. Mode []string `xml:"http://www.onvif.org/ver10/device/wsdl Mode,omitempty"`
  4987. // Indicates whether or not support Level parameter for Defogging.
  4988. Level bool `xml:"http://www.onvif.org/ver10/device/wsdl Level,omitempty"`
  4989. }
  4990. // NoiseReductionOptions type
  4991. type NoiseReductionOptions struct {
  4992. // Indicates whether or not support Level parameter for NoiseReduction.
  4993. Level bool `xml:"http://www.onvif.org/ver10/device/wsdl Level,omitempty"`
  4994. }
  4995. // MessageExtension type
  4996. type MessageExtension struct {
  4997. }
  4998. // ItemList type
  4999. type ItemList struct {
  5000. SimpleItem []struct {
  5001. // Item name.
  5002. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,attr,omitempty"`
  5003. // Item value. The type is defined in the corresponding description.
  5004. Value AnySimpleType `xml:"Value,attr,omitempty"`
  5005. } `xml:"SimpleItem,omitempty"`
  5006. ElementItem []struct {
  5007. // Item name.
  5008. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,attr,omitempty"`
  5009. } `xml:"ElementItem,omitempty"`
  5010. Extension ItemListExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5011. }
  5012. // ItemListExtension type
  5013. type ItemListExtension struct {
  5014. }
  5015. // MessageDescription type
  5016. type MessageDescription struct {
  5017. // Set of tokens producing this message. The list may only contain SimpleItemDescription items.
  5018. // The set of tokens identify the component within the WS-Endpoint, which is responsible for the producing the message.
  5019. // For analytics events the token set shall include the VideoSourceConfigurationToken, the VideoAnalyticsConfigurationToken
  5020. // and the name of the analytics module or rule.
  5021. //
  5022. Source ItemListDescription `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  5023. // Describes optional message payload parameters that may be used as key. E.g. object IDs of tracked objects are conveyed as key.
  5024. Key ItemListDescription `xml:"http://www.onvif.org/ver10/schema Key,omitempty"`
  5025. // Describes the payload of the message.
  5026. Data ItemListDescription `xml:"http://www.onvif.org/ver10/schema Data,omitempty"`
  5027. Extension MessageDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5028. // 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.
  5029. IsProperty bool `xml:"http://www.onvif.org/ver10/device/wsdl IsProperty,attr,omitempty"`
  5030. }
  5031. // MessageDescriptionExtension type
  5032. type MessageDescriptionExtension struct {
  5033. }
  5034. // ItemListDescription type
  5035. type ItemListDescription struct {
  5036. SimpleItemDescription []struct {
  5037. // Item name. Must be unique within a list.
  5038. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,attr,omitempty"`
  5039. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  5040. } `xml:"SimpleItemDescription,omitempty"`
  5041. ElementItemDescription []struct {
  5042. // Item name. Must be unique within a list.
  5043. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,attr,omitempty"`
  5044. // The type of the item. The Type must reference a defined type.
  5045. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  5046. } `xml:"ElementItemDescription,omitempty"`
  5047. Extension ItemListDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5048. }
  5049. // ItemListDescriptionExtension type
  5050. type ItemListDescriptionExtension struct {
  5051. }
  5052. // Polyline type
  5053. type Polyline struct {
  5054. Point []Vector `xml:"http://www.onvif.org/ver10/schema Point,omitempty"`
  5055. }
  5056. // AnalyticsEngineConfiguration type
  5057. type AnalyticsEngineConfiguration struct {
  5058. AnalyticsModule []Config `xml:"http://www.onvif.org/ver10/schema AnalyticsModule,omitempty"`
  5059. Extension AnalyticsEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5060. }
  5061. // AnalyticsEngineConfigurationExtension type
  5062. type AnalyticsEngineConfigurationExtension struct {
  5063. }
  5064. // RuleEngineConfiguration type
  5065. type RuleEngineConfiguration struct {
  5066. Rule []Config `xml:"http://www.onvif.org/ver10/schema Rule,omitempty"`
  5067. Extension RuleEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5068. }
  5069. // RuleEngineConfigurationExtension type
  5070. type RuleEngineConfigurationExtension struct {
  5071. }
  5072. // Config type
  5073. type Config struct {
  5074. // List of configuration parameters as defined in the correspding description.
  5075. Parameters ItemList `xml:"http://www.onvif.org/ver10/schema Parameters,omitempty"`
  5076. // Name of the configuration.
  5077. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,attr,omitempty"`
  5078. // 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.
  5079. Type QName `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  5080. }
  5081. // ConfigDescription type
  5082. type ConfigDescription struct {
  5083. //
  5084. // List describing the configuration parameters. The names of the parameters must be unique. If possible SimpleItems
  5085. // should be used to transport the information to ease parsing of dynamically defined messages by a client
  5086. // application.
  5087. //
  5088. Parameters ItemListDescription `xml:"http://www.onvif.org/ver10/schema Parameters,omitempty"`
  5089. Messages []struct {
  5090. *MessageDescription
  5091. //
  5092. // The ParentTopic labels the message (e.g. "nn:RuleEngine/LineCrossing"). The real message can extend the ParentTopic
  5093. // by for example the name of the instaniated rule (e.g. "nn:RuleEngine/LineCrossing/corssMyFirstLine").
  5094. // Even without knowing the complete topic name, the subscriber will be able to distiguish the
  5095. // messages produced by different rule instances of the same type via the Source fields of the message.
  5096. // There the name of the rule instance, which produced the message, must be listed.
  5097. //
  5098. ParentTopic string `xml:"http://www.onvif.org/ver10/device/wsdl ParentTopic,omitempty"`
  5099. } `xml:"Messages,omitempty"`
  5100. Extension ConfigDescriptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5101. // The Name attribute (e.g. "tt::LineDetector") uniquely identifies the type of rule, not a type definition in a schema.
  5102. Name QName `xml:"http://www.onvif.org/ver10/schema Name,attr,omitempty"`
  5103. // The fixed attribute signals that it is not allowed to add or remove this type of configuration.
  5104. Fixed bool `xml:"fixed,attr,omitempty"`
  5105. // The maxInstances attribute signals the maximum number of instances per configuration.
  5106. MaxInstances int32 `xml:"maxInstances,attr,omitempty"`
  5107. }
  5108. // ConfigDescriptionExtension type
  5109. type ConfigDescriptionExtension struct {
  5110. }
  5111. // SupportedRules type
  5112. type SupportedRules struct {
  5113. // Lists the location of all schemas that are referenced in the rules.
  5114. RuleContentSchemaLocation []AnyURI `xml:"http://www.onvif.org/ver10/schema RuleContentSchemaLocation,omitempty"`
  5115. // List of rules supported by the Video Analytics configuration..
  5116. RuleDescription []ConfigDescription `xml:"http://www.onvif.org/ver10/schema RuleDescription,omitempty"`
  5117. Extension SupportedRulesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5118. }
  5119. // SupportedRulesExtension type
  5120. type SupportedRulesExtension struct {
  5121. }
  5122. // SupportedAnalyticsModules type
  5123. type SupportedAnalyticsModules struct {
  5124. // It optionally contains a list of URLs that provide the location of schema files.
  5125. // These schema files describe the types and elements used in the analytics module descriptions.
  5126. // Analytics module descriptions that reference types or elements imported from any ONVIF defined schema files
  5127. // need not explicitly list those schema files.
  5128. AnalyticsModuleContentSchemaLocation []AnyURI `xml:"http://www.onvif.org/ver10/schema AnalyticsModuleContentSchemaLocation,omitempty"`
  5129. AnalyticsModuleDescription []ConfigDescription `xml:"http://www.onvif.org/ver10/schema AnalyticsModuleDescription,omitempty"`
  5130. Extension SupportedAnalyticsModulesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5131. }
  5132. // SupportedAnalyticsModulesExtension type
  5133. type SupportedAnalyticsModulesExtension struct {
  5134. }
  5135. // PolylineArray type
  5136. type PolylineArray struct {
  5137. // Contains array of Polyline
  5138. Segment []Polyline `xml:"http://www.onvif.org/ver10/schema Segment,omitempty"`
  5139. Extension PolylineArrayExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5140. }
  5141. // PolylineArrayExtension type
  5142. type PolylineArrayExtension struct {
  5143. }
  5144. // PaneLayout type
  5145. type PaneLayout struct {
  5146. // Reference to the configuration of the streaming and coding parameters.
  5147. Pane ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Pane,omitempty"`
  5148. // Describes the location and size of the area on the monitor. The area coordinate values are espressed in normalized units [-1.0, 1.0].
  5149. Area Rectangle `xml:"http://www.onvif.org/ver10/schema Area,omitempty"`
  5150. }
  5151. // Layout type
  5152. type Layout struct {
  5153. // List of panes assembling the display layout.
  5154. PaneLayout []PaneLayout `xml:"http://www.onvif.org/ver10/schema PaneLayout,omitempty"`
  5155. Extension LayoutExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5156. }
  5157. // LayoutExtension type
  5158. type LayoutExtension struct {
  5159. }
  5160. // LayoutOptions type
  5161. type LayoutOptions struct {
  5162. // Lists the possible Pane Layouts of the Video Output
  5163. PaneLayoutOptions []PaneLayoutOptions `xml:"http://www.onvif.org/ver10/schema PaneLayoutOptions,omitempty"`
  5164. Extension LayoutOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5165. }
  5166. // LayoutOptionsExtension type
  5167. type LayoutOptionsExtension struct {
  5168. }
  5169. // PaneLayoutOptions type
  5170. type PaneLayoutOptions struct {
  5171. // List of areas assembling a layout. Coordinate values are in the range [-1.0, 1.0].
  5172. Area []Rectangle `xml:"http://www.onvif.org/ver10/schema Area,omitempty"`
  5173. Extension PaneOptionExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5174. }
  5175. // PaneOptionExtension type
  5176. type PaneOptionExtension struct {
  5177. }
  5178. // Receiver type
  5179. type Receiver struct {
  5180. // Unique identifier of the receiver.
  5181. Token ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,omitempty"`
  5182. // Describes the configuration of the receiver.
  5183. Configuration ReceiverConfiguration `xml:"http://www.onvif.org/ver10/schema Configuration,omitempty"`
  5184. }
  5185. // ReceiverConfiguration type
  5186. type ReceiverConfiguration struct {
  5187. // The following connection modes are defined:
  5188. Mode ReceiverMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  5189. // Details of the URI to which the receiver should connect.
  5190. MediaUri AnyURI `xml:"http://www.onvif.org/ver10/schema MediaUri,omitempty"`
  5191. // Stream connection parameters.
  5192. StreamSetup StreamSetup `xml:"http://www.onvif.org/ver10/schema StreamSetup,omitempty"`
  5193. }
  5194. // SourceReference type
  5195. type SourceReference struct {
  5196. Token ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,omitempty"`
  5197. Type AnyURI `xml:"http://www.onvif.org/ver10/schema Type,attr,omitempty"`
  5198. }
  5199. // DateTimeRange type
  5200. type DateTimeRange struct {
  5201. From string `xml:"http://www.onvif.org/ver10/schema From,omitempty"`
  5202. Until string `xml:"http://www.onvif.org/ver10/schema Until,omitempty"`
  5203. }
  5204. // SearchScope type
  5205. type SearchScope struct {
  5206. // 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.
  5207. IncludedSources []SourceReference `xml:"http://www.onvif.org/ver10/schema IncludedSources,omitempty"`
  5208. // 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.
  5209. IncludedRecordings []RecordingReference `xml:"http://www.onvif.org/ver10/schema IncludedRecordings,omitempty"`
  5210. // An xpath expression used to specify what recordings to search. Only those recordings with an RecordingInformation structure that matches the filter shall be searched.
  5211. RecordingInformationFilter XPathExpression `xml:"http://www.onvif.org/ver10/schema RecordingInformationFilter,omitempty"`
  5212. // Extension point
  5213. Extension SearchScopeExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5214. }
  5215. // SearchScopeExtension type
  5216. type SearchScopeExtension struct {
  5217. }
  5218. // RecordingSourceInformation type
  5219. type RecordingSourceInformation struct {
  5220. //
  5221. // Identifier for the source chosen by the client that creates the structure.
  5222. // 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.
  5223. SourceId AnyURI `xml:"http://www.onvif.org/ver10/schema SourceId,omitempty"`
  5224. // Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters.
  5225. Name Name `xml:"http://www.onvif.org/ver10/schema Name,omitempty"`
  5226. // Informative description of the physical location of the source, e.g. the coordinates on a map.
  5227. Location Description `xml:"http://www.onvif.org/ver10/schema Location,omitempty"`
  5228. // Informative description of the source.
  5229. Description Description `xml:"http://www.onvif.org/ver10/schema Description,omitempty"`
  5230. // URI provided by the service supplying data to be recorded. A device shall support at least 128 characters.
  5231. Address AnyURI `xml:"http://www.onvif.org/ver10/schema Address,omitempty"`
  5232. }
  5233. // TrackInformation type
  5234. type TrackInformation struct {
  5235. TrackToken TrackReference `xml:"http://www.onvif.org/ver10/schema TrackToken,omitempty"`
  5236. // Type of the track: "Video", "Audio" or "Metadata".
  5237. // The track shall only be able to hold data of that type.
  5238. TrackType TrackType `xml:"http://www.onvif.org/ver10/schema TrackType,omitempty"`
  5239. // Informative description of the contents of the track.
  5240. Description Description `xml:"http://www.onvif.org/ver10/schema Description,omitempty"`
  5241. // The start date and time of the oldest recorded data in the track.
  5242. DataFrom string `xml:"http://www.onvif.org/ver10/schema DataFrom,omitempty"`
  5243. // The stop date and time of the newest recorded data in the track.
  5244. DataTo string `xml:"http://www.onvif.org/ver10/schema DataTo,omitempty"`
  5245. }
  5246. // TrackAttributes type
  5247. type TrackAttributes struct {
  5248. // The basic information about the track. Note that a track may represent a single contiguous time span or consist of multiple slices.
  5249. TrackInformation TrackInformation `xml:"http://www.onvif.org/ver10/schema TrackInformation,omitempty"`
  5250. // If the track is a video track, exactly one of this structure shall be present and contain the video attributes.
  5251. VideoAttributes VideoAttributes `xml:"http://www.onvif.org/ver10/schema VideoAttributes,omitempty"`
  5252. // If the track is an audio track, exactly one of this structure shall be present and contain the audio attributes.
  5253. AudioAttributes AudioAttributes `xml:"http://www.onvif.org/ver10/schema AudioAttributes,omitempty"`
  5254. // If the track is an metadata track, exactly one of this structure shall be present and contain the metadata attributes.
  5255. MetadataAttributes MetadataAttributes `xml:"http://www.onvif.org/ver10/schema MetadataAttributes,omitempty"`
  5256. Extension TrackAttributesExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5257. }
  5258. // TrackAttributesExtension type
  5259. type TrackAttributesExtension struct {
  5260. }
  5261. // VideoAttributes type
  5262. type VideoAttributes struct {
  5263. // Average bitrate in kbps.
  5264. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  5265. // The width of the video in pixels.
  5266. Width int32 `xml:"http://www.onvif.org/ver10/schema Width,omitempty"`
  5267. // The height of the video in pixels.
  5268. Height int32 `xml:"http://www.onvif.org/ver10/schema Height,omitempty"`
  5269. // Video encoding of the track. Use value from tt:VideoEncoding for MPEG4. Otherwise use values from tt:VideoEncodingMimeNames and .
  5270. Encoding string `xml:"http://www.onvif.org/ver10/device/wsdl Encoding,omitempty"`
  5271. // Average framerate in frames per second.
  5272. Framerate float32 `xml:"http://www.onvif.org/ver10/schema Framerate,omitempty"`
  5273. }
  5274. // AudioAttributes type
  5275. type AudioAttributes struct {
  5276. // The bitrate in kbps.
  5277. Bitrate int32 `xml:"http://www.onvif.org/ver10/schema Bitrate,omitempty"`
  5278. // Audio encoding of the track. Use values from tt:AudioEncoding for G711 and AAC. Otherwise use values from tt:AudioEncodingMimeNames and .
  5279. Encoding string `xml:"http://www.onvif.org/ver10/device/wsdl Encoding,omitempty"`
  5280. // The sample rate in kHz.
  5281. Samplerate int32 `xml:"http://www.onvif.org/ver10/schema Samplerate,omitempty"`
  5282. }
  5283. // MetadataAttributes type
  5284. type MetadataAttributes struct {
  5285. // Indicates that there can be PTZ data in the metadata track in the specified time interval.
  5286. CanContainPTZ bool `xml:"http://www.onvif.org/ver10/device/wsdl CanContainPTZ,omitempty"`
  5287. // Indicates that there can be analytics data in the metadata track in the specified time interval.
  5288. CanContainAnalytics bool `xml:"http://www.onvif.org/ver10/device/wsdl CanContainAnalytics,omitempty"`
  5289. // Indicates that there can be notifications in the metadata track in the specified time interval.
  5290. CanContainNotifications bool `xml:"http://www.onvif.org/ver10/device/wsdl CanContainNotifications,omitempty"`
  5291. // 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.
  5292. PtzSpaces StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl PtzSpaces,attr,omitempty"`
  5293. }
  5294. // RecordingJobConfiguration type
  5295. type RecordingJobConfiguration struct {
  5296. // Identifies the recording to which this job shall store the received data.
  5297. RecordingToken RecordingReference `xml:"http://www.onvif.org/ver10/schema RecordingToken,omitempty"`
  5298. // The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try
  5299. // to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
  5300. // The only valid values for Mode shall be “Idle” and “Active”.
  5301. Mode RecordingJobMode `xml:"http://www.onvif.org/ver10/schema Mode,omitempty"`
  5302. // This shall be a non-negative number. If there are multiple recording jobs that store data to
  5303. // the same track, the device will only store the data for the recording job with the highest
  5304. // priority. The priority is specified per recording job, but the device shall determine the priority
  5305. // of each track individually. If there are two recording jobs with the same priority, the device
  5306. // shall record the data corresponding to the recording job that was activated the latest.
  5307. Priority int32 `xml:"http://www.onvif.org/ver10/schema Priority,omitempty"`
  5308. // Source of the recording.
  5309. Source []RecordingJobSource `xml:"http://www.onvif.org/ver10/schema Source,omitempty"`
  5310. Extension RecordingJobConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5311. // This attribute adds an additional requirement for activating the recording job.
  5312. // If this optional field is provided the job shall only record if the schedule exists and is active.
  5313. //
  5314. ScheduleToken string `xml:"http://www.onvif.org/ver10/device/wsdl ScheduleToken,attr,omitempty"`
  5315. }
  5316. // RecordingJobConfigurationExtension type
  5317. type RecordingJobConfigurationExtension struct {
  5318. }
  5319. // RecordingJobSource type
  5320. type RecordingJobSource struct {
  5321. // This field shall be a reference to the source of the data. The type of the source
  5322. // is determined by the attribute Type in the SourceToken structure. If Type is
  5323. // http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case
  5324. // the device shall receive the data over the network. If Type is
  5325. // http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, instructing the
  5326. // device to obtain data from a profile that exists on the local device.
  5327. SourceToken SourceReference `xml:"http://www.onvif.org/ver10/schema SourceToken,omitempty"`
  5328. // If this field is TRUE, and if the SourceToken is omitted, the device
  5329. // shall create a receiver object (through the receiver service) and assign the
  5330. // ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration
  5331. // from the device, the AutoCreateReceiver field shall never be present.
  5332. AutoCreateReceiver bool `xml:"http://www.onvif.org/ver10/device/wsdl AutoCreateReceiver,omitempty"`
  5333. // List of tracks associated with the recording.
  5334. Tracks []RecordingJobTrack `xml:"http://www.onvif.org/ver10/schema Tracks,omitempty"`
  5335. Extension RecordingJobSourceExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5336. }
  5337. // RecordingJobSourceExtension type
  5338. type RecordingJobSourceExtension struct {
  5339. }
  5340. // RecordingJobTrack type
  5341. type RecordingJobTrack struct {
  5342. // If the received RTSP stream contains multiple tracks of the same type, the
  5343. // SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source.
  5344. SourceTag string `xml:"http://www.onvif.org/ver10/device/wsdl SourceTag,omitempty"`
  5345. // The destination is the tracktoken of the track to which the device shall store the
  5346. // received data.
  5347. Destination TrackReference `xml:"http://www.onvif.org/ver10/schema Destination,omitempty"`
  5348. }
  5349. // RecordingJobStateInformation type
  5350. type RecordingJobStateInformation struct {
  5351. // Identification of the recording that the recording job records to.
  5352. RecordingToken RecordingReference `xml:"http://www.onvif.org/ver10/schema RecordingToken,omitempty"`
  5353. // Holds the aggregated state over the whole RecordingJobInformation structure.
  5354. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  5355. // Identifies the data source of the recording job.
  5356. Sources []RecordingJobStateSource `xml:"http://www.onvif.org/ver10/schema Sources,omitempty"`
  5357. Extension RecordingJobStateInformationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5358. }
  5359. // RecordingJobStateInformationExtension type
  5360. type RecordingJobStateInformationExtension struct {
  5361. }
  5362. // RecordingJobStateSource type
  5363. type RecordingJobStateSource struct {
  5364. // Identifies the data source of the recording job.
  5365. SourceToken SourceReference `xml:"http://www.onvif.org/ver10/schema SourceToken,omitempty"`
  5366. // Holds the aggregated state over all substructures of RecordingJobStateSource.
  5367. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  5368. // List of track items.
  5369. Tracks RecordingJobStateTracks `xml:"http://www.onvif.org/ver10/schema Tracks,omitempty"`
  5370. }
  5371. // RecordingJobStateTracks type
  5372. type RecordingJobStateTracks struct {
  5373. Track []RecordingJobStateTrack `xml:"http://www.onvif.org/ver10/schema Track,omitempty"`
  5374. }
  5375. // RecordingJobStateTrack type
  5376. type RecordingJobStateTrack struct {
  5377. // Identifies the track of the data source that provides the data.
  5378. SourceTag string `xml:"http://www.onvif.org/ver10/device/wsdl SourceTag,omitempty"`
  5379. // Indicates the destination track.
  5380. Destination TrackReference `xml:"http://www.onvif.org/ver10/schema Destination,omitempty"`
  5381. // Optionally holds an implementation defined string value that describes the error.
  5382. // The string should be in the English language.
  5383. Error string `xml:"http://www.onvif.org/ver10/device/wsdl Error,omitempty"`
  5384. // Provides the job state of the track. The valid
  5385. // 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.
  5386. State RecordingJobState `xml:"http://www.onvif.org/ver10/schema State,omitempty"`
  5387. }
  5388. // AnalyticsEngine type
  5389. type AnalyticsEngine struct {
  5390. *ConfigurationEntity
  5391. AnalyticsEngineConfiguration AnalyticsDeviceEngineConfiguration `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineConfiguration,omitempty"`
  5392. }
  5393. // AnalyticsDeviceEngineConfiguration type
  5394. type AnalyticsDeviceEngineConfiguration struct {
  5395. EngineConfiguration []EngineConfiguration `xml:"http://www.onvif.org/ver10/schema EngineConfiguration,omitempty"`
  5396. Extension AnalyticsDeviceEngineConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5397. }
  5398. // AnalyticsDeviceEngineConfigurationExtension type
  5399. type AnalyticsDeviceEngineConfigurationExtension struct {
  5400. }
  5401. // EngineConfiguration type
  5402. type EngineConfiguration struct {
  5403. VideoAnalyticsConfiguration VideoAnalyticsConfiguration `xml:"http://www.onvif.org/ver10/schema VideoAnalyticsConfiguration,omitempty"`
  5404. AnalyticsEngineInputInfo AnalyticsEngineInputInfo `xml:"http://www.onvif.org/ver10/schema AnalyticsEngineInputInfo,omitempty"`
  5405. }
  5406. // AnalyticsEngineInputInfo type
  5407. type AnalyticsEngineInputInfo struct {
  5408. InputInfo Config `xml:"http://www.onvif.org/ver10/schema InputInfo,omitempty"`
  5409. Extension AnalyticsEngineInputInfoExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5410. }
  5411. // AnalyticsEngineInputInfoExtension type
  5412. type AnalyticsEngineInputInfoExtension struct {
  5413. }
  5414. // AnalyticsEngineInput type
  5415. type AnalyticsEngineInput struct {
  5416. *ConfigurationEntity
  5417. SourceIdentification SourceIdentification `xml:"http://www.onvif.org/ver10/schema SourceIdentification,omitempty"`
  5418. VideoInput VideoEncoderConfiguration `xml:"http://www.onvif.org/ver10/schema VideoInput,omitempty"`
  5419. MetadataInput MetadataInput `xml:"http://www.onvif.org/ver10/schema MetadataInput,omitempty"`
  5420. }
  5421. // SourceIdentification type
  5422. type SourceIdentification struct {
  5423. Name string `xml:"http://www.onvif.org/ver10/device/wsdl Name,omitempty"`
  5424. Token []ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl Token,omitempty"`
  5425. Extension SourceIdentificationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5426. }
  5427. // SourceIdentificationExtension type
  5428. type SourceIdentificationExtension struct {
  5429. }
  5430. // MetadataInput type
  5431. type MetadataInput struct {
  5432. MetadataConfig []Config `xml:"http://www.onvif.org/ver10/schema MetadataConfig,omitempty"`
  5433. Extension MetadataInputExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5434. }
  5435. // MetadataInputExtension type
  5436. type MetadataInputExtension struct {
  5437. }
  5438. // ActionEngineEventPayload type
  5439. type ActionEngineEventPayload struct {
  5440. // Request Message
  5441. RequestInfo Envelope `xml:"RequestInfo,omitempty"`
  5442. // Response Message
  5443. ResponseInfo Envelope `xml:"ResponseInfo,omitempty"`
  5444. // Fault Message
  5445. Fault Fault `xml:"Fault,omitempty"`
  5446. Extension ActionEngineEventPayloadExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5447. }
  5448. // ActionEngineEventPayloadExtension type
  5449. type ActionEngineEventPayloadExtension struct {
  5450. }
  5451. // AudioClassCandidate type
  5452. type AudioClassCandidate struct {
  5453. // Indicates audio class label
  5454. Type AudioClassType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  5455. // A likelihood/probability that the corresponding audio event belongs to this class. The sum of the likelihoods shall NOT exceed 1
  5456. Likelihood float32 `xml:"http://www.onvif.org/ver10/schema Likelihood,omitempty"`
  5457. }
  5458. // AudioClassDescriptor type
  5459. type AudioClassDescriptor struct {
  5460. // Array of audio class label and class probability
  5461. ClassCandidate []AudioClassCandidate `xml:"http://www.onvif.org/ver10/schema ClassCandidate,omitempty"`
  5462. Extension AudioClassDescriptorExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5463. }
  5464. // AudioClassDescriptorExtension type
  5465. type AudioClassDescriptorExtension struct {
  5466. }
  5467. // ActiveConnection type
  5468. type ActiveConnection struct {
  5469. CurrentBitrate float32 `xml:"http://www.onvif.org/ver10/schema CurrentBitrate,omitempty"`
  5470. CurrentFps float32 `xml:"http://www.onvif.org/ver10/schema CurrentFps,omitempty"`
  5471. }
  5472. // ProfileStatus type
  5473. type ProfileStatus struct {
  5474. ActiveConnections []ActiveConnection `xml:"http://www.onvif.org/ver10/schema ActiveConnections,omitempty"`
  5475. Extension ProfileStatusExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5476. }
  5477. // ProfileStatusExtension type
  5478. type ProfileStatusExtension struct {
  5479. }
  5480. // OSDReference type
  5481. type OSDReference struct {
  5482. Value ReferenceToken
  5483. }
  5484. // OSDPosConfiguration type
  5485. type OSDPosConfiguration struct {
  5486. // For OSD position type, following are the pre-defined:
  5487. //
  5488. Type string `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  5489. Pos Vector `xml:"http://www.onvif.org/ver10/schema Pos,omitempty"`
  5490. Extension OSDPosConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5491. }
  5492. // OSDPosConfigurationExtension type
  5493. type OSDPosConfigurationExtension struct {
  5494. }
  5495. // OSDColor type
  5496. type OSDColor struct {
  5497. Color Color `xml:"http://www.onvif.org/ver10/schema Color,omitempty"`
  5498. Transparent int32 `xml:"http://www.onvif.org/ver10/schema Transparent,attr,omitempty"`
  5499. }
  5500. // OSDTextConfiguration type
  5501. type OSDTextConfiguration struct {
  5502. //
  5503. // The following OSD Text Type are defined:
  5504. //
  5505. Type string `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  5506. //
  5507. // 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:
  5508. //
  5509. DateFormat string `xml:"http://www.onvif.org/ver10/device/wsdl DateFormat,omitempty"`
  5510. //
  5511. // 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:
  5512. //
  5513. TimeFormat string `xml:"http://www.onvif.org/ver10/device/wsdl TimeFormat,omitempty"`
  5514. // Font size of the text in pt.
  5515. FontSize int32 `xml:"http://www.onvif.org/ver10/schema FontSize,omitempty"`
  5516. // Font color of the text.
  5517. FontColor OSDColor `xml:"http://www.onvif.org/ver10/schema FontColor,omitempty"`
  5518. // Background color of the text.
  5519. BackgroundColor OSDColor `xml:"http://www.onvif.org/ver10/schema BackgroundColor,omitempty"`
  5520. // The content of text to be displayed.
  5521. PlainText string `xml:"http://www.onvif.org/ver10/device/wsdl PlainText,omitempty"`
  5522. Extension OSDTextConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5523. // 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.
  5524. IsPersistentText bool `xml:"http://www.onvif.org/ver10/device/wsdl IsPersistentText,attr,omitempty"`
  5525. }
  5526. // OSDTextConfigurationExtension type
  5527. type OSDTextConfigurationExtension struct {
  5528. }
  5529. // OSDImgConfiguration type
  5530. type OSDImgConfiguration struct {
  5531. // The URI of the image which to be displayed.
  5532. ImgPath AnyURI `xml:"http://www.onvif.org/ver10/schema ImgPath,omitempty"`
  5533. Extension OSDImgConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5534. }
  5535. // OSDImgConfigurationExtension type
  5536. type OSDImgConfigurationExtension struct {
  5537. }
  5538. // ColorspaceRange type
  5539. type ColorspaceRange struct {
  5540. X FloatRange `xml:"http://www.onvif.org/ver10/schema X,omitempty"`
  5541. Y FloatRange `xml:"http://www.onvif.org/ver10/schema Y,omitempty"`
  5542. Z FloatRange `xml:"http://www.onvif.org/ver10/schema Z,omitempty"`
  5543. //
  5544. // Acceptable values are the same as in tt:Color.
  5545. //
  5546. Colorspace AnyURI `xml:"http://www.onvif.org/ver10/schema Colorspace,omitempty"`
  5547. }
  5548. // ColorOptions type
  5549. type ColorOptions struct {
  5550. // List the supported color.
  5551. ColorList []Color `xml:"http://www.onvif.org/ver10/schema ColorList,omitempty"`
  5552. // Define the range of color supported.
  5553. ColorspaceRange []ColorspaceRange `xml:"http://www.onvif.org/ver10/schema ColorspaceRange,omitempty"`
  5554. }
  5555. // OSDColorOptions type
  5556. type OSDColorOptions struct {
  5557. // Optional list of supported colors.
  5558. Color ColorOptions `xml:"http://www.onvif.org/ver10/schema Color,omitempty"`
  5559. // Range of the transparent level. Larger means more tranparent.
  5560. Transparent IntRange `xml:"http://www.onvif.org/ver10/schema Transparent,omitempty"`
  5561. Extension OSDColorOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5562. }
  5563. // OSDColorOptionsExtension type
  5564. type OSDColorOptionsExtension struct {
  5565. }
  5566. // OSDTextOptions type
  5567. type OSDTextOptions struct {
  5568. // List of supported OSD text type. When a device indicates the supported number relating to Text type in MaximumNumberOfOSDs, the type shall be presented.
  5569. Type []string `xml:"http://www.onvif.org/ver10/device/wsdl Type,omitempty"`
  5570. // Range of the font size value.
  5571. FontSizeRange IntRange `xml:"http://www.onvif.org/ver10/schema FontSizeRange,omitempty"`
  5572. // List of supported date format.
  5573. DateFormat []string `xml:"http://www.onvif.org/ver10/device/wsdl DateFormat,omitempty"`
  5574. // List of supported time format.
  5575. TimeFormat []string `xml:"http://www.onvif.org/ver10/device/wsdl TimeFormat,omitempty"`
  5576. // List of supported font color.
  5577. FontColor OSDColorOptions `xml:"http://www.onvif.org/ver10/schema FontColor,omitempty"`
  5578. // List of supported background color.
  5579. BackgroundColor OSDColorOptions `xml:"http://www.onvif.org/ver10/schema BackgroundColor,omitempty"`
  5580. Extension OSDTextOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5581. }
  5582. // OSDTextOptionsExtension type
  5583. type OSDTextOptionsExtension struct {
  5584. }
  5585. // OSDImgOptions type
  5586. type OSDImgOptions struct {
  5587. // List of available image URIs.
  5588. ImagePath []AnyURI `xml:"http://www.onvif.org/ver10/schema ImagePath,omitempty"`
  5589. Extension OSDImgOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5590. // List of supported image MIME types, such as "image/png".
  5591. FormatsSupported StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl FormatsSupported,attr,omitempty"`
  5592. // The maximum size (in bytes) of the image that can be uploaded.
  5593. MaxSize int32 `xml:"http://www.onvif.org/ver10/schema MaxSize,attr,omitempty"`
  5594. // The maximum width (in pixels) of the image that can be uploaded.
  5595. MaxWidth int32 `xml:"http://www.onvif.org/ver10/schema MaxWidth,attr,omitempty"`
  5596. // The maximum height (in pixels) of the image that can be uploaded.
  5597. MaxHeight int32 `xml:"http://www.onvif.org/ver10/schema MaxHeight,attr,omitempty"`
  5598. }
  5599. // OSDImgOptionsExtension type
  5600. type OSDImgOptionsExtension struct {
  5601. }
  5602. // OSDConfiguration type
  5603. type OSDConfiguration struct {
  5604. *DeviceEntity
  5605. // Reference to the video source configuration.
  5606. VideoSourceConfigurationToken OSDReference `xml:"http://www.onvif.org/ver10/schema VideoSourceConfigurationToken,omitempty"`
  5607. // Type of OSD.
  5608. Type OSDType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  5609. // Position configuration of OSD.
  5610. Position OSDPosConfiguration `xml:"http://www.onvif.org/ver10/schema Position,omitempty"`
  5611. // Text configuration of OSD. It shall be present when the value of Type field is Text.
  5612. TextString OSDTextConfiguration `xml:"http://www.onvif.org/ver10/schema TextString,omitempty"`
  5613. // Image configuration of OSD. It shall be present when the value of Type field is Image
  5614. Image OSDImgConfiguration `xml:"http://www.onvif.org/ver10/schema Image,omitempty"`
  5615. Extension OSDConfigurationExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5616. }
  5617. // OSDConfigurationExtension type
  5618. type OSDConfigurationExtension struct {
  5619. }
  5620. // MaximumNumberOfOSDs type
  5621. type MaximumNumberOfOSDs struct {
  5622. Total int32 `xml:"http://www.onvif.org/ver10/schema Total,attr,omitempty"`
  5623. Image int32 `xml:"http://www.onvif.org/ver10/schema Image,attr,omitempty"`
  5624. PlainText int32 `xml:"http://www.onvif.org/ver10/schema PlainText,attr,omitempty"`
  5625. Date int32 `xml:"http://www.onvif.org/ver10/schema Date,attr,omitempty"`
  5626. Time int32 `xml:"http://www.onvif.org/ver10/schema DateTime,attr,omitempty"`
  5627. DateAndTime int32 `xml:"http://www.onvif.org/ver10/schema DateAndTime,attr,omitempty"`
  5628. }
  5629. // OSDConfigurationOptions type
  5630. type OSDConfigurationOptions struct {
  5631. // 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.
  5632. MaximumNumberOfOSDs MaximumNumberOfOSDs `xml:"http://www.onvif.org/ver10/schema MaximumNumberOfOSDs,omitempty"`
  5633. // 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.
  5634. Type []OSDType `xml:"http://www.onvif.org/ver10/schema Type,omitempty"`
  5635. // List available OSD position type. Following are the pre-defined:
  5636. //
  5637. PositionOption []string `xml:"http://www.onvif.org/ver10/device/wsdl PositionOption,omitempty"`
  5638. // Option of the OSD text configuration. This element shall be returned if the device is signaling the support for Text.
  5639. TextOption OSDTextOptions `xml:"http://www.onvif.org/ver10/schema TextOption,omitempty"`
  5640. // Option of the OSD image configuration. This element shall be returned if the device is signaling the support for Image.
  5641. ImageOption OSDImgOptions `xml:"http://www.onvif.org/ver10/schema ImageOption,omitempty"`
  5642. Extension OSDConfigurationOptionsExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5643. }
  5644. // OSDConfigurationOptionsExtension type
  5645. type OSDConfigurationOptionsExtension struct {
  5646. }
  5647. // FileProgress type
  5648. type FileProgress struct {
  5649. // Exported file name
  5650. FileName string `xml:"http://www.onvif.org/ver10/device/wsdl FileName,omitempty"`
  5651. // Normalized percentage completion for uploading the exported file
  5652. Progress float32 `xml:"http://www.onvif.org/ver10/schema Progress,omitempty"`
  5653. }
  5654. // ArrayOfFileProgress type
  5655. type ArrayOfFileProgress struct {
  5656. // Exported file name and export progress information
  5657. FileProgress []FileProgress `xml:"http://www.onvif.org/ver10/schema FileProgress,omitempty"`
  5658. Extension ArrayOfFileProgressExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5659. }
  5660. // ArrayOfFileProgressExtension type
  5661. type ArrayOfFileProgressExtension struct {
  5662. }
  5663. // StorageReferencePath type
  5664. type StorageReferencePath struct {
  5665. // identifier of an existing Storage Configuration.
  5666. StorageToken ReferenceToken `xml:"http://www.onvif.org/ver10/device/wsdl StorageToken,omitempty"`
  5667. // gives the relative directory path on the storage
  5668. RelativePath string `xml:"http://www.onvif.org/ver10/device/wsdl RelativePath,omitempty"`
  5669. Extension StorageReferencePathExtension `xml:"http://www.onvif.org/ver10/schema Extension,omitempty"`
  5670. }
  5671. // StorageReferencePathExtension type
  5672. type StorageReferencePathExtension struct {
  5673. }
  5674. // Device type
  5675. type Device interface {
  5676. /* Returns information about services on the device. */
  5677. GetServices(request *GetServices) (*GetServicesResponse, error)
  5678. GetServicesContext(ctx context.Context, request *GetServices) (*GetServicesResponse, error)
  5679. /* Returns the capabilities of the device service. The result is returned in a typed answer. */
  5680. GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  5681. GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)
  5682. /* This operation gets basic device information from the device. */
  5683. GetDeviceInformation(request *GetDeviceInformation) (*GetDeviceInformationResponse, error)
  5684. GetDeviceInformationContext(ctx context.Context, request *GetDeviceInformation) (*GetDeviceInformationResponse, error)
  5685. /* This operation sets the device system date and time. The device shall support the
  5686. configuration of the daylight saving setting and of the manual system date and time (if
  5687. applicable) or indication of NTP time (if applicable) through the SetSystemDateAndTime
  5688. command.
  5689. If system time and date are set manually, the client shall include UTCDateTime in the request.
  5690. A TimeZone token which is not formed according to the rules of IEEE 1003.1 section 8.3 is considered as invalid timezone.
  5691. The DayLightSavings flag should be set to true to activate any DST settings of the TimeZone string.
  5692. Clear the DayLightSavings flag if the DST portion of the TimeZone settings should be ignored.
  5693. */
  5694. SetSystemDateAndTime(request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error)
  5695. SetSystemDateAndTimeContext(ctx context.Context, request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error)
  5696. /* This operation gets the device system date and time. The device shall support the return of
  5697. the daylight saving setting and of the manual system date and time (if applicable) or indication
  5698. of NTP time (if applicable) through the GetSystemDateAndTime command.
  5699. A device shall provide the UTCDateTime information. */
  5700. GetSystemDateAndTime(request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error)
  5701. GetSystemDateAndTimeContext(ctx context.Context, request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error)
  5702. /* This operation reloads the parameters on the device to their factory default values. */
  5703. SetSystemFactoryDefault(request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error)
  5704. SetSystemFactoryDefaultContext(ctx context.Context, request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error)
  5705. /* This operation upgrades a device firmware version. After a successful upgrade the response
  5706. message is sent before the device reboots. The device should support firmware upgrade
  5707. through the UpgradeSystemFirmware command. The exact format of the firmware data is
  5708. outside the scope of this standard. */
  5709. UpgradeSystemFirmware(request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error)
  5710. UpgradeSystemFirmwareContext(ctx context.Context, request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error)
  5711. /* This operation reboots the device. */
  5712. SystemReboot(request *SystemReboot) (*SystemRebootResponse, error)
  5713. SystemRebootContext(ctx context.Context, request *SystemReboot) (*SystemRebootResponse, error)
  5714. /* This operation restores the system backup configuration files(s) previously retrieved from a
  5715. device. The device should support restore of backup configuration file(s) through the
  5716. RestoreSystem command. The exact format of the backup configuration file(s) is outside the
  5717. scope of this standard. If the command is supported, it shall accept backup files returned by
  5718. the GetSystemBackup command. */
  5719. RestoreSystem(request *RestoreSystem) (*RestoreSystemResponse, error)
  5720. RestoreSystemContext(ctx context.Context, request *RestoreSystem) (*RestoreSystemResponse, error)
  5721. /* This operation is retrieves system backup configuration file(s) from a device. The device
  5722. should support return of back up configuration file(s) through the GetSystemBackup command.
  5723. The backup is returned with reference to a name and mime-type together with binary data.
  5724. The exact format of the backup configuration files is outside the scope of this standard. */
  5725. GetSystemBackup(request *GetSystemBackup) (*GetSystemBackupResponse, error)
  5726. GetSystemBackupContext(ctx context.Context, request *GetSystemBackup) (*GetSystemBackupResponse, error)
  5727. /* This operation gets a system log from the device. The exact format of the system logs is outside the scope of this standard. */
  5728. GetSystemLog(request *GetSystemLog) (*GetSystemLogResponse, error)
  5729. GetSystemLogContext(ctx context.Context, request *GetSystemLog) (*GetSystemLogResponse, error)
  5730. /* This operation gets arbitary device diagnostics information from the device. */
  5731. GetSystemSupportInformation(request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error)
  5732. GetSystemSupportInformationContext(ctx context.Context, request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error)
  5733. /* This operation requests the scope parameters of a device. The scope parameters are used in
  5734. the device discovery to match a probe message, see Section 7. The Scope parameters are of
  5735. two different types:
  5736. Fixed scope parameters are permanent device characteristics and cannot be removed through the device management interface.
  5737. The scope type is indicated in the scope list returned in the get scope parameters response. A device shall support
  5738. retrieval of discovery scope parameters through the GetScopes command. As some scope parameters are mandatory,
  5739. the device shall return a non-empty scope list in the response. */
  5740. GetScopes(request *GetScopes) (*GetScopesResponse, error)
  5741. GetScopesContext(ctx context.Context, request *GetScopes) (*GetScopesResponse, error)
  5742. /* This operation sets the scope parameters of a device. The scope parameters are used in the
  5743. device discovery to match a probe message.
  5744. This operation replaces all existing configurable scope parameters (not fixed parameters). If
  5745. this shall be avoided, one should use the scope add command instead. The device shall
  5746. support configuration of discovery scope parameters through the SetScopes command. */
  5747. SetScopes(request *SetScopes) (*SetScopesResponse, error)
  5748. SetScopesContext(ctx context.Context, request *SetScopes) (*SetScopesResponse, error)
  5749. /* This operation adds new configurable scope parameters to a device. The scope parameters
  5750. are used in the device discovery to match a probe message. The device shall
  5751. support addition of discovery scope parameters through the AddScopes command. */
  5752. AddScopes(request *AddScopes) (*AddScopesResponse, error)
  5753. AddScopesContext(ctx context.Context, request *AddScopes) (*AddScopesResponse, error)
  5754. /* This operation deletes scope-configurable scope parameters from a device. The scope
  5755. parameters are used in the device discovery to match a probe message, see Section 7. The
  5756. device shall support deletion of discovery scope parameters through the RemoveScopes
  5757. command.
  5758. Table */
  5759. RemoveScopes(request *RemoveScopes) (*RemoveScopesResponse, error)
  5760. RemoveScopesContext(ctx context.Context, request *RemoveScopes) (*RemoveScopesResponse, error)
  5761. /* This operation gets the discovery mode of a device. See Section 7.2 for the definition of the
  5762. different device discovery modes. The device shall support retrieval of the discovery mode
  5763. setting through the GetDiscoveryMode command. */
  5764. GetDiscoveryMode(request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error)
  5765. GetDiscoveryModeContext(ctx context.Context, request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error)
  5766. /* This operation sets the discovery mode operation of a device. See Section 7.2 for the
  5767. definition of the different device discovery modes. The device shall support configuration of
  5768. the discovery mode setting through the SetDiscoveryMode command. */
  5769. SetDiscoveryMode(request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error)
  5770. SetDiscoveryModeContext(ctx context.Context, request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error)
  5771. /* This operation gets the remote discovery mode of a device. See Section 7.4 for the definition
  5772. of remote discovery extensions. A device that supports remote discovery shall support
  5773. retrieval of the remote discovery mode setting through the GetRemoteDiscoveryMode
  5774. command. */
  5775. GetRemoteDiscoveryMode(request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error)
  5776. GetRemoteDiscoveryModeContext(ctx context.Context, request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error)
  5777. /* This operation sets the remote discovery mode of operation of a device. See Section 7.4 for
  5778. the definition of remote discovery remote extensions. A device that supports remote discovery
  5779. shall support configuration of the discovery mode setting through the
  5780. SetRemoteDiscoveryMode command. */
  5781. SetRemoteDiscoveryMode(request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error)
  5782. SetRemoteDiscoveryModeContext(ctx context.Context, request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error)
  5783. /* This operation gets the remote DP address or addresses from a device. If the device supports
  5784. remote discovery, as specified in Section 7.4, the device shall support retrieval of the remote
  5785. DP address(es) through the GetDPAddresses command. */
  5786. GetDPAddresses(request *GetDPAddresses) (*GetDPAddressesResponse, error)
  5787. GetDPAddressesContext(ctx context.Context, request *GetDPAddresses) (*GetDPAddressesResponse, error)
  5788. /* This operation sets the remote DP address or addresses on a device. If the device supports
  5789. remote discovery, as specified in Section 7.4, the device shall support configuration of the
  5790. remote DP address(es) through the SetDPAddresses command. */
  5791. SetDPAddresses(request *SetDPAddresses) (*SetDPAddressesResponse, error)
  5792. SetDPAddressesContext(ctx context.Context, request *SetDPAddresses) (*SetDPAddressesResponse, error)
  5793. /* A client can ask for the device service endpoint reference address property that can be used
  5794. to derive the password equivalent for remote user operation. The device shall support the
  5795. GetEndpointReference command returning the address property of the device service
  5796. endpoint reference. */
  5797. GetEndpointReference(request *GetEndpointReference) (*GetEndpointReferenceResponse, error)
  5798. GetEndpointReferenceContext(ctx context.Context, request *GetEndpointReference) (*GetEndpointReferenceResponse, error)
  5799. /* This operation returns the configured remote user (if any). A device supporting remote user
  5800. handling shall support this operation. The user is only valid for the WS-UserToken profile or
  5801. as a HTTP / RTSP user.
  5802. The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification. */
  5803. GetRemoteUser(request *GetRemoteUser) (*GetRemoteUserResponse, error)
  5804. GetRemoteUserContext(ctx context.Context, request *GetRemoteUser) (*GetRemoteUserResponse, error)
  5805. /* This operation sets the remote user. A device supporting remote user handling shall support this
  5806. operation. The user is only valid for the WS-UserToken profile or as a HTTP / RTSP user.
  5807. The password that is set shall always be the original (not derived) password.
  5808. If UseDerivedPassword is set password derivation shall be done by the device when connecting to a
  5809. remote device.The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification.
  5810. To remove the remote user SetRemoteUser should be called without the RemoteUser parameter. */
  5811. SetRemoteUser(request *SetRemoteUser) (*SetRemoteUserResponse, error)
  5812. SetRemoteUserContext(ctx context.Context, request *SetRemoteUser) (*SetRemoteUserResponse, error)
  5813. /* This operation lists the registered users and corresponding credentials on a device. The
  5814. device shall support retrieval of registered device users and their credentials for the user
  5815. token through the GetUsers command. */
  5816. GetUsers(request *GetUsers) (*GetUsersResponse, error)
  5817. GetUsersContext(ctx context.Context, request *GetUsers) (*GetUsersResponse, error)
  5818. /* This operation creates new device users and corresponding credentials on a device for authentication purposes.
  5819. The device shall support creation of device users and their credentials through the CreateUsers
  5820. command. Either all users are created successfully or a fault message shall be returned
  5821. without creating any user.
  5822. ONVIF compliant devices are recommended to support password length of at least 28 bytes,
  5823. as clients may follow the password derivation mechanism which results in 'password
  5824. equivalent' of length 28 bytes, as described in section 3.1.2 of the ONVIF security white paper. */
  5825. CreateUsers(request *CreateUsers) (*CreateUsersResponse, error)
  5826. CreateUsersContext(ctx context.Context, request *CreateUsers) (*CreateUsersResponse, error)
  5827. /* This operation deletes users on a device. The device shall support deletion of device users and their credentials
  5828. through the DeleteUsers command. A device may have one or more fixed users
  5829. that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a
  5830. fault message shall be returned and no users be deleted. */
  5831. DeleteUsers(request *DeleteUsers) (*DeleteUsersResponse, error)
  5832. DeleteUsersContext(ctx context.Context, request *DeleteUsers) (*DeleteUsersResponse, error)
  5833. /* This operation updates the settings for one or several users on a device for authentication purposes.
  5834. The device shall support update of device users and their credentials through the SetUser command.
  5835. Either all change requests are processed successfully or a fault message shall be returned and no change requests be processed. */
  5836. SetUser(request *SetUser) (*SetUserResponse, error)
  5837. SetUserContext(ctx context.Context, request *SetUser) (*SetUserResponse, error)
  5838. /* It is possible for an endpoint to request a URL that can be used to retrieve the complete
  5839. schema and WSDL definitions of a device. The command gives in return a URL entry point
  5840. where all the necessary product specific WSDL and schema definitions can be retrieved. The
  5841. device shall provide a URL for WSDL and schema download through the GetWsdlUrl command. */
  5842. GetWsdlUrl(request *GetWsdlUrl) (*GetWsdlUrlResponse, error)
  5843. GetWsdlUrlContext(ctx context.Context, request *GetWsdlUrl) (*GetWsdlUrlResponse, error)
  5844. /* This method has been replaced by the more generic GetServices method.
  5845. For capabilities of individual services refer to the GetServiceCapabilities methods. */
  5846. GetCapabilities(request *GetCapabilities) (*GetCapabilitiesResponse, error)
  5847. GetCapabilitiesContext(ctx context.Context, request *GetCapabilities) (*GetCapabilitiesResponse, error)
  5848. /* This operation is used by an endpoint to get the hostname from a device. The device shall
  5849. return its hostname configurations through the GetHostname command. */
  5850. GetHostname(request *GetHostname) (*GetHostnameResponse, error)
  5851. GetHostnameContext(ctx context.Context, request *GetHostname) (*GetHostnameResponse, error)
  5852. /* This operation sets the hostname on a device. It shall be possible to set the device hostname
  5853. configurations through the SetHostname command.
  5854. A device shall accept string formated according to RFC 1123 section 2.1 or alternatively to RFC 952,
  5855. other string shall be considered as invalid strings.
  5856. */
  5857. SetHostname(request *SetHostname) (*SetHostnameResponse, error)
  5858. SetHostnameContext(ctx context.Context, request *SetHostname) (*SetHostnameResponse, error)
  5859. /* This operation controls whether the hostname is set manually or retrieved via DHCP. */
  5860. SetHostnameFromDHCP(request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error)
  5861. SetHostnameFromDHCPContext(ctx context.Context, request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error)
  5862. /* This operation gets the DNS settings from a device. The device shall return its DNS
  5863. configurations through the GetDNS command. */
  5864. GetDNS(request *GetDNS) (*GetDNSResponse, error)
  5865. GetDNSContext(ctx context.Context, request *GetDNS) (*GetDNSResponse, error)
  5866. /* This operation sets the DNS settings on a device. It shall be possible to set the device DNS
  5867. configurations through the SetDNS command. */
  5868. SetDNS(request *SetDNS) (*SetDNSResponse, error)
  5869. SetDNSContext(ctx context.Context, request *SetDNS) (*SetDNSResponse, error)
  5870. /* This operation gets the NTP settings from a device. If the device supports NTP, it shall be
  5871. possible to get the NTP server settings through the GetNTP command. */
  5872. GetNTP(request *GetNTP) (*GetNTPResponse, error)
  5873. GetNTPContext(ctx context.Context, request *GetNTP) (*GetNTPResponse, error)
  5874. /* This operation sets the NTP settings on a device. If the device supports NTP, it shall be
  5875. possible to set the NTP server settings through the SetNTP command.
  5876. A device shall accept string formated according to RFC 1123 section 2.1 or alternatively to RFC 952,
  5877. other string shall be considered as invalid strings.
  5878. Changes to the NTP server list will not affect the clock mode DateTimeType. Use SetSystemDateAndTime to activate NTP operation.
  5879. */
  5880. SetNTP(request *SetNTP) (*SetNTPResponse, error)
  5881. SetNTPContext(ctx context.Context, request *SetNTP) (*SetNTPResponse, error)
  5882. /* This operation gets the dynamic DNS settings from a device. If the device supports dynamic
  5883. DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to get the type, name
  5884. and TTL through the GetDynamicDNS command. */
  5885. GetDynamicDNS(request *GetDynamicDNS) (*GetDynamicDNSResponse, error)
  5886. GetDynamicDNSContext(ctx context.Context, request *GetDynamicDNS) (*GetDynamicDNSResponse, error)
  5887. /* This operation sets the dynamic DNS settings on a device. If the device supports dynamic
  5888. DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to set the type, name
  5889. and TTL through the SetDynamicDNS command. */
  5890. SetDynamicDNS(request *SetDynamicDNS) (*SetDynamicDNSResponse, error)
  5891. SetDynamicDNSContext(ctx context.Context, request *SetDynamicDNS) (*SetDynamicDNSResponse, error)
  5892. /* This operation gets the network interface configuration from a device. The device shall
  5893. support return of network interface configuration settings as defined by the NetworkInterface
  5894. type through the GetNetworkInterfaces command. */
  5895. GetNetworkInterfaces(request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error)
  5896. GetNetworkInterfacesContext(ctx context.Context, request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error)
  5897. /* This operation sets the network interface configuration on a device. The device shall support
  5898. network configuration of supported network interfaces through the SetNetworkInterfaces
  5899. command.
  5900. For interoperability with a client unaware of the IEEE 802.11 extension a device shall retain
  5901. its IEEE 802.11 configuration if the IEEE 802.11 configuration element isn’t present in the
  5902. request. */
  5903. SetNetworkInterfaces(request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error)
  5904. SetNetworkInterfacesContext(ctx context.Context, request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error)
  5905. /* This operation gets defined network protocols from a device. The device shall support the
  5906. GetNetworkProtocols command returning configured network protocols. */
  5907. GetNetworkProtocols(request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error)
  5908. GetNetworkProtocolsContext(ctx context.Context, request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error)
  5909. /* This operation configures defined network protocols on a device. The device shall support
  5910. configuration of defined network protocols through the SetNetworkProtocols command. */
  5911. SetNetworkProtocols(request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error)
  5912. SetNetworkProtocolsContext(ctx context.Context, request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error)
  5913. /* This operation gets the default gateway settings from a device. The device shall support the
  5914. GetNetworkDefaultGateway command returning configured default gateway address(es). */
  5915. GetNetworkDefaultGateway(request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error)
  5916. GetNetworkDefaultGatewayContext(ctx context.Context, request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error)
  5917. /* This operation sets the default gateway settings on a device. The device shall support
  5918. configuration of default gateway through the SetNetworkDefaultGateway command. */
  5919. SetNetworkDefaultGateway(request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error)
  5920. SetNetworkDefaultGatewayContext(ctx context.Context, request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error)
  5921. /* This operation gets the zero-configuration from a device. If the device supports dynamic IP
  5922. configuration according to [RFC3927], it shall support the return of IPv4 zero configuration
  5923. address and status through the GetZeroConfiguration command.
  5924. Devices supporting zero configuration on more than one interface shall use the extension to list the additional interface settings. */
  5925. GetZeroConfiguration(request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error)
  5926. GetZeroConfigurationContext(ctx context.Context, request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error)
  5927. /* This operation sets the zero-configuration. Use GetCapalities to get if zero-zero-configuration is supported or not. */
  5928. SetZeroConfiguration(request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error)
  5929. SetZeroConfigurationContext(ctx context.Context, request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error)
  5930. /* This operation gets the IP address filter settings from a device. If the device supports device
  5931. access control based on IP filtering rules (denied or accepted ranges of IP addresses), the
  5932. device shall support the GetIPAddressFilter command. */
  5933. GetIPAddressFilter(request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error)
  5934. GetIPAddressFilterContext(ctx context.Context, request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error)
  5935. /* This operation sets the IP address filter settings on a device. If the device supports device
  5936. access control based on IP filtering rules (denied or accepted ranges of IP addresses), the
  5937. device shall support configuration of IP filtering rules through the SetIPAddressFilter
  5938. command. */
  5939. SetIPAddressFilter(request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error)
  5940. SetIPAddressFilterContext(ctx context.Context, request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error)
  5941. /* This operation adds an IP filter address to a device. If the device supports device access
  5942. control based on IP filtering rules (denied or accepted ranges of IP addresses), the device
  5943. shall support adding of IP filtering addresses through the AddIPAddressFilter command. */
  5944. AddIPAddressFilter(request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error)
  5945. AddIPAddressFilterContext(ctx context.Context, request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error)
  5946. /* This operation deletes an IP filter address from a device. If the device supports device access
  5947. control based on IP filtering rules (denied or accepted ranges of IP addresses), the device
  5948. shall support deletion of IP filtering addresses through the RemoveIPAddressFilter command. */
  5949. RemoveIPAddressFilter(request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error)
  5950. RemoveIPAddressFilterContext(ctx context.Context, request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error)
  5951. /* Access to different services and sub-sets of services should be subject to access control. The
  5952. WS-Security framework gives the prerequisite for end-point authentication. Authorization
  5953. decisions can then be taken using an access security policy. This standard does not mandate
  5954. any particular policy description format or security policy but this is up to the device
  5955. manufacturer or system provider to choose policy and policy description format of choice.
  5956. However, an access policy (in arbitrary format) can be requested using this command. If the
  5957. device supports access policy settings based on WS-Security authentication, then the device
  5958. shall support this command. */
  5959. GetAccessPolicy(request *GetAccessPolicy) (*GetAccessPolicyResponse, error)
  5960. GetAccessPolicyContext(ctx context.Context, request *GetAccessPolicy) (*GetAccessPolicyResponse, error)
  5961. /* This command sets the device access security policy (for more details on the access security
  5962. policy see the Get command). If the device supports access policy settings
  5963. based on WS-Security authentication, then the device shall support this command. */
  5964. SetAccessPolicy(request *SetAccessPolicy) (*SetAccessPolicyResponse, error)
  5965. SetAccessPolicyContext(ctx context.Context, request *SetAccessPolicy) (*SetAccessPolicyResponse, error)
  5966. /* This operation generates a private/public key pair and also can create a self-signed device
  5967. certificate as a result of key pair generation. The certificate is created using a suitable
  5968. onboard key pair generation mechanism.
  5969. If a device supports onboard key pair generation, the device that supports TLS shall support
  5970. this certificate creation command. And also, if a device supports onboard key pair generation,
  5971. the device that support IEEE 802.1X shall support this command for the purpose of key pair
  5972. generation. Certificates and key pairs are identified using certificate IDs. These IDs are either
  5973. chosen by the certificate generation requester or by the device (in case that no ID value is
  5974. given). */
  5975. CreateCertificate(request *CreateCertificate) (*CreateCertificateResponse, error)
  5976. CreateCertificateContext(ctx context.Context, request *CreateCertificate) (*CreateCertificateResponse, error)
  5977. /* This operation gets all device server certificates (including self-signed) for the purpose of TLS
  5978. authentication and all device client certificates for the purpose of IEEE 802.1X authentication.
  5979. This command lists only the TLS server certificates and IEEE 802.1X client certificates for the
  5980. device (neither trusted CA certificates nor trusted root certificates). The certificates are
  5981. returned as binary data. A device that supports TLS shall support this command and the
  5982. certificates shall be encoded using ASN.1 [X.681], [X.682], [X.683] DER [X.690] encoding
  5983. rules. */
  5984. GetCertificates(request *GetCertificates) (*GetCertificatesResponse, error)
  5985. GetCertificatesContext(ctx context.Context, request *GetCertificates) (*GetCertificatesResponse, error)
  5986. /* This operation is specific to TLS functionality. This operation gets the status
  5987. (enabled/disabled) of the device TLS server certificates. A device that supports TLS shall
  5988. support this command. */
  5989. GetCertificatesStatus(request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error)
  5990. GetCertificatesStatusContext(ctx context.Context, request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error)
  5991. /* This operation is specific to TLS functionality. This operation sets the status (enable/disable)
  5992. of the device TLS server certificates. A device that supports TLS shall support this command.
  5993. Typically only one device server certificate is allowed to be enabled at a time. */
  5994. SetCertificatesStatus(request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error)
  5995. SetCertificatesStatusContext(ctx context.Context, request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error)
  5996. /* This operation deletes a certificate or multiple certificates. The device MAY also delete a
  5997. private/public key pair which is coupled with the certificate to be deleted. The device that
  5998. support either TLS or IEEE 802.1X shall support the deletion of a certificate or multiple
  5999. certificates through this command. Either all certificates are deleted successfully or a fault
  6000. message shall be returned without deleting any certificate. */
  6001. DeleteCertificates(request *DeleteCertificates) (*DeleteCertificatesResponse, error)
  6002. DeleteCertificatesContext(ctx context.Context, request *DeleteCertificates) (*DeleteCertificatesResponse, error)
  6003. /* This operation requests a PKCS #10 certificate signature request from the device. The
  6004. returned information field shall be either formatted exactly as specified in [PKCS#10] or PEM
  6005. encoded [PKCS#10] format. In order for this command to work, the device must already have
  6006. a private/public key pair. This key pair should be referred by CertificateID as specified in the
  6007. input parameter description. This CertificateID refers to the key pair generated using
  6008. CreateCertificate command.
  6009. A device that support onboard key pair generation that supports either TLS or IEEE 802.1X
  6010. using client certificate shall support this command. */
  6011. GetPkcs10Request(request *GetPkcs10Request) (*GetPkcs10RequestResponse, error)
  6012. GetPkcs10RequestContext(ctx context.Context, request *GetPkcs10Request) (*GetPkcs10RequestResponse, error)
  6013. /* TLS server certificate(s) or IEEE 802.1X client certificate(s) created using the PKCS#10
  6014. certificate request command can be loaded into the device using this command (see Section
  6015. 8.4.13). The certificate ID in the request shall be present. The device may sort the received
  6016. certificate(s) based on the public key and subject information in the certificate(s).
  6017. The certificate ID in the request will be the ID value the client wish to have. The device is
  6018. supposed to scan the generated key pairs present in the device to identify which is the
  6019. correspondent key pair with the loaded certificate and then make the link between the
  6020. certificate and the key pair.
  6021. A device that supports onboard key pair generation that support either TLS or IEEE 802.1X
  6022. shall support this command.
  6023. The certificates shall be encoded using ASN.1 [X.681], [X.682], [X.683] DER [X.690] encoding
  6024. rules.
  6025. This command is applicable to any device type, although the parameter name is called for
  6026. historical reasons NVTCertificate. */
  6027. LoadCertificates(request *LoadCertificates) (*LoadCertificatesResponse, error)
  6028. LoadCertificatesContext(ctx context.Context, request *LoadCertificates) (*LoadCertificatesResponse, error)
  6029. /* This operation is specific to TLS functionality. This operation gets the status
  6030. (enabled/disabled) of the device TLS client authentication. A device that supports TLS shall
  6031. support this command. */
  6032. GetClientCertificateMode(request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error)
  6033. GetClientCertificateModeContext(ctx context.Context, request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error)
  6034. /* This operation is specific to TLS functionality. This operation sets the status
  6035. (enabled/disabled) of the device TLS client authentication. A device that supports TLS shall
  6036. support this command. */
  6037. SetClientCertificateMode(request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error)
  6038. SetClientCertificateModeContext(ctx context.Context, request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error)
  6039. /* This operation gets a list of all available relay outputs and their settings.
  6040. This method has been depricated with version 2.0. Refer to the DeviceIO service. */
  6041. GetRelayOutputs(request *GetRelayOutputs) (*GetRelayOutputsResponse, error)
  6042. GetRelayOutputsContext(ctx context.Context, request *GetRelayOutputs) (*GetRelayOutputsResponse, error)
  6043. /* This operation sets the settings of a relay output.
  6044. This method has been depricated with version 2.0. Refer to the DeviceIO service. */
  6045. SetRelayOutputSettings(request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error)
  6046. SetRelayOutputSettingsContext(ctx context.Context, request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error)
  6047. /* This operation sets the state of a relay output.
  6048. This method has been depricated with version 2.0. Refer to the DeviceIO service. */
  6049. SetRelayOutputState(request *SetRelayOutputState) (*SetRelayOutputStateResponse, error)
  6050. SetRelayOutputStateContext(ctx context.Context, request *SetRelayOutputState) (*SetRelayOutputStateResponse, error)
  6051. /* Manage auxiliary commands supported by a device, such as controlling an Infrared (IR) lamp,
  6052. a heater or a wiper or a thermometer that is connected to the device.
  6053. The supported commands can be retrieved via the AuxiliaryCommands capability.
  6054. Although the name of the auxiliary commands can be freely defined, commands starting with the prefix tt: are
  6055. reserved to define frequently used commands and these reserved commands shall all share the "tt:command|parameter" syntax.
  6056. A device that indicates auxiliary service capability shall support this command. */
  6057. SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)
  6058. SendAuxiliaryCommandContext(ctx context.Context, request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)
  6059. /* CA certificates will be loaded into a device and be used for the sake of following two cases.
  6060. The one is for the purpose of TLS client authentication in TLS server function. The other one
  6061. is for the purpose of Authentication Server authentication in IEEE 802.1X function. This
  6062. operation gets all CA certificates loaded into a device. A device that supports either TLS client
  6063. authentication or IEEE 802.1X shall support this command and the returned certificates shall
  6064. be encoded using ASN.1 [X.681], [X.682], [X.683] DER [X.690] encoding rules. */
  6065. GetCACertificates(request *GetCACertificates) (*GetCACertificatesResponse, error)
  6066. GetCACertificatesContext(ctx context.Context, request *GetCACertificates) (*GetCACertificatesResponse, error)
  6067. /* There might be some cases that a Certificate Authority or some other equivalent creates a
  6068. certificate without having PKCS#10 certificate signing request. In such cases, the certificate
  6069. will be bundled in conjunction with its private key. This command will be used for such use
  6070. case scenarios. The certificate ID in the request is optionally set to the ID value the client
  6071. wish to have. If the certificate ID is not specified in the request, device can choose the ID
  6072. accordingly.
  6073. This operation imports a private/public key pair into the device.
  6074. The certificates shall be encoded using ASN.1 [X.681], [X.682], [X.683] DER [X.690] encoding
  6075. rules.
  6076. A device that does not support onboard key pair generation and support either TLS or IEEE
  6077. 802.1X using client certificate shall support this command. A device that support onboard key
  6078. pair generation MAY support this command. The security policy of a device that supports this
  6079. operation should make sure that the private key is sufficiently protected. */
  6080. LoadCertificateWithPrivateKey(request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error)
  6081. LoadCertificateWithPrivateKeyContext(ctx context.Context, request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error)
  6082. /* This operation requests the information of a certificate specified by certificate ID. The device
  6083. should respond with its “Issuer DN”, “Subject DN”, “Key usage”, "Extended key usage”, “Key
  6084. Length”, “Version”, “Serial Number”, “Signature Algorithm” and “Validity” data as the
  6085. information of the certificate, as long as the device can retrieve such information from the
  6086. specified certificate.
  6087. A device that supports either TLS or IEEE 802.1X should support this command. */
  6088. GetCertificateInformation(request *GetCertificateInformation) (*GetCertificateInformationResponse, error)
  6089. GetCertificateInformationContext(ctx context.Context, request *GetCertificateInformation) (*GetCertificateInformationResponse, error)
  6090. /* This command is used when it is necessary to load trusted CA certificates or trusted root
  6091. certificates for the purpose of verification for its counterpart i.e. client certificate verification in
  6092. TLS function or server certificate verification in IEEE 802.1X function.
  6093. A device that support either TLS or IEEE 802.1X shall support this command. As for the
  6094. supported certificate format, either DER format or PEM format is possible to be used. But a
  6095. device that support this command shall support at least DER format as supported format type.
  6096. The device may sort the received certificate(s) based on the public key and subject
  6097. information in the certificate(s). Either all CA certificates are loaded successfully or a fault
  6098. message shall be returned without loading any CA certificate. */
  6099. LoadCACertificates(request *LoadCACertificates) (*LoadCACertificatesResponse, error)
  6100. LoadCACertificatesContext(ctx context.Context, request *LoadCACertificates) (*LoadCACertificatesResponse, error)
  6101. /* This operation newly creates IEEE 802.1X configuration parameter set of the device. The
  6102. device shall support this command if it supports IEEE 802.1X. If the device receives this
  6103. request with already existing configuration token (Dot1XConfigurationToken) specification, the
  6104. device should respond with 'ter:ReferenceToken ' error to indicate there is some configuration
  6105. conflict. */
  6106. CreateDot1XConfiguration(request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error)
  6107. CreateDot1XConfigurationContext(ctx context.Context, request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error)
  6108. /* While the CreateDot1XConfiguration command is trying to create a new configuration
  6109. parameter set, this operation modifies existing IEEE 802.1X configuration parameter set of
  6110. the device. A device that support IEEE 802.1X shall support this command. */
  6111. SetDot1XConfiguration(request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error)
  6112. SetDot1XConfigurationContext(ctx context.Context, request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error)
  6113. /* This operation gets one IEEE 802.1X configuration parameter set from the device by
  6114. specifying the configuration token (Dot1XConfigurationToken).
  6115. A device that supports IEEE 802.1X shall support this command.
  6116. Regardless of whether the 802.1X method in the retrieved configuration has a password or
  6117. not, the device shall not include the Password element in the response. */
  6118. GetDot1XConfiguration(request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error)
  6119. GetDot1XConfigurationContext(ctx context.Context, request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error)
  6120. /* This operation gets all the existing IEEE 802.1X configuration parameter sets from the device.
  6121. The device shall respond with all the IEEE 802.1X configurations so that the client can get to
  6122. know how many IEEE 802.1X configurations are existing and how they are configured.
  6123. A device that support IEEE 802.1X shall support this command.
  6124. Regardless of whether the 802.1X method in the retrieved configuration has a password or
  6125. not, the device shall not include the Password element in the response. */
  6126. GetDot1XConfigurations(request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error)
  6127. GetDot1XConfigurationsContext(ctx context.Context, request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error)
  6128. /* This operation deletes an IEEE 802.1X configuration parameter set from the device. Which
  6129. configuration should be deleted is specified by the 'Dot1XConfigurationToken' in the request.
  6130. A device that support IEEE 802.1X shall support this command. */
  6131. DeleteDot1XConfiguration(request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error)
  6132. DeleteDot1XConfigurationContext(ctx context.Context, request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error)
  6133. /* This operation returns the IEEE802.11 capabilities. The device shall support
  6134. this operation. */
  6135. GetDot11Capabilities(request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error)
  6136. GetDot11CapabilitiesContext(ctx context.Context, request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error)
  6137. /* This operation returns the status of a wireless network interface. The device shall support this
  6138. command. */
  6139. GetDot11Status(request *GetDot11Status) (*GetDot11StatusResponse, error)
  6140. GetDot11StatusContext(ctx context.Context, request *GetDot11Status) (*GetDot11StatusResponse, error)
  6141. /* This operation returns a lists of the wireless networks in range of the device. A device should
  6142. support this operation. */
  6143. ScanAvailableDot11Networks(request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error)
  6144. ScanAvailableDot11NetworksContext(ctx context.Context, request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error)
  6145. /* This operation is used to retrieve URIs from which system information may be downloaded
  6146. using HTTP. URIs may be returned for the following system information:
  6147. System Logs. Multiple system logs may be returned, of different types. The exact format of
  6148. the system logs is outside the scope of this specification.
  6149. Support Information. This consists of arbitrary device diagnostics information from a device.
  6150. The exact format of the diagnostic information is outside the scope of this specification.
  6151. System Backup. The received file is a backup file that can be used to restore the current
  6152. device configuration at a later date. The exact format of the backup configuration file is
  6153. outside the scope of this specification.
  6154. If the device allows retrieval of system logs, support information or system backup data, it
  6155. should make them available via HTTP GET. If it does, it shall support the GetSystemUris
  6156. command. */
  6157. GetSystemUris(request *GetSystemUris) (*GetSystemUrisResponse, error)
  6158. GetSystemUrisContext(ctx context.Context, request *GetSystemUris) (*GetSystemUrisResponse, error)
  6159. /* This operation initiates a firmware upgrade using the HTTP POST mechanism. The response
  6160. to the command includes an HTTP URL to which the upgrade file may be uploaded. The
  6161. actual upgrade takes place as soon as the HTTP POST operation has completed. The device
  6162. should support firmware upgrade through the StartFirmwareUpgrade command. The exact
  6163. format of the firmware data is outside the scope of this specification.
  6164. Firmware upgrade over HTTP may be achieved using the following steps:
  6165. If the firmware upgrade fails because the upgrade file was invalid, the HTTP POST response
  6166. shall be “415 Unsupported Media Type”. If the firmware upgrade fails due to an error at the
  6167. device, the HTTP POST response shall be “500 Internal Server Error”.
  6168. The value of the Content-Type header in the HTTP POST request shall be “application/octetstream”. */
  6169. StartFirmwareUpgrade(request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error)
  6170. StartFirmwareUpgradeContext(ctx context.Context, request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error)
  6171. /* This operation initiates a system restore from backed up configuration data using the HTTP
  6172. POST mechanism. The response to the command includes an HTTP URL to which the backup
  6173. file may be uploaded. The actual restore takes place as soon as the HTTP POST operation
  6174. has completed. Devices should support system restore through the StartSystemRestore
  6175. command. The exact format of the backup configuration data is outside the scope of this
  6176. specification.
  6177. System restore over HTTP may be achieved using the following steps:
  6178. If the system restore fails because the uploaded file was invalid, the HTTP POST response
  6179. shall be “415 Unsupported Media Type”. If the system restore fails due to an error at the
  6180. device, the HTTP POST response shall be “500 Internal Server Error”.
  6181. The value of the Content-Type header in the HTTP POST request shall be “application/octetstream”. */
  6182. StartSystemRestore(request *StartSystemRestore) (*StartSystemRestoreResponse, error)
  6183. StartSystemRestoreContext(ctx context.Context, request *StartSystemRestore) (*StartSystemRestoreResponse, error)
  6184. /*
  6185. This operation lists all existing storage configurations for the device.
  6186. */
  6187. GetStorageConfigurations(request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error)
  6188. GetStorageConfigurationsContext(ctx context.Context, request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error)
  6189. /*
  6190. This operation creates a new storage configuration.
  6191. The configuration data shall be created in the device and shall be persistent (remain after reboot).
  6192. */
  6193. CreateStorageConfiguration(request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error)
  6194. CreateStorageConfigurationContext(ctx context.Context, request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error)
  6195. /*
  6196. This operation retrieves the Storage configuration associated with the given storage configuration token.
  6197. */
  6198. GetStorageConfiguration(request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error)
  6199. GetStorageConfigurationContext(ctx context.Context, request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error)
  6200. /*
  6201. This operation modifies an existing Storage configuration.
  6202. */
  6203. SetStorageConfiguration(request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error)
  6204. SetStorageConfigurationContext(ctx context.Context, request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error)
  6205. /*
  6206. This operation deletes the given storage configuration and configuration change shall always be persistent.
  6207. */
  6208. DeleteStorageConfiguration(request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error)
  6209. DeleteStorageConfigurationContext(ctx context.Context, request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error)
  6210. /*
  6211. This operation lists all existing geo location configurations for the device.
  6212. */
  6213. GetGeoLocation(request *GetGeoLocation) (*GetGeoLocationResponse, error)
  6214. GetGeoLocationContext(ctx context.Context, request *GetGeoLocation) (*GetGeoLocationResponse, error)
  6215. /*
  6216. This operation allows to modify one or more geo configuration entries.
  6217. */
  6218. SetGeoLocation(request *SetGeoLocation) (*SetGeoLocationResponse, error)
  6219. SetGeoLocationContext(ctx context.Context, request *SetGeoLocation) (*SetGeoLocationResponse, error)
  6220. /*
  6221. This operation deletes the given geo location entries.
  6222. */
  6223. DeleteGeoLocation(request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error)
  6224. DeleteGeoLocationContext(ctx context.Context, request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error)
  6225. }
  6226. // device type
  6227. type device struct {
  6228. client *soap.Client
  6229. xaddr string
  6230. }
  6231. func NewDevice(client *soap.Client, xaddr string) Device {
  6232. return &device{
  6233. client: client,
  6234. xaddr: xaddr,
  6235. }
  6236. }
  6237. func (service *device) GetServicesContext(ctx context.Context, request *GetServices) (*GetServicesResponse, error) {
  6238. response := new(GetServicesResponse)
  6239. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetServices", request, response)
  6240. if err != nil {
  6241. return nil, err
  6242. }
  6243. return response, nil
  6244. }
  6245. func (service *device) GetServices(request *GetServices) (*GetServicesResponse, error) {
  6246. return service.GetServicesContext(
  6247. context.Background(),
  6248. request,
  6249. )
  6250. }
  6251. func (service *device) GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  6252. response := new(GetServiceCapabilitiesResponse)
  6253. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetServiceCapabilities", request, response)
  6254. if err != nil {
  6255. return nil, err
  6256. }
  6257. return response, nil
  6258. }
  6259. func (service *device) GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error) {
  6260. return service.GetServiceCapabilitiesContext(
  6261. context.Background(),
  6262. request,
  6263. )
  6264. }
  6265. func (service *device) GetDeviceInformationContext(ctx context.Context, request *GetDeviceInformation) (*GetDeviceInformationResponse, error) {
  6266. response := new(GetDeviceInformationResponse)
  6267. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDeviceInformation", request, response)
  6268. if err != nil {
  6269. return nil, err
  6270. }
  6271. return response, nil
  6272. }
  6273. func (service *device) GetDeviceInformation(request *GetDeviceInformation) (*GetDeviceInformationResponse, error) {
  6274. return service.GetDeviceInformationContext(
  6275. context.Background(),
  6276. request,
  6277. )
  6278. }
  6279. func (service *device) SetSystemDateAndTimeContext(ctx context.Context, request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error) {
  6280. response := new(SetSystemDateAndTimeResponse)
  6281. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetSystemDateAndTime", request, response)
  6282. if err != nil {
  6283. return nil, err
  6284. }
  6285. return response, nil
  6286. }
  6287. func (service *device) SetSystemDateAndTime(request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error) {
  6288. return service.SetSystemDateAndTimeContext(
  6289. context.Background(),
  6290. request,
  6291. )
  6292. }
  6293. func (service *device) GetSystemDateAndTimeContext(ctx context.Context, request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error) {
  6294. response := new(GetSystemDateAndTimeResponse)
  6295. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetSystemDateAndTime", request, response)
  6296. if err != nil {
  6297. return nil, err
  6298. }
  6299. return response, nil
  6300. }
  6301. func (service *device) GetSystemDateAndTime(request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error) {
  6302. return service.GetSystemDateAndTimeContext(
  6303. context.Background(),
  6304. request,
  6305. )
  6306. }
  6307. func (service *device) SetSystemFactoryDefaultContext(ctx context.Context, request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error) {
  6308. response := new(SetSystemFactoryDefaultResponse)
  6309. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetSystemFactoryDefault", request, response)
  6310. if err != nil {
  6311. return nil, err
  6312. }
  6313. return response, nil
  6314. }
  6315. func (service *device) SetSystemFactoryDefault(request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error) {
  6316. return service.SetSystemFactoryDefaultContext(
  6317. context.Background(),
  6318. request,
  6319. )
  6320. }
  6321. func (service *device) UpgradeSystemFirmwareContext(ctx context.Context, request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error) {
  6322. response := new(UpgradeSystemFirmwareResponse)
  6323. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/UpgradeSystemFirmware", request, response)
  6324. if err != nil {
  6325. return nil, err
  6326. }
  6327. return response, nil
  6328. }
  6329. func (service *device) UpgradeSystemFirmware(request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error) {
  6330. return service.UpgradeSystemFirmwareContext(
  6331. context.Background(),
  6332. request,
  6333. )
  6334. }
  6335. func (service *device) SystemRebootContext(ctx context.Context, request *SystemReboot) (*SystemRebootResponse, error) {
  6336. response := new(SystemRebootResponse)
  6337. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SystemReboot", request, response)
  6338. if err != nil {
  6339. return nil, err
  6340. }
  6341. return response, nil
  6342. }
  6343. func (service *device) SystemReboot(request *SystemReboot) (*SystemRebootResponse, error) {
  6344. return service.SystemRebootContext(
  6345. context.Background(),
  6346. request,
  6347. )
  6348. }
  6349. func (service *device) RestoreSystemContext(ctx context.Context, request *RestoreSystem) (*RestoreSystemResponse, error) {
  6350. response := new(RestoreSystemResponse)
  6351. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/RestoreSystem", request, response)
  6352. if err != nil {
  6353. return nil, err
  6354. }
  6355. return response, nil
  6356. }
  6357. func (service *device) RestoreSystem(request *RestoreSystem) (*RestoreSystemResponse, error) {
  6358. return service.RestoreSystemContext(
  6359. context.Background(),
  6360. request,
  6361. )
  6362. }
  6363. func (service *device) GetSystemBackupContext(ctx context.Context, request *GetSystemBackup) (*GetSystemBackupResponse, error) {
  6364. response := new(GetSystemBackupResponse)
  6365. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetSystemBackup", request, response)
  6366. if err != nil {
  6367. return nil, err
  6368. }
  6369. return response, nil
  6370. }
  6371. func (service *device) GetSystemBackup(request *GetSystemBackup) (*GetSystemBackupResponse, error) {
  6372. return service.GetSystemBackupContext(
  6373. context.Background(),
  6374. request,
  6375. )
  6376. }
  6377. func (service *device) GetSystemLogContext(ctx context.Context, request *GetSystemLog) (*GetSystemLogResponse, error) {
  6378. response := new(GetSystemLogResponse)
  6379. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetSystemLog", request, response)
  6380. if err != nil {
  6381. return nil, err
  6382. }
  6383. return response, nil
  6384. }
  6385. func (service *device) GetSystemLog(request *GetSystemLog) (*GetSystemLogResponse, error) {
  6386. return service.GetSystemLogContext(
  6387. context.Background(),
  6388. request,
  6389. )
  6390. }
  6391. func (service *device) GetSystemSupportInformationContext(ctx context.Context, request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error) {
  6392. response := new(GetSystemSupportInformationResponse)
  6393. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetSystemSupportInformation", request, response)
  6394. if err != nil {
  6395. return nil, err
  6396. }
  6397. return response, nil
  6398. }
  6399. func (service *device) GetSystemSupportInformation(request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error) {
  6400. return service.GetSystemSupportInformationContext(
  6401. context.Background(),
  6402. request,
  6403. )
  6404. }
  6405. func (service *device) GetScopesContext(ctx context.Context, request *GetScopes) (*GetScopesResponse, error) {
  6406. response := new(GetScopesResponse)
  6407. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetScopes", request, response)
  6408. if err != nil {
  6409. return nil, err
  6410. }
  6411. return response, nil
  6412. }
  6413. func (service *device) GetScopes(request *GetScopes) (*GetScopesResponse, error) {
  6414. return service.GetScopesContext(
  6415. context.Background(),
  6416. request,
  6417. )
  6418. }
  6419. func (service *device) SetScopesContext(ctx context.Context, request *SetScopes) (*SetScopesResponse, error) {
  6420. response := new(SetScopesResponse)
  6421. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetScopes", request, response)
  6422. if err != nil {
  6423. return nil, err
  6424. }
  6425. return response, nil
  6426. }
  6427. func (service *device) SetScopes(request *SetScopes) (*SetScopesResponse, error) {
  6428. return service.SetScopesContext(
  6429. context.Background(),
  6430. request,
  6431. )
  6432. }
  6433. func (service *device) AddScopesContext(ctx context.Context, request *AddScopes) (*AddScopesResponse, error) {
  6434. response := new(AddScopesResponse)
  6435. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/AddScopes", request, response)
  6436. if err != nil {
  6437. return nil, err
  6438. }
  6439. return response, nil
  6440. }
  6441. func (service *device) AddScopes(request *AddScopes) (*AddScopesResponse, error) {
  6442. return service.AddScopesContext(
  6443. context.Background(),
  6444. request,
  6445. )
  6446. }
  6447. func (service *device) RemoveScopesContext(ctx context.Context, request *RemoveScopes) (*RemoveScopesResponse, error) {
  6448. response := new(RemoveScopesResponse)
  6449. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/RemoveScopes", request, response)
  6450. if err != nil {
  6451. return nil, err
  6452. }
  6453. return response, nil
  6454. }
  6455. func (service *device) RemoveScopes(request *RemoveScopes) (*RemoveScopesResponse, error) {
  6456. return service.RemoveScopesContext(
  6457. context.Background(),
  6458. request,
  6459. )
  6460. }
  6461. func (service *device) GetDiscoveryModeContext(ctx context.Context, request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error) {
  6462. response := new(GetDiscoveryModeResponse)
  6463. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDiscoveryMode", request, response)
  6464. if err != nil {
  6465. return nil, err
  6466. }
  6467. return response, nil
  6468. }
  6469. func (service *device) GetDiscoveryMode(request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error) {
  6470. return service.GetDiscoveryModeContext(
  6471. context.Background(),
  6472. request,
  6473. )
  6474. }
  6475. func (service *device) SetDiscoveryModeContext(ctx context.Context, request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error) {
  6476. response := new(SetDiscoveryModeResponse)
  6477. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetDiscoveryMode", request, response)
  6478. if err != nil {
  6479. return nil, err
  6480. }
  6481. return response, nil
  6482. }
  6483. func (service *device) SetDiscoveryMode(request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error) {
  6484. return service.SetDiscoveryModeContext(
  6485. context.Background(),
  6486. request,
  6487. )
  6488. }
  6489. func (service *device) GetRemoteDiscoveryModeContext(ctx context.Context, request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error) {
  6490. response := new(GetRemoteDiscoveryModeResponse)
  6491. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetRemoteDiscoveryMode", request, response)
  6492. if err != nil {
  6493. return nil, err
  6494. }
  6495. return response, nil
  6496. }
  6497. func (service *device) GetRemoteDiscoveryMode(request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error) {
  6498. return service.GetRemoteDiscoveryModeContext(
  6499. context.Background(),
  6500. request,
  6501. )
  6502. }
  6503. func (service *device) SetRemoteDiscoveryModeContext(ctx context.Context, request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error) {
  6504. response := new(SetRemoteDiscoveryModeResponse)
  6505. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetRemoteDiscoveryMode", request, response)
  6506. if err != nil {
  6507. return nil, err
  6508. }
  6509. return response, nil
  6510. }
  6511. func (service *device) SetRemoteDiscoveryMode(request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error) {
  6512. return service.SetRemoteDiscoveryModeContext(
  6513. context.Background(),
  6514. request,
  6515. )
  6516. }
  6517. func (service *device) GetDPAddressesContext(ctx context.Context, request *GetDPAddresses) (*GetDPAddressesResponse, error) {
  6518. response := new(GetDPAddressesResponse)
  6519. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDPAddresses", request, response)
  6520. if err != nil {
  6521. return nil, err
  6522. }
  6523. return response, nil
  6524. }
  6525. func (service *device) GetDPAddresses(request *GetDPAddresses) (*GetDPAddressesResponse, error) {
  6526. return service.GetDPAddressesContext(
  6527. context.Background(),
  6528. request,
  6529. )
  6530. }
  6531. func (service *device) SetDPAddressesContext(ctx context.Context, request *SetDPAddresses) (*SetDPAddressesResponse, error) {
  6532. response := new(SetDPAddressesResponse)
  6533. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetDPAddresses", request, response)
  6534. if err != nil {
  6535. return nil, err
  6536. }
  6537. return response, nil
  6538. }
  6539. func (service *device) SetDPAddresses(request *SetDPAddresses) (*SetDPAddressesResponse, error) {
  6540. return service.SetDPAddressesContext(
  6541. context.Background(),
  6542. request,
  6543. )
  6544. }
  6545. func (service *device) GetEndpointReferenceContext(ctx context.Context, request *GetEndpointReference) (*GetEndpointReferenceResponse, error) {
  6546. response := new(GetEndpointReferenceResponse)
  6547. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetEndpointReference", request, response)
  6548. if err != nil {
  6549. return nil, err
  6550. }
  6551. return response, nil
  6552. }
  6553. func (service *device) GetEndpointReference(request *GetEndpointReference) (*GetEndpointReferenceResponse, error) {
  6554. return service.GetEndpointReferenceContext(
  6555. context.Background(),
  6556. request,
  6557. )
  6558. }
  6559. func (service *device) GetRemoteUserContext(ctx context.Context, request *GetRemoteUser) (*GetRemoteUserResponse, error) {
  6560. response := new(GetRemoteUserResponse)
  6561. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetRemoteUser", request, response)
  6562. if err != nil {
  6563. return nil, err
  6564. }
  6565. return response, nil
  6566. }
  6567. func (service *device) GetRemoteUser(request *GetRemoteUser) (*GetRemoteUserResponse, error) {
  6568. return service.GetRemoteUserContext(
  6569. context.Background(),
  6570. request,
  6571. )
  6572. }
  6573. func (service *device) SetRemoteUserContext(ctx context.Context, request *SetRemoteUser) (*SetRemoteUserResponse, error) {
  6574. response := new(SetRemoteUserResponse)
  6575. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetRemoteUser", request, response)
  6576. if err != nil {
  6577. return nil, err
  6578. }
  6579. return response, nil
  6580. }
  6581. func (service *device) SetRemoteUser(request *SetRemoteUser) (*SetRemoteUserResponse, error) {
  6582. return service.SetRemoteUserContext(
  6583. context.Background(),
  6584. request,
  6585. )
  6586. }
  6587. func (service *device) GetUsersContext(ctx context.Context, request *GetUsers) (*GetUsersResponse, error) {
  6588. response := new(GetUsersResponse)
  6589. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetUsers", request, response)
  6590. if err != nil {
  6591. return nil, err
  6592. }
  6593. return response, nil
  6594. }
  6595. func (service *device) GetUsers(request *GetUsers) (*GetUsersResponse, error) {
  6596. return service.GetUsersContext(
  6597. context.Background(),
  6598. request,
  6599. )
  6600. }
  6601. func (service *device) CreateUsersContext(ctx context.Context, request *CreateUsers) (*CreateUsersResponse, error) {
  6602. response := new(CreateUsersResponse)
  6603. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/CreateUsers", request, response)
  6604. if err != nil {
  6605. return nil, err
  6606. }
  6607. return response, nil
  6608. }
  6609. func (service *device) CreateUsers(request *CreateUsers) (*CreateUsersResponse, error) {
  6610. return service.CreateUsersContext(
  6611. context.Background(),
  6612. request,
  6613. )
  6614. }
  6615. func (service *device) DeleteUsersContext(ctx context.Context, request *DeleteUsers) (*DeleteUsersResponse, error) {
  6616. response := new(DeleteUsersResponse)
  6617. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/DeleteUsers", request, response)
  6618. if err != nil {
  6619. return nil, err
  6620. }
  6621. return response, nil
  6622. }
  6623. func (service *device) DeleteUsers(request *DeleteUsers) (*DeleteUsersResponse, error) {
  6624. return service.DeleteUsersContext(
  6625. context.Background(),
  6626. request,
  6627. )
  6628. }
  6629. func (service *device) SetUserContext(ctx context.Context, request *SetUser) (*SetUserResponse, error) {
  6630. response := new(SetUserResponse)
  6631. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetUser", request, response)
  6632. if err != nil {
  6633. return nil, err
  6634. }
  6635. return response, nil
  6636. }
  6637. func (service *device) SetUser(request *SetUser) (*SetUserResponse, error) {
  6638. return service.SetUserContext(
  6639. context.Background(),
  6640. request,
  6641. )
  6642. }
  6643. func (service *device) GetWsdlUrlContext(ctx context.Context, request *GetWsdlUrl) (*GetWsdlUrlResponse, error) {
  6644. response := new(GetWsdlUrlResponse)
  6645. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetWsdlUrl", request, response)
  6646. if err != nil {
  6647. return nil, err
  6648. }
  6649. return response, nil
  6650. }
  6651. func (service *device) GetWsdlUrl(request *GetWsdlUrl) (*GetWsdlUrlResponse, error) {
  6652. return service.GetWsdlUrlContext(
  6653. context.Background(),
  6654. request,
  6655. )
  6656. }
  6657. func (service *device) GetCapabilitiesContext(ctx context.Context, request *GetCapabilities) (*GetCapabilitiesResponse, error) {
  6658. response := new(GetCapabilitiesResponse)
  6659. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetCapabilities", request, response)
  6660. if err != nil {
  6661. return nil, err
  6662. }
  6663. return response, nil
  6664. }
  6665. func (service *device) GetCapabilities(request *GetCapabilities) (*GetCapabilitiesResponse, error) {
  6666. return service.GetCapabilitiesContext(
  6667. context.Background(),
  6668. request,
  6669. )
  6670. }
  6671. func (service *device) GetHostnameContext(ctx context.Context, request *GetHostname) (*GetHostnameResponse, error) {
  6672. response := new(GetHostnameResponse)
  6673. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetHostname", request, response)
  6674. if err != nil {
  6675. return nil, err
  6676. }
  6677. return response, nil
  6678. }
  6679. func (service *device) GetHostname(request *GetHostname) (*GetHostnameResponse, error) {
  6680. return service.GetHostnameContext(
  6681. context.Background(),
  6682. request,
  6683. )
  6684. }
  6685. func (service *device) SetHostnameContext(ctx context.Context, request *SetHostname) (*SetHostnameResponse, error) {
  6686. response := new(SetHostnameResponse)
  6687. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetHostname", request, response)
  6688. if err != nil {
  6689. return nil, err
  6690. }
  6691. return response, nil
  6692. }
  6693. func (service *device) SetHostname(request *SetHostname) (*SetHostnameResponse, error) {
  6694. return service.SetHostnameContext(
  6695. context.Background(),
  6696. request,
  6697. )
  6698. }
  6699. func (service *device) SetHostnameFromDHCPContext(ctx context.Context, request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error) {
  6700. response := new(SetHostnameFromDHCPResponse)
  6701. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetHostnameFromDHCP", request, response)
  6702. if err != nil {
  6703. return nil, err
  6704. }
  6705. return response, nil
  6706. }
  6707. func (service *device) SetHostnameFromDHCP(request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error) {
  6708. return service.SetHostnameFromDHCPContext(
  6709. context.Background(),
  6710. request,
  6711. )
  6712. }
  6713. func (service *device) GetDNSContext(ctx context.Context, request *GetDNS) (*GetDNSResponse, error) {
  6714. response := new(GetDNSResponse)
  6715. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDNS", request, response)
  6716. if err != nil {
  6717. return nil, err
  6718. }
  6719. return response, nil
  6720. }
  6721. func (service *device) GetDNS(request *GetDNS) (*GetDNSResponse, error) {
  6722. return service.GetDNSContext(
  6723. context.Background(),
  6724. request,
  6725. )
  6726. }
  6727. func (service *device) SetDNSContext(ctx context.Context, request *SetDNS) (*SetDNSResponse, error) {
  6728. response := new(SetDNSResponse)
  6729. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetDNS", request, response)
  6730. if err != nil {
  6731. return nil, err
  6732. }
  6733. return response, nil
  6734. }
  6735. func (service *device) SetDNS(request *SetDNS) (*SetDNSResponse, error) {
  6736. return service.SetDNSContext(
  6737. context.Background(),
  6738. request,
  6739. )
  6740. }
  6741. func (service *device) GetNTPContext(ctx context.Context, request *GetNTP) (*GetNTPResponse, error) {
  6742. response := new(GetNTPResponse)
  6743. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetNTP", request, response)
  6744. if err != nil {
  6745. return nil, err
  6746. }
  6747. return response, nil
  6748. }
  6749. func (service *device) GetNTP(request *GetNTP) (*GetNTPResponse, error) {
  6750. return service.GetNTPContext(
  6751. context.Background(),
  6752. request,
  6753. )
  6754. }
  6755. func (service *device) SetNTPContext(ctx context.Context, request *SetNTP) (*SetNTPResponse, error) {
  6756. response := new(SetNTPResponse)
  6757. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetNTP", request, response)
  6758. if err != nil {
  6759. return nil, err
  6760. }
  6761. return response, nil
  6762. }
  6763. func (service *device) SetNTP(request *SetNTP) (*SetNTPResponse, error) {
  6764. return service.SetNTPContext(
  6765. context.Background(),
  6766. request,
  6767. )
  6768. }
  6769. func (service *device) GetDynamicDNSContext(ctx context.Context, request *GetDynamicDNS) (*GetDynamicDNSResponse, error) {
  6770. response := new(GetDynamicDNSResponse)
  6771. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDynamicDNS", request, response)
  6772. if err != nil {
  6773. return nil, err
  6774. }
  6775. return response, nil
  6776. }
  6777. func (service *device) GetDynamicDNS(request *GetDynamicDNS) (*GetDynamicDNSResponse, error) {
  6778. return service.GetDynamicDNSContext(
  6779. context.Background(),
  6780. request,
  6781. )
  6782. }
  6783. func (service *device) SetDynamicDNSContext(ctx context.Context, request *SetDynamicDNS) (*SetDynamicDNSResponse, error) {
  6784. response := new(SetDynamicDNSResponse)
  6785. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetDynamicDNS", request, response)
  6786. if err != nil {
  6787. return nil, err
  6788. }
  6789. return response, nil
  6790. }
  6791. func (service *device) SetDynamicDNS(request *SetDynamicDNS) (*SetDynamicDNSResponse, error) {
  6792. return service.SetDynamicDNSContext(
  6793. context.Background(),
  6794. request,
  6795. )
  6796. }
  6797. func (service *device) GetNetworkInterfacesContext(ctx context.Context, request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error) {
  6798. response := new(GetNetworkInterfacesResponse)
  6799. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetNetworkInterfaces", request, response)
  6800. if err != nil {
  6801. return nil, err
  6802. }
  6803. return response, nil
  6804. }
  6805. func (service *device) GetNetworkInterfaces(request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error) {
  6806. return service.GetNetworkInterfacesContext(
  6807. context.Background(),
  6808. request,
  6809. )
  6810. }
  6811. func (service *device) SetNetworkInterfacesContext(ctx context.Context, request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error) {
  6812. response := new(SetNetworkInterfacesResponse)
  6813. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetNetworkInterfaces", request, response)
  6814. if err != nil {
  6815. return nil, err
  6816. }
  6817. return response, nil
  6818. }
  6819. func (service *device) SetNetworkInterfaces(request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error) {
  6820. return service.SetNetworkInterfacesContext(
  6821. context.Background(),
  6822. request,
  6823. )
  6824. }
  6825. func (service *device) GetNetworkProtocolsContext(ctx context.Context, request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error) {
  6826. response := new(GetNetworkProtocolsResponse)
  6827. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetNetworkProtocols", request, response)
  6828. if err != nil {
  6829. return nil, err
  6830. }
  6831. return response, nil
  6832. }
  6833. func (service *device) GetNetworkProtocols(request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error) {
  6834. return service.GetNetworkProtocolsContext(
  6835. context.Background(),
  6836. request,
  6837. )
  6838. }
  6839. func (service *device) SetNetworkProtocolsContext(ctx context.Context, request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error) {
  6840. response := new(SetNetworkProtocolsResponse)
  6841. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetNetworkProtocols", request, response)
  6842. if err != nil {
  6843. return nil, err
  6844. }
  6845. return response, nil
  6846. }
  6847. func (service *device) SetNetworkProtocols(request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error) {
  6848. return service.SetNetworkProtocolsContext(
  6849. context.Background(),
  6850. request,
  6851. )
  6852. }
  6853. func (service *device) GetNetworkDefaultGatewayContext(ctx context.Context, request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error) {
  6854. response := new(GetNetworkDefaultGatewayResponse)
  6855. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetNetworkDefaultGateway", request, response)
  6856. if err != nil {
  6857. return nil, err
  6858. }
  6859. return response, nil
  6860. }
  6861. func (service *device) GetNetworkDefaultGateway(request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error) {
  6862. return service.GetNetworkDefaultGatewayContext(
  6863. context.Background(),
  6864. request,
  6865. )
  6866. }
  6867. func (service *device) SetNetworkDefaultGatewayContext(ctx context.Context, request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error) {
  6868. response := new(SetNetworkDefaultGatewayResponse)
  6869. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetNetworkDefaultGateway", request, response)
  6870. if err != nil {
  6871. return nil, err
  6872. }
  6873. return response, nil
  6874. }
  6875. func (service *device) SetNetworkDefaultGateway(request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error) {
  6876. return service.SetNetworkDefaultGatewayContext(
  6877. context.Background(),
  6878. request,
  6879. )
  6880. }
  6881. func (service *device) GetZeroConfigurationContext(ctx context.Context, request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error) {
  6882. response := new(GetZeroConfigurationResponse)
  6883. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetZeroConfiguration", request, response)
  6884. if err != nil {
  6885. return nil, err
  6886. }
  6887. return response, nil
  6888. }
  6889. func (service *device) GetZeroConfiguration(request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error) {
  6890. return service.GetZeroConfigurationContext(
  6891. context.Background(),
  6892. request,
  6893. )
  6894. }
  6895. func (service *device) SetZeroConfigurationContext(ctx context.Context, request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error) {
  6896. response := new(SetZeroConfigurationResponse)
  6897. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetZeroConfiguration", request, response)
  6898. if err != nil {
  6899. return nil, err
  6900. }
  6901. return response, nil
  6902. }
  6903. func (service *device) SetZeroConfiguration(request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error) {
  6904. return service.SetZeroConfigurationContext(
  6905. context.Background(),
  6906. request,
  6907. )
  6908. }
  6909. func (service *device) GetIPAddressFilterContext(ctx context.Context, request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error) {
  6910. response := new(GetIPAddressFilterResponse)
  6911. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetIPAddressFilter", request, response)
  6912. if err != nil {
  6913. return nil, err
  6914. }
  6915. return response, nil
  6916. }
  6917. func (service *device) GetIPAddressFilter(request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error) {
  6918. return service.GetIPAddressFilterContext(
  6919. context.Background(),
  6920. request,
  6921. )
  6922. }
  6923. func (service *device) SetIPAddressFilterContext(ctx context.Context, request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error) {
  6924. response := new(SetIPAddressFilterResponse)
  6925. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetIPAddressFilter", request, response)
  6926. if err != nil {
  6927. return nil, err
  6928. }
  6929. return response, nil
  6930. }
  6931. func (service *device) SetIPAddressFilter(request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error) {
  6932. return service.SetIPAddressFilterContext(
  6933. context.Background(),
  6934. request,
  6935. )
  6936. }
  6937. func (service *device) AddIPAddressFilterContext(ctx context.Context, request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error) {
  6938. response := new(AddIPAddressFilterResponse)
  6939. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/AddIPAddressFilter", request, response)
  6940. if err != nil {
  6941. return nil, err
  6942. }
  6943. return response, nil
  6944. }
  6945. func (service *device) AddIPAddressFilter(request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error) {
  6946. return service.AddIPAddressFilterContext(
  6947. context.Background(),
  6948. request,
  6949. )
  6950. }
  6951. func (service *device) RemoveIPAddressFilterContext(ctx context.Context, request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error) {
  6952. response := new(RemoveIPAddressFilterResponse)
  6953. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/RemoveIPAddressFilter", request, response)
  6954. if err != nil {
  6955. return nil, err
  6956. }
  6957. return response, nil
  6958. }
  6959. func (service *device) RemoveIPAddressFilter(request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error) {
  6960. return service.RemoveIPAddressFilterContext(
  6961. context.Background(),
  6962. request,
  6963. )
  6964. }
  6965. func (service *device) GetAccessPolicyContext(ctx context.Context, request *GetAccessPolicy) (*GetAccessPolicyResponse, error) {
  6966. response := new(GetAccessPolicyResponse)
  6967. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetAccessPolicy", request, response)
  6968. if err != nil {
  6969. return nil, err
  6970. }
  6971. return response, nil
  6972. }
  6973. func (service *device) GetAccessPolicy(request *GetAccessPolicy) (*GetAccessPolicyResponse, error) {
  6974. return service.GetAccessPolicyContext(
  6975. context.Background(),
  6976. request,
  6977. )
  6978. }
  6979. func (service *device) SetAccessPolicyContext(ctx context.Context, request *SetAccessPolicy) (*SetAccessPolicyResponse, error) {
  6980. response := new(SetAccessPolicyResponse)
  6981. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetAccessPolicy", request, response)
  6982. if err != nil {
  6983. return nil, err
  6984. }
  6985. return response, nil
  6986. }
  6987. func (service *device) SetAccessPolicy(request *SetAccessPolicy) (*SetAccessPolicyResponse, error) {
  6988. return service.SetAccessPolicyContext(
  6989. context.Background(),
  6990. request,
  6991. )
  6992. }
  6993. func (service *device) CreateCertificateContext(ctx context.Context, request *CreateCertificate) (*CreateCertificateResponse, error) {
  6994. response := new(CreateCertificateResponse)
  6995. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/CreateCertificate", request, response)
  6996. if err != nil {
  6997. return nil, err
  6998. }
  6999. return response, nil
  7000. }
  7001. func (service *device) CreateCertificate(request *CreateCertificate) (*CreateCertificateResponse, error) {
  7002. return service.CreateCertificateContext(
  7003. context.Background(),
  7004. request,
  7005. )
  7006. }
  7007. func (service *device) GetCertificatesContext(ctx context.Context, request *GetCertificates) (*GetCertificatesResponse, error) {
  7008. response := new(GetCertificatesResponse)
  7009. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetCertificates", request, response)
  7010. if err != nil {
  7011. return nil, err
  7012. }
  7013. return response, nil
  7014. }
  7015. func (service *device) GetCertificates(request *GetCertificates) (*GetCertificatesResponse, error) {
  7016. return service.GetCertificatesContext(
  7017. context.Background(),
  7018. request,
  7019. )
  7020. }
  7021. func (service *device) GetCertificatesStatusContext(ctx context.Context, request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error) {
  7022. response := new(GetCertificatesStatusResponse)
  7023. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetCertificatesStatus", request, response)
  7024. if err != nil {
  7025. return nil, err
  7026. }
  7027. return response, nil
  7028. }
  7029. func (service *device) GetCertificatesStatus(request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error) {
  7030. return service.GetCertificatesStatusContext(
  7031. context.Background(),
  7032. request,
  7033. )
  7034. }
  7035. func (service *device) SetCertificatesStatusContext(ctx context.Context, request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error) {
  7036. response := new(SetCertificatesStatusResponse)
  7037. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetCertificatesStatus", request, response)
  7038. if err != nil {
  7039. return nil, err
  7040. }
  7041. return response, nil
  7042. }
  7043. func (service *device) SetCertificatesStatus(request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error) {
  7044. return service.SetCertificatesStatusContext(
  7045. context.Background(),
  7046. request,
  7047. )
  7048. }
  7049. func (service *device) DeleteCertificatesContext(ctx context.Context, request *DeleteCertificates) (*DeleteCertificatesResponse, error) {
  7050. response := new(DeleteCertificatesResponse)
  7051. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/DeleteCertificates", request, response)
  7052. if err != nil {
  7053. return nil, err
  7054. }
  7055. return response, nil
  7056. }
  7057. func (service *device) DeleteCertificates(request *DeleteCertificates) (*DeleteCertificatesResponse, error) {
  7058. return service.DeleteCertificatesContext(
  7059. context.Background(),
  7060. request,
  7061. )
  7062. }
  7063. func (service *device) GetPkcs10RequestContext(ctx context.Context, request *GetPkcs10Request) (*GetPkcs10RequestResponse, error) {
  7064. response := new(GetPkcs10RequestResponse)
  7065. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetPkcs10Request", request, response)
  7066. if err != nil {
  7067. return nil, err
  7068. }
  7069. return response, nil
  7070. }
  7071. func (service *device) GetPkcs10Request(request *GetPkcs10Request) (*GetPkcs10RequestResponse, error) {
  7072. return service.GetPkcs10RequestContext(
  7073. context.Background(),
  7074. request,
  7075. )
  7076. }
  7077. func (service *device) LoadCertificatesContext(ctx context.Context, request *LoadCertificates) (*LoadCertificatesResponse, error) {
  7078. response := new(LoadCertificatesResponse)
  7079. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/LoadCertificates", request, response)
  7080. if err != nil {
  7081. return nil, err
  7082. }
  7083. return response, nil
  7084. }
  7085. func (service *device) LoadCertificates(request *LoadCertificates) (*LoadCertificatesResponse, error) {
  7086. return service.LoadCertificatesContext(
  7087. context.Background(),
  7088. request,
  7089. )
  7090. }
  7091. func (service *device) GetClientCertificateModeContext(ctx context.Context, request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error) {
  7092. response := new(GetClientCertificateModeResponse)
  7093. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetClientCertificateMode", request, response)
  7094. if err != nil {
  7095. return nil, err
  7096. }
  7097. return response, nil
  7098. }
  7099. func (service *device) GetClientCertificateMode(request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error) {
  7100. return service.GetClientCertificateModeContext(
  7101. context.Background(),
  7102. request,
  7103. )
  7104. }
  7105. func (service *device) SetClientCertificateModeContext(ctx context.Context, request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error) {
  7106. response := new(SetClientCertificateModeResponse)
  7107. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetClientCertificateMode", request, response)
  7108. if err != nil {
  7109. return nil, err
  7110. }
  7111. return response, nil
  7112. }
  7113. func (service *device) SetClientCertificateMode(request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error) {
  7114. return service.SetClientCertificateModeContext(
  7115. context.Background(),
  7116. request,
  7117. )
  7118. }
  7119. func (service *device) GetRelayOutputsContext(ctx context.Context, request *GetRelayOutputs) (*GetRelayOutputsResponse, error) {
  7120. response := new(GetRelayOutputsResponse)
  7121. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetRelayOutputs", request, response)
  7122. if err != nil {
  7123. return nil, err
  7124. }
  7125. return response, nil
  7126. }
  7127. func (service *device) GetRelayOutputs(request *GetRelayOutputs) (*GetRelayOutputsResponse, error) {
  7128. return service.GetRelayOutputsContext(
  7129. context.Background(),
  7130. request,
  7131. )
  7132. }
  7133. func (service *device) SetRelayOutputSettingsContext(ctx context.Context, request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error) {
  7134. response := new(SetRelayOutputSettingsResponse)
  7135. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetRelayOutputSettings", request, response)
  7136. if err != nil {
  7137. return nil, err
  7138. }
  7139. return response, nil
  7140. }
  7141. func (service *device) SetRelayOutputSettings(request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error) {
  7142. return service.SetRelayOutputSettingsContext(
  7143. context.Background(),
  7144. request,
  7145. )
  7146. }
  7147. func (service *device) SetRelayOutputStateContext(ctx context.Context, request *SetRelayOutputState) (*SetRelayOutputStateResponse, error) {
  7148. response := new(SetRelayOutputStateResponse)
  7149. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetRelayOutputState", request, response)
  7150. if err != nil {
  7151. return nil, err
  7152. }
  7153. return response, nil
  7154. }
  7155. func (service *device) SetRelayOutputState(request *SetRelayOutputState) (*SetRelayOutputStateResponse, error) {
  7156. return service.SetRelayOutputStateContext(
  7157. context.Background(),
  7158. request,
  7159. )
  7160. }
  7161. func (service *device) SendAuxiliaryCommandContext(ctx context.Context, request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error) {
  7162. response := new(SendAuxiliaryCommandResponse)
  7163. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SendAuxiliaryCommand", request, response)
  7164. if err != nil {
  7165. return nil, err
  7166. }
  7167. return response, nil
  7168. }
  7169. func (service *device) SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error) {
  7170. return service.SendAuxiliaryCommandContext(
  7171. context.Background(),
  7172. request,
  7173. )
  7174. }
  7175. func (service *device) GetCACertificatesContext(ctx context.Context, request *GetCACertificates) (*GetCACertificatesResponse, error) {
  7176. response := new(GetCACertificatesResponse)
  7177. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetCACertificates", request, response)
  7178. if err != nil {
  7179. return nil, err
  7180. }
  7181. return response, nil
  7182. }
  7183. func (service *device) GetCACertificates(request *GetCACertificates) (*GetCACertificatesResponse, error) {
  7184. return service.GetCACertificatesContext(
  7185. context.Background(),
  7186. request,
  7187. )
  7188. }
  7189. func (service *device) LoadCertificateWithPrivateKeyContext(ctx context.Context, request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error) {
  7190. response := new(LoadCertificateWithPrivateKeyResponse)
  7191. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/LoadCertificateWithPrivateKey", request, response)
  7192. if err != nil {
  7193. return nil, err
  7194. }
  7195. return response, nil
  7196. }
  7197. func (service *device) LoadCertificateWithPrivateKey(request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error) {
  7198. return service.LoadCertificateWithPrivateKeyContext(
  7199. context.Background(),
  7200. request,
  7201. )
  7202. }
  7203. func (service *device) GetCertificateInformationContext(ctx context.Context, request *GetCertificateInformation) (*GetCertificateInformationResponse, error) {
  7204. response := new(GetCertificateInformationResponse)
  7205. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetCertificateInformation", request, response)
  7206. if err != nil {
  7207. return nil, err
  7208. }
  7209. return response, nil
  7210. }
  7211. func (service *device) GetCertificateInformation(request *GetCertificateInformation) (*GetCertificateInformationResponse, error) {
  7212. return service.GetCertificateInformationContext(
  7213. context.Background(),
  7214. request,
  7215. )
  7216. }
  7217. func (service *device) LoadCACertificatesContext(ctx context.Context, request *LoadCACertificates) (*LoadCACertificatesResponse, error) {
  7218. response := new(LoadCACertificatesResponse)
  7219. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/LoadCACertificates", request, response)
  7220. if err != nil {
  7221. return nil, err
  7222. }
  7223. return response, nil
  7224. }
  7225. func (service *device) LoadCACertificates(request *LoadCACertificates) (*LoadCACertificatesResponse, error) {
  7226. return service.LoadCACertificatesContext(
  7227. context.Background(),
  7228. request,
  7229. )
  7230. }
  7231. func (service *device) CreateDot1XConfigurationContext(ctx context.Context, request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error) {
  7232. response := new(CreateDot1XConfigurationResponse)
  7233. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/CreateDot1XConfiguration", request, response)
  7234. if err != nil {
  7235. return nil, err
  7236. }
  7237. return response, nil
  7238. }
  7239. func (service *device) CreateDot1XConfiguration(request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error) {
  7240. return service.CreateDot1XConfigurationContext(
  7241. context.Background(),
  7242. request,
  7243. )
  7244. }
  7245. func (service *device) SetDot1XConfigurationContext(ctx context.Context, request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error) {
  7246. response := new(SetDot1XConfigurationResponse)
  7247. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetDot1XConfiguration", request, response)
  7248. if err != nil {
  7249. return nil, err
  7250. }
  7251. return response, nil
  7252. }
  7253. func (service *device) SetDot1XConfiguration(request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error) {
  7254. return service.SetDot1XConfigurationContext(
  7255. context.Background(),
  7256. request,
  7257. )
  7258. }
  7259. func (service *device) GetDot1XConfigurationContext(ctx context.Context, request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error) {
  7260. response := new(GetDot1XConfigurationResponse)
  7261. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDot1XConfiguration", request, response)
  7262. if err != nil {
  7263. return nil, err
  7264. }
  7265. return response, nil
  7266. }
  7267. func (service *device) GetDot1XConfiguration(request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error) {
  7268. return service.GetDot1XConfigurationContext(
  7269. context.Background(),
  7270. request,
  7271. )
  7272. }
  7273. func (service *device) GetDot1XConfigurationsContext(ctx context.Context, request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error) {
  7274. response := new(GetDot1XConfigurationsResponse)
  7275. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDot1XConfigurations", request, response)
  7276. if err != nil {
  7277. return nil, err
  7278. }
  7279. return response, nil
  7280. }
  7281. func (service *device) GetDot1XConfigurations(request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error) {
  7282. return service.GetDot1XConfigurationsContext(
  7283. context.Background(),
  7284. request,
  7285. )
  7286. }
  7287. func (service *device) DeleteDot1XConfigurationContext(ctx context.Context, request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error) {
  7288. response := new(DeleteDot1XConfigurationResponse)
  7289. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/DeleteDot1XConfiguration", request, response)
  7290. if err != nil {
  7291. return nil, err
  7292. }
  7293. return response, nil
  7294. }
  7295. func (service *device) DeleteDot1XConfiguration(request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error) {
  7296. return service.DeleteDot1XConfigurationContext(
  7297. context.Background(),
  7298. request,
  7299. )
  7300. }
  7301. func (service *device) GetDot11CapabilitiesContext(ctx context.Context, request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error) {
  7302. response := new(GetDot11CapabilitiesResponse)
  7303. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDot11Capabilities", request, response)
  7304. if err != nil {
  7305. return nil, err
  7306. }
  7307. return response, nil
  7308. }
  7309. func (service *device) GetDot11Capabilities(request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error) {
  7310. return service.GetDot11CapabilitiesContext(
  7311. context.Background(),
  7312. request,
  7313. )
  7314. }
  7315. func (service *device) GetDot11StatusContext(ctx context.Context, request *GetDot11Status) (*GetDot11StatusResponse, error) {
  7316. response := new(GetDot11StatusResponse)
  7317. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetDot11Status", request, response)
  7318. if err != nil {
  7319. return nil, err
  7320. }
  7321. return response, nil
  7322. }
  7323. func (service *device) GetDot11Status(request *GetDot11Status) (*GetDot11StatusResponse, error) {
  7324. return service.GetDot11StatusContext(
  7325. context.Background(),
  7326. request,
  7327. )
  7328. }
  7329. func (service *device) ScanAvailableDot11NetworksContext(ctx context.Context, request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error) {
  7330. response := new(ScanAvailableDot11NetworksResponse)
  7331. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/ScanAvailableDot11Networks", request, response)
  7332. if err != nil {
  7333. return nil, err
  7334. }
  7335. return response, nil
  7336. }
  7337. func (service *device) ScanAvailableDot11Networks(request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error) {
  7338. return service.ScanAvailableDot11NetworksContext(
  7339. context.Background(),
  7340. request,
  7341. )
  7342. }
  7343. func (service *device) GetSystemUrisContext(ctx context.Context, request *GetSystemUris) (*GetSystemUrisResponse, error) {
  7344. response := new(GetSystemUrisResponse)
  7345. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetSystemUris", request, response)
  7346. if err != nil {
  7347. return nil, err
  7348. }
  7349. return response, nil
  7350. }
  7351. func (service *device) GetSystemUris(request *GetSystemUris) (*GetSystemUrisResponse, error) {
  7352. return service.GetSystemUrisContext(
  7353. context.Background(),
  7354. request,
  7355. )
  7356. }
  7357. func (service *device) StartFirmwareUpgradeContext(ctx context.Context, request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error) {
  7358. response := new(StartFirmwareUpgradeResponse)
  7359. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/StartFirmwareUpgrade", request, response)
  7360. if err != nil {
  7361. return nil, err
  7362. }
  7363. return response, nil
  7364. }
  7365. func (service *device) StartFirmwareUpgrade(request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error) {
  7366. return service.StartFirmwareUpgradeContext(
  7367. context.Background(),
  7368. request,
  7369. )
  7370. }
  7371. func (service *device) StartSystemRestoreContext(ctx context.Context, request *StartSystemRestore) (*StartSystemRestoreResponse, error) {
  7372. response := new(StartSystemRestoreResponse)
  7373. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/StartSystemRestore", request, response)
  7374. if err != nil {
  7375. return nil, err
  7376. }
  7377. return response, nil
  7378. }
  7379. func (service *device) StartSystemRestore(request *StartSystemRestore) (*StartSystemRestoreResponse, error) {
  7380. return service.StartSystemRestoreContext(
  7381. context.Background(),
  7382. request,
  7383. )
  7384. }
  7385. func (service *device) GetStorageConfigurationsContext(ctx context.Context, request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error) {
  7386. response := new(GetStorageConfigurationsResponse)
  7387. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetStorageConfigurations", request, response)
  7388. if err != nil {
  7389. return nil, err
  7390. }
  7391. return response, nil
  7392. }
  7393. func (service *device) GetStorageConfigurations(request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error) {
  7394. return service.GetStorageConfigurationsContext(
  7395. context.Background(),
  7396. request,
  7397. )
  7398. }
  7399. func (service *device) CreateStorageConfigurationContext(ctx context.Context, request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error) {
  7400. response := new(CreateStorageConfigurationResponse)
  7401. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/CreateStorageConfiguration", request, response)
  7402. if err != nil {
  7403. return nil, err
  7404. }
  7405. return response, nil
  7406. }
  7407. func (service *device) CreateStorageConfiguration(request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error) {
  7408. return service.CreateStorageConfigurationContext(
  7409. context.Background(),
  7410. request,
  7411. )
  7412. }
  7413. func (service *device) GetStorageConfigurationContext(ctx context.Context, request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error) {
  7414. response := new(GetStorageConfigurationResponse)
  7415. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetStorageConfiguration", request, response)
  7416. if err != nil {
  7417. return nil, err
  7418. }
  7419. return response, nil
  7420. }
  7421. func (service *device) GetStorageConfiguration(request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error) {
  7422. return service.GetStorageConfigurationContext(
  7423. context.Background(),
  7424. request,
  7425. )
  7426. }
  7427. func (service *device) SetStorageConfigurationContext(ctx context.Context, request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error) {
  7428. response := new(SetStorageConfigurationResponse)
  7429. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetStorageConfiguration", request, response)
  7430. if err != nil {
  7431. return nil, err
  7432. }
  7433. return response, nil
  7434. }
  7435. func (service *device) SetStorageConfiguration(request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error) {
  7436. return service.SetStorageConfigurationContext(
  7437. context.Background(),
  7438. request,
  7439. )
  7440. }
  7441. func (service *device) DeleteStorageConfigurationContext(ctx context.Context, request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error) {
  7442. response := new(DeleteStorageConfigurationResponse)
  7443. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/DeleteStorageConfiguration", request, response)
  7444. if err != nil {
  7445. return nil, err
  7446. }
  7447. return response, nil
  7448. }
  7449. func (service *device) DeleteStorageConfiguration(request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error) {
  7450. return service.DeleteStorageConfigurationContext(
  7451. context.Background(),
  7452. request,
  7453. )
  7454. }
  7455. func (service *device) GetGeoLocationContext(ctx context.Context, request *GetGeoLocation) (*GetGeoLocationResponse, error) {
  7456. response := new(GetGeoLocationResponse)
  7457. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/GetGeoLocation", request, response)
  7458. if err != nil {
  7459. return nil, err
  7460. }
  7461. return response, nil
  7462. }
  7463. func (service *device) GetGeoLocation(request *GetGeoLocation) (*GetGeoLocationResponse, error) {
  7464. return service.GetGeoLocationContext(
  7465. context.Background(),
  7466. request,
  7467. )
  7468. }
  7469. func (service *device) SetGeoLocationContext(ctx context.Context, request *SetGeoLocation) (*SetGeoLocationResponse, error) {
  7470. response := new(SetGeoLocationResponse)
  7471. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/SetGeoLocation", request, response)
  7472. if err != nil {
  7473. return nil, err
  7474. }
  7475. return response, nil
  7476. }
  7477. func (service *device) SetGeoLocation(request *SetGeoLocation) (*SetGeoLocationResponse, error) {
  7478. return service.SetGeoLocationContext(
  7479. context.Background(),
  7480. request,
  7481. )
  7482. }
  7483. func (service *device) DeleteGeoLocationContext(ctx context.Context, request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error) {
  7484. response := new(DeleteGeoLocationResponse)
  7485. err := service.client.CallContext(ctx, service.xaddr, "http://www.onvif.org/ver10/device/wsdl/DeleteGeoLocation", request, response)
  7486. if err != nil {
  7487. return nil, err
  7488. }
  7489. return response, nil
  7490. }
  7491. func (service *device) DeleteGeoLocation(request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error) {
  7492. return service.DeleteGeoLocationContext(
  7493. context.Background(),
  7494. request,
  7495. )
  7496. }
  7497. // AnyURI type
  7498. type AnyURI string
  7499. // Duration type
  7500. type Duration string
  7501. // QName type
  7502. type QName string
  7503. // NCName type
  7504. type NCName string
  7505. // AnySimpleType type
  7506. type AnySimpleType string
  7507. // String type
  7508. type String string