2022-07-15 18:47:39 +00:00
<svg host= "65bd71144e" xmlns= "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" version= "1.1" width= "921px" height= "828px" viewBox= "-0.5 -0.5 921 828" content= "<mxfile><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile>" >
2020-07-16 15:10:16 +00:00
<defs >
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-524-751-312-26-0" >
<rect x= "524" y= "751" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-524-777-312-26-0" >
<rect x= "524" y= "777" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-524-803-312-26-0" >
<rect x= "524" y= "803" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-84-751-312-26-0" >
<rect x= "84" y= "751" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-84-777-312-26-0" >
<rect x= "84" y= "777" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id= "mx-clip-84-803-312-26-0" >
<rect x= "84" y= "803" width= "312" height= "26" />
2020-07-16 15:10:16 +00:00
</clipPath>
</defs>
<g >
2022-07-15 18:47:39 +00:00
<path d= "M 760 375 L 760 573.63" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "stroke" />
<path d= "M 760 578.88 L 756.5 571.88 L 760 573.63 L 763.5 571.88 Z" fill= "rgb(0, 0, 0)" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 478px; margin-left: 760px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
creates
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "760" y= "481" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "11px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
creates
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx= "760" cy= "330" rx= "110" ry= "45" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 330px; margin-left: 651px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
xrt_instance_create
<br />
</font>
(full implementation in targets/common/target_instance.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "760" y= "334" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
xrt_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "400" y= "0" width= "100" height= "40" fill= "none" stroke= "none" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 20px; margin-left: 450px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
With XRT_FEATURE_SERVICE enabled
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "450" y= "27" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "24px" text-anchor= "middle" font-weight= "bold" >
2020-07-16 15:10:16 +00:00
With XRT...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "0" y= "60" width= "340" height= "110" fill= "none" stroke= "none" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 332px; height: 1px; padding-top: 50px; margin-left: 5px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: left; max-height: 120px; overflow: hidden;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<h1 >
in libopenxr_monado.so
</h1>
<p >
This library is loaded by the OpenXR loader and provides the entry points for that API. No direct hardware access takes place (neither for rendering nor device input) - forwarded over IPC links to service module. Built in xrt/targets/openxr
</p>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "5" y= "62" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" >
2020-07-16 15:10:16 +00:00
in libopenxr_monado.so...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "600" y= "60" width= "320" height= "100" fill= "none" stroke= "none" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 312px; height: 1px; padding-top: 50px; margin-left: 605px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: left; max-height: 110px; overflow: hidden;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<h1 >
in monado-service
</h1>
<p >
This persistent service performs hardware interaction and exposes functionality over IPC to the runtime SO loaded in the app's process. Built in xrt/targets/service
</p>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "605" y= "62" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" >
2020-07-16 15:10:16 +00:00
in monado-service...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx= "160" cy= "210" rx= "110" ry= "40" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 210px; margin-left: 51px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
xrCreateInstance
</font>
<br />
(in state_trackers/oxr/oxr_instance.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "214" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
xrCreateInstance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx= "160" cy= "330" rx= "80" ry= "40" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 330px; margin-left: 81px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
xrt_instance_create
</font>
<br />
(trampoline in targets/openxr/target.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "334" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
xrt_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 160 250 L 160 283.63" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "stroke" />
<path d= "M 160 288.88 L 156.5 281.88 L 160 283.63 L 163.5 281.88 Z" fill= "rgb(0, 0, 0)" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 270px; margin-left: 160px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "273" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "11px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx= "160" cy= "470" rx= "80" ry= "50" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 470px; margin-left: 81px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
ipc_instance_create
</font>
<br />
(in ipc/ipc_client_instance)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "474" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
ipc_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 160 370 L 160 413.63" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "stroke" />
<path d= "M 160 418.88 L 156.5 411.88 L 160 413.63 L 163.5 411.88 Z" fill= "rgb(0, 0, 0)" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 395px; margin-left: 160px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "398" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "11px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "40" y= "580" width= "240" height= "70" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 615px; margin-left: 41px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<div >
<font face= "Courier New" >
ipc_client_instance
</font>
</div>
<div >
2022-07-15 18:47:39 +00:00
which implements
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
xrt_instance
</font>
2022-07-15 18:47:39 +00:00
with client proxy functions
2020-07-16 15:10:16 +00:00
</div>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "619" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
ipc_client_instance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 160 520 L 160 573.63" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "stroke" />
<path d= "M 160 578.88 L 156.5 571.88 L 160 573.63 L 163.5 571.88 Z" fill= "rgb(0, 0, 0)" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 550px; margin-left: 160px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
creates
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "160" y= "553" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "11px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
creates
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "640" y= "580" width= "240" height= "70" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "all" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 615px; margin-left: 641px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<div >
<font face= "Courier New" >
t_instance
</font>
</div>
<div >
2022-07-15 18:47:39 +00:00
which implements
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
xrt_instance
</font>
2022-07-15 18:47:39 +00:00
with functions that access hardware, using a prober created with all target lists
2020-07-16 15:10:16 +00:00
</div>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "760" y= "619" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
t_instance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 520 746 L 520 720 L 840 720 L 840 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "all" />
<path d= "M 520 746 L 520 824 L 840 824 L 840 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<path d= "M 520 746 L 840 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" text-anchor= "middle" font-size= "12px" >
<text x= "679.5" y= "737.5" >
2020-07-16 15:10:16 +00:00
t_instance
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-524-751-312-26-0)" font-size= "12px" >
<text x= "525.5" y= "763.5" >
create_system = t_instance_create_system
2020-07-16 15:10:16 +00:00
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-524-777-312-26-0)" font-size= "12px" >
<text x= "525.5" y= "789.5" >
2020-07-16 15:10:16 +00:00
get_prober = t_instance_get_prober
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-524-803-312-26-0)" font-size= "12px" >
<text x= "525.5" y= "815.5" >
2020-07-16 15:10:16 +00:00
destroy = t_instance_destroy
</text>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 80 746 L 80 720 L 400 720 L 400 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<path d= "M 80 746 L 80 824 L 400 824 L 400 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<path d= "M 80 746 L 400 746" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" text-anchor= "middle" font-size= "12px" >
<text x= "239.5" y= "737.5" >
2020-07-16 15:10:16 +00:00
ipc_client_instance
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-84-751-312-26-0)" font-size= "12px" >
<text x= "85.5" y= "763.5" >
create_system = ipc_client_instance_create_system
2020-07-16 15:10:16 +00:00
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-84-777-312-26-0)" font-size= "12px" >
<text x= "85.5" y= "789.5" >
2020-07-16 15:10:16 +00:00
get_prober = ipc_client_instance_get_prober
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill= "rgb(0, 0, 0)" font-family= "Helvetica" pointer-events= "none" clip-path= "url(#mx-clip-84-803-312-26-0)" font-size= "12px" >
<text x= "85.5" y= "815.5" >
2020-07-16 15:10:16 +00:00
destroy = ipc_client_instance_destroy
</text>
</g>
2022-07-15 18:47:39 +00:00
<rect x= "400" y= "580" width= "120" height= "50" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "none" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 605px; margin-left: 460px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
«interface»
<br />
<b >
xrt_instance
</b>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "460" y= "609" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
«interface»...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 760 240 L 760 278.63" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<path d= "M 760 283.88 L 756.5 276.88 L 760 278.63 L 763.5 276.88 Z" fill= "rgb(0, 0, 0)" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 263px; margin-left: 760px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;" >
2020-07-16 15:10:16 +00:00
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "760" y= "266" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "11px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx= "760" cy= "200" rx= "85" ry= "40" fill= "rgb(255, 255, 255)" stroke= "rgb(0, 0, 0)" pointer-events= "none" />
2020-07-16 15:10:16 +00:00
<g transform= "translate(-0.5 -0.5)" >
<switch >
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events= "none" width= "100%" height= "100%" requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" style= "overflow: visible; text-align: left;" >
<div xmlns= "http://www.w3.org/1999/xhtml" style= "display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 200px; margin-left: 676px;" >
<div data-drawio-colors= "color: rgb(0, 0, 0); " style= "box-sizing: border-box; font-size: 0px; text-align: center;" >
<div style= "display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;" >
2020-07-16 15:10:16 +00:00
<font face= "Courier New" >
init_all()
</font>
<br />
(in ipc/ipc_server_process.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x= "760" y= "204" fill= "rgb(0, 0, 0)" font-family= "Helvetica" font-size= "12px" text-anchor= "middle" >
2020-07-16 15:10:16 +00:00
init_all()...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d= "M 240 720 L 240 675 L 460 675 L 460 644.12" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" stroke-dasharray= "3 3" pointer-events= "none" />
<path d= "M 460 631.12 L 466.5 644.12 L 453.5 644.12 Z" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
<path d= "M 680 720 L 680 675 L 460 675 L 460 644.12" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" stroke-dasharray= "3 3" pointer-events= "none" />
<path d= "M 460 631.12 L 466.5 644.12 L 453.5 644.12 Z" fill= "none" stroke= "rgb(0, 0, 0)" stroke-miterlimit= "10" pointer-events= "none" />
2020-07-16 15:10:16 +00:00
</g>
<switch >
<g requiredFeatures= "http://www.w3.org/TR/SVG11/feature#Extensibility" />
2022-07-15 18:47:39 +00:00
<a transform= "translate(0,-5)" xlink:href= "https://www.diagrams.net/doc/faq/svg-export-text-problems" target= "_blank" >
2020-07-16 15:10:16 +00:00
<text text-anchor= "middle" font-size= "10px" x= "50%" y= "100%" >
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>