evacuated-noice/docs/assets/cast-receiver-architecture.svg

3 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="501px" height="501px" viewBox="-0.5 -0.5 501 501" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2020-08-31T15:43:49.375Z&quot; agent=&quot;5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.6.2 Chrome/83.0.4103.122 Electron/9.2.0 Safari/537.36&quot; etag=&quot;Hgbuw82vWJC8wmmfs9Qm&quot; version=&quot;13.6.2&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;XM26-JeK3UPURMmwzLLW&quot; name=&quot;Page-1&quot;&gt;zVnbctowEP0aZtoHMtgGQh/LLTSTTDOlmTRPHQUvWImwPLIMuF/fFZZ8hYQECPCCtF4J6ezR2ZWpOb356kqQwLvlLrCa3XBXNadfs22raTfwS1nixNJpWYlhJqirnTLDmP4DbdTjZhF1ISw4Ss6ZpEHROOG+DxNZsBEh+LLoNuWs+KsBmUHFMJ4QVrU+UFd6ZheNzD4COvPML1sN/WROjLM2hB5x+TJncgY1pyc4l0lrvuoBU+AZXJJxwy1P04UJ8OUuA34tO9P6itK/9vVD/TJa0vb9uG51kmkWhEV6x3q1MjYQCB75LqhZGjWnu/SohHFAJurpEoOONk/OGfYsbE4pYz3OuMC+z3106oZS8BcoGaur1xtagJCwypn0bq6Az0GKGF3MU0cjGxvK6P4yC1TL2LxckFIj0eSYpXNn+GFDQ/gOOJ0KmtxXXIAwVDxD/gk+r9lthivpPglszVQrBARYqAUFQQV+cJGQusuF9PiM+4QNMmu3GKDM54bzQIflGaSM9ekikeTFoIWSCPldnZZ81NA2pGr/62lhReUf1b5o6d6jHq3a/VXOrR/rztYghzwSE3iNl5qGuIgZyFcctZ8C6VXOCGBE0kXxVG+Kvx56xymuOeVaqmOaa6k+mSmSHelRJRaly/g4sSyryqynZyV4iK/gAR4aijJ57tzJMSfj0WbuqM4dCIrIgfg8PnV25FNspCTx35NeTrskZZe70asyUb1VnKhVmodPpyEchaGtcyUockXEOeVS3UdDMtXJ+LfuGQLuQmyXhN56bdZe7NyVnM1Di91eyc5qb8h2Y0lkFN4HLpFQTXRYV7EnMnk5KQ+sAgsyUuzBg+OH3gjYgRMd7ovEOYdAyUm4XahaJX1xnFLR+Ya/EbaMd8kKDipFdoWXd4zEIG6Jj1WYqNLyi0d8l0HiNVhgEL/uVwUfoLotpwRnQ3Vr2Ruq2/axittmBdYRX7L9gNpNQD+OWrN5atSqIsk4cXGqgKmTNwxIFKJSDkOJOrYWDN8NN1CUL9Y3BOmpawSeMRA+bKDpCROqdQAhNZWiuVfsUikeKAk3D5yENSMbFw5+PlIlvlebm50S9ztvaPOe/kbbt/mX70wl/6L2Z6OPX6qau9vnHpsCTY9bVHR2pPK3s6onq6+idDH5Y7ROz+LkOTm9lp1NTv5Wwaz/8xYNWOrQIFJRUy+gKsmEqrdSRIEZwIROKWJoN0a/b29q6zepklAfxJ410KFTexn806d2U5Pn0L8mCzKeCBooJRuo9Bekd/ZzqiatI4KH3eytdqLZ2X8DzuA/&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="0" y="0" width="500" height="500" fill="none" stroke="none" pointer-events="all"/><path d="M 290 100 L 290 193.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 290 198.88 L 286.5 191.88 L 290 193.63 L 293.5 191.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 150px; margin-left: 290px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">on message from<br />sender app</div></div></div></foreignObject><text x="290" y="153" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">on message from...</text></switch></g><path d="M 230 70 L 100 70 L 100 193.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 100 198.88 L 96.5 191.88 L 100 193.63 L 103.5 191.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 120px; margin-left: 100px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">object properties</div></div></div></foreignObject><text x="100" y="123" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">object properties</text></switch></g><path d="M 290 260 L 290 333.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 290 338.88 L 286.5 331.88 L 290 333.63 L 293.5 331.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 300px; margin-left: 290px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">object properties</div></div></div></foreignObject><text x="290" y="303" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">object properties</text></switch></g><path d="M 350 230 L 420 230 L 420 70 L 356.37 70" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 351.12 70 L 358.12 66.5 L 356.37 70 L 358.12 73.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 150px; margin-left: 420px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">onStatusUpdate<br />callback</div></div></div></foreignObject><text x="420" y="153" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">onStatusUpdate...</text></switch></g><rect x="230" y="200" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 230px; margin-left: 231px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PlayerManager<br />(handlePlayerEvent)</div></div></div></foreignObject><text x="290" y="234" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PlayerManager...</text></switch></g><rect x="230" y="340" width="120" height="60" fill="#ffffff" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 370px; margin-left: 231px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Howl</div></div></div></foreignObject><text x="290" y="374" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Howl</text></switch></g><path d="M 350 370 L 350 380 L 450 380 L 450 450 L 290 450 L 290 406.37" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 290 401.12 L 293.5 408.12 L 290 406.37 L 286.5 408.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 450px; margin-left: 370px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">load/play/pause/stop sounds<br />(over the internet)</div></div></div></foreignObject><text x="370" y="453" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">load/play/pause/stop sounds...</text></switch></g><path d="M 100 260 L 100 333.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 100 338.88 L 96.5 331.88 L 100 333.63 L 103.5 331.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="40" y="200" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 230px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">StatusUIHandler</div></div></div></foreignObject><text x="100" y="234" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">StatusUIHandler</text></switch></g><rect x="40" y="340" width="120" height="60" fill="#ffffff" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 370px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">DOM Manipulation<br />(in a specified HTML container)</div></div></div></foreignObject><text x="100" y="374" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">DOM Manipulation...</text></switch></g><rect x="230" y="40" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 231px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">JavaScript Entrypoint</div></div></div></foreignObject><text x="290" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">JavaScript Entrypoint</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>