Révision 8787b8fb

Voir les différences:

.$SicpaDeviceConnectionsUML.drawio.bkp
1
<mxfile host="Electron" modified="2022-08-10T08:31:18.348Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="nHRoeu3GVzqqag5-wIx3" version="19.0.3" type="device"><diagram id="0P8m6wT8aCn1QEJA0v6a" name="Page-1">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</diagram></mxfile>
1
<mxfile host="Electron" modified="2022-08-18T13:49:10.101Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="tr9CXjAMUxv_EPPBBUUL" version="19.0.3" type="device"><diagram id="0P8m6wT8aCn1QEJA0v6a" name="Page-1">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</diagram></mxfile>
SicpaDeviceConnectionsUML.drawio
1
<mxfile host="Electron" modified="2022-08-10T12:17:47.384Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="Sodck1ESQTRWAWvu3eEG" version="19.0.3" type="device"><diagram id="0P8m6wT8aCn1QEJA0v6a" name="Page-1">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</diagram></mxfile>
1
<mxfile host="Electron" modified="2022-08-24T14:46:31.686Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="ErJBXX244L2rTxWtCXIL" version="19.0.3" type="device"><diagram id="0P8m6wT8aCn1QEJA0v6a" name="Page-1">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</diagram></mxfile>
SicpaDeviceConnectionsUML.drawio.svg
1 1
<?xml version="1.0" encoding="UTF-8"?>
2 2
<!-- Do not edit this file with editors other than diagrams.net -->
3 3
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1909px" height="819px" viewBox="-0.5 -0.5 1909 819" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2022-08-10T12:17:52.957Z&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36&quot; etag=&quot;QUdR0bIVcVNCICFCIG55&quot; version=&quot;19.0.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;0P8m6wT8aCn1QEJA0v6a&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-219-634-451-28-0"><rect x="219" y="634" width="451" height="28"/></clipPath><clipPath id="mx-clip-219-664-451-28-0"><rect x="219" y="664" width="451" height="28"/></clipPath><clipPath id="mx-clip-1452-496-384-28-0"><rect x="1452" y="496" width="384" height="28"/></clipPath><clipPath id="mx-clip-1452-526-384-28-0"><rect x="1452" y="526" width="384" height="28"/></clipPath><clipPath id="mx-clip-1452-556-384-28-0"><rect x="1452" y="556" width="384" height="28"/></clipPath><clipPath id="mx-clip-1452-586-384-28-0"><rect x="1452" y="586" width="384" height="28"/></clipPath><clipPath id="mx-clip-1452-616-384-28-0"><rect x="1452" y="616" width="384" height="28"/></clipPath><clipPath id="mx-clip-1539-319-211-28-0"><rect x="1539" y="319" width="211" height="28"/></clipPath><clipPath id="mx-clip-1539-349-211-28-0"><rect x="1539" y="349" width="211" height="28"/></clipPath><clipPath id="mx-clip-807-649-496-28-0"><rect x="807" y="649" width="496" height="28"/></clipPath><clipPath id="mx-clip-807-315-511-28-0"><rect x="807" y="315" width="511" height="28"/></clipPath><clipPath id="mx-clip-807-345-511-28-0"><rect x="807" y="345" width="511" height="28"/></clipPath><clipPath id="mx-clip-807-375-511-28-0"><rect x="807" y="375" width="511" height="28"/></clipPath><clipPath id="mx-clip-807-160-316-28-0"><rect x="807" y="160" width="316" height="28"/></clipPath><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono);&#xa;</style></defs><g><rect x="774" y="75" width="1102.5" height="711" fill="none" stroke="#006666" stroke-width="3" stroke-dasharray="9 9" pointer-events="all"/><rect x="31.5" y="75" width="720" height="708" fill="none" stroke="#d79b00" stroke-width="3" stroke-dasharray="9 9" pointer-events="all"/><path d="M 211.5 633 L 211.5 594 L 676.5 594 L 676.5 633" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 211.5 633 L 211.5 693 L 676.5 693 L 676.5 633" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 633 L 676.5 633" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="443.5" y="620.5">ConnectionServiceProvider</text></g><rect x="211.5" y="633" width="465" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-219-634-451-28-0)" text-anchor="middle" font-size="15px"><text x="443.5" y="653.5">GetConnectionInstance(ConnexionType) : IConnectionService </text></g><rect x="211.5" y="663" width="465" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-219-664-451-28-0)" text-anchor="middle" font-size="15px"><text x="443.5" y="683.5">MACAddress : string</text></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 128px; height: 1px; padding-top: 35px; margin-left: 22px;"><div data-drawio-colors="color: #FF8000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(255, 128, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">Forms.Android</div></div></div></foreignObject><text x="86" y="39" fill="#FF8000" font-family="Ubuntu Mono" font-size="14px" text-anchor="middle" font-weight="bold">Forms.Android</text></switch></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 58px; height: 1px; padding-top: 35px; margin-left: 517px;"><div data-drawio-colors="color: #006666; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 102, 102); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">Forms</div></div></div></foreignObject><text x="546" y="39" fill="#006666" font-family="Ubuntu Mono" font-size="14px" text-anchor="middle" font-weight="bold">Forms</text></switch></g><path d="M 1644 456 L 1644 390.18" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1644 379.68 L 1649.25 390.18 L 1638.75 390.18 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 278px; margin-left: 1095px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Hérite</div></div></div></foreignObject><text x="1095" y="281" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Hérite</text></switch></g><path d="M 1445.25 495 L 1445.25 456 L 1842.75 456 L 1842.75 495" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1445.25 495 L 1445.25 645 L 1842.75 645 L 1842.75 495" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1445.25 495 L 1842.75 495" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1643.5" y="482.5">TeoBalance</text></g><rect x="1445.25" y="495" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1452-496-384-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="515.5">GetCommandCode() : byte[]</text></g><rect x="1445.25" y="525" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1452-526-384-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="545.5">GetCommandName() : string</text></g><rect x="1445.25" y="555" width="397.5" height="30" fill="#f5f5f5" stroke="#666666" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="#333333" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1452-556-384-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="575.5">ConnectionService : IConnectionService</text></g><rect x="1445.25" y="585" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1452-586-384-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="605.5">TeoDataReceivedEvent : EventHandler&lt;string&gt;</text></g><rect x="1445.25" y="615" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1452-616-384-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="635.5">TeoPeseeReceivedEvent : EventHandler&lt;ReponsePesee&gt;</text></g><path d="M 1531.5 318 L 1531.5 279 L 1756.5 279 L 1756.5 318" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1531.5 318 L 1531.5 378 L 1756.5 378 L 1756.5 318" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1531.5 318 L 1756.5 318" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1643.5" y="305.5">Device</text></g><rect x="1531.5" y="318" width="225" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1539-319-211-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="338.5">Name : string</text></g><rect x="1531.5" y="348" width="225" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1539-349-211-28-0)" text-anchor="middle" font-size="15px"><text x="1643.5" y="368.5">MACAddress : string</text></g><path d="M 1310.25 651 L 1381.5 651 L 1381.5 579.31 L 1442.69 579.36" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1433.86 584.6 L 1444.37 579.36 L 1433.87 574.1" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 411px; margin-left: 917px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Fournit</div></div></div></foreignObject><text x="917" y="415" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Fournit</text></switch></g><path d="M 800.25 648 L 800.25 609 L 1310.25 609 L 1310.25 648" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 648 L 800.25 678 L 1310.25 678 L 1310.25 648" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 648 L 1310.25 648" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1054.75" y="635.5">&lt;&lt; IConnectionServiceProvider &gt;&gt;</text></g><rect x="800.25" y="648" width="510" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-807-649-496-28-0)" text-anchor="middle" font-size="15px"><text x="1054.75" y="668.5">GetConnectionServiceInstance(ConnexionType) : IConnectionService </text></g><path d="M 676.5 643.5 L 788.07 643.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 798.57 643.5 L 788.07 647 L 788.07 640 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 429px; margin-left: 497px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="497" y="433" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 211.5 658.55 L 121.5 658.55 L 121.5 256.55 L 208.15 256.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 199.33 261.76 L 209.82 256.5 L 199.32 251.26" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 658.55 L 121.5 658.55 L 121.5 339 L 208.15 339" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 199.32 344.25 L 209.82 339 L 199.32 333.75" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 658.55 L 121.5 658.55 L 121.5 418.55 L 208.15 418.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 199.33 423.76 L 209.82 418.5 L 199.32 413.26" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 384px; margin-left: 81px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Instancie</div></div></div></foreignObject><text x="81" y="388" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Instancie</text></switch></g><path d="M 800.25 313.5 L 800.25 274.5 L 1325.25 274.5 L 1325.25 313.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 313.5 L 800.25 403.5 L 1325.25 403.5 L 1325.25 313.5" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 313.5 L 1325.25 313.5" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1062.25" y="301">&lt;&lt; IConnectionService &gt;&gt;</text></g><rect x="800.25" y="313.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-807-315-511-28-0)" text-anchor="middle" font-size="15px"><text x="1062.25" y="334">Connect(Device) : Task&lt;bool&gt;</text></g><rect x="800.25" y="343.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-807-345-511-28-0)" text-anchor="middle" font-size="15px"><text x="1062.25" y="364">SendCommand(byte[]) : Task&lt;bool&gt;</text></g><rect x="800.25" y="373.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-807-375-511-28-0)" text-anchor="middle" font-size="15px"><text x="1062.25" y="394">DataReceivedEvent : EventHandler&lt;string&gt;</text></g><path d="M 481.5 256.55 L 571.5 256.55 L 571.5 339 L 788.07 339" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 798.57 339 L 788.07 342.5 L 788.07 335.5 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 279 L 211.5 234 L 481.5 234 L 481.5 279" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 279 L 481.5 279" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="346" y="263.5">InternConnectionService</text></g><path d="M 481.5 418.55 L 571.5 418.55 L 571.5 339 L 788.07 339" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 798.57 339 L 788.07 342.5 L 788.07 335.5 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 441 L 211.5 396 L 481.5 396 L 481.5 441" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 441 L 481.5 441" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="346" y="425.5">BluetoothConnectionService</text></g><path d="M 481.5 339 L 788.07 339" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 798.57 339 L 788.07 342.5 L 788.07 335.5 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 226px; margin-left: 451px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="451" y="230" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 211.5 361.5 L 211.5 316.5 L 481.5 316.5 L 481.5 361.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 361.5 L 481.5 361.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="346" y="346">WifiConnectionService</text></g><path d="M 1130.25 538.55 L 1149.05 538.55 L 1149.05 605.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1143.8 596.82 L 1149.05 607.32 L 1154.3 596.82" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 385px; margin-left: 771px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Injecte dépendance</div></div></div></foreignObject><text x="771" y="388" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Injecte dépendance</text></switch></g><path d="M 905.25 538.55 L 414.05 538.55 L 414.05 590.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 408.8 581.82 L 414.05 592.32 L 419.3 581.82" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 359px; margin-left: 441px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Register singleton</div></div></div></foreignObject><text x="441" y="363" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Register singleton</text></switch></g><path d="M 905.25 561 L 905.25 516 L 1130.25 516 L 1130.25 561" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 905.25 561 L 1130.25 561" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1017.25" y="545.5">DependencyService</text></g><path d="M 800.25 159 L 800.25 120 L 1130.25 120 L 1130.25 159" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 159 L 800.25 189 L 1130.25 189 L 1130.25 159" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 800.25 159 L 1130.25 159" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="964.75" y="146.5">&lt;&lt; IBluetoothService &gt;&gt;</text></g><rect x="800.25" y="159" width="330" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-807-160-316-28-0)" text-anchor="middle" font-size="15px"><text x="964.75" y="179.5">GetBondedDevices() : ICollection&lt;Device&gt;</text></g><path d="M 1445.25 570 L 1381.5 570 L 1381.5 478.55 L 1018.5 478.55 L 1018.5 512.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1013.25 503.82 L 1018.5 514.32 L 1023.75 503.82" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 318px; margin-left: 770px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Appelle</div></div></div></foreignObject><text x="770" y="322" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Appelle</text></switch></g><path d="M 481.5 154.5 L 788.07 154.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 798.57 154.5 L 788.07 158 L 788.07 151 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 103px; margin-left: 403px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="403" y="107" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 211.5 177 L 211.5 132 L 481.5 132 L 481.5 177" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 211.5 177 L 481.5 177" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="346" y="161.5">BluetoothService</text></g><path d="M 1445.25 570 L 1381.5 570 L 1381.5 339 L 1325.25 339" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
4
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1873px" height="799px" viewBox="-0.5 -0.5 1873 799" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2022-08-24T14:46:40.551Z&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36&quot; etag=&quot;VdnfFJ8tPp6BWvtk65ET&quot; version=&quot;19.0.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;0P8m6wT8aCn1QEJA0v6a&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-178-625-451-28-0"><rect x="178" y="625" width="451" height="28"/></clipPath><clipPath id="mx-clip-178-655-451-28-0"><rect x="178" y="655" width="451" height="28"/></clipPath><clipPath id="mx-clip-1408-267-384-28-0"><rect x="1408" y="267" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-297-384-28-0"><rect x="1408" y="297" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-327-384-28-0"><rect x="1408" y="327" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-357-384-28-0"><rect x="1408" y="357" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-387-384-28-0"><rect x="1408" y="387" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-417-384-28-0"><rect x="1408" y="417" width="384" height="28"/></clipPath><clipPath id="mx-clip-1228-136-211-28-0"><rect x="1228" y="136" width="211" height="28"/></clipPath><clipPath id="mx-clip-1228-166-211-28-0"><rect x="1228" y="166" width="211" height="28"/></clipPath><clipPath id="mx-clip-767-640-511-28-0"><rect x="767" y="640" width="511" height="28"/></clipPath><clipPath id="mx-clip-767-306-511-28-0"><rect x="767" y="306" width="511" height="28"/></clipPath><clipPath id="mx-clip-767-336-511-28-0"><rect x="767" y="336" width="511" height="28"/></clipPath><clipPath id="mx-clip-767-366-511-28-0"><rect x="767" y="366" width="511" height="28"/></clipPath><clipPath id="mx-clip-767-151-316-28-0"><rect x="767" y="151" width="316" height="28"/></clipPath><clipPath id="mx-clip-1408-609-384-28-0"><rect x="1408" y="609" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-639-384-28-0"><rect x="1408" y="639" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-669-384-28-0"><rect x="1408" y="669" width="384" height="28"/></clipPath><clipPath id="mx-clip-1408-699-384-28-0"><rect x="1408" y="699" width="384" height="28"/></clipPath><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono);&#xa;</style></defs><g><rect x="711" y="64.5" width="1140" height="711" fill="none" stroke="#006666" stroke-width="3" stroke-dasharray="9 9" pointer-events="all"/><rect x="21" y="66" width="645" height="708" fill="none" stroke="#d79b00" stroke-width="3" stroke-dasharray="9 9" pointer-events="all"/><path d="M 171 624 L 171 585 L 636 585 L 636 624" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 171 624 L 171 684 L 636 684 L 636 624" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 624 L 636 624" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="403" y="611.5">ConnectionServiceProvider</text></g><rect x="171" y="624" width="465" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-178-625-451-28-0)" text-anchor="middle" font-size="15px"><text x="403" y="644.5">GetConnectionInstance(ConnexionType) : IConnectionService </text></g><rect x="171" y="654" width="465" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-178-655-451-28-0)" text-anchor="middle" font-size="15px"><text x="403" y="674.5">MACAddress : string</text></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 128px; height: 1px; padding-top: 28px; margin-left: 15px;"><div data-drawio-colors="color: #FF8000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(255, 128, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">Forms.Android</div></div></div></foreignObject><text x="79" y="32" fill="#FF8000" font-family="Ubuntu Mono" font-size="14px" text-anchor="middle" font-weight="bold">Forms.Android</text></switch></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 58px; height: 1px; padding-top: 29px; margin-left: 490px;"><div data-drawio-colors="color: #006666; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 102, 102); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">Forms</div></div></div></foreignObject><text x="519" y="33" fill="#006666" font-family="Ubuntu Mono" font-size="14px" text-anchor="middle" font-weight="bold">Forms</text></switch></g><path d="M 1599.79 226.5 L 1599.79 147.09 L 1458.18 147.09" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1447.68 147.09 L 1458.18 141.84 L 1458.18 152.34 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 99px; margin-left: 1039px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Hérite</div></div></div></foreignObject><text x="1039" y="102" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Hérite</text></switch></g><path d="M 1401 267.09 L 1341.09 267.09 L 1341.09 327.09 L 1284.75 327.09" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 265.5 L 1401 226.5 L 1798.5 226.5 L 1798.5 265.5" fill="#ffe6cc" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 265.5 L 1401 445.5 L 1798.5 445.5 L 1798.5 265.5" fill="none" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 265.5 L 1798.5 265.5" fill="none" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1599.25" y="253">TeoBalance</text></g><rect x="1401" y="265.5" width="397.5" height="30" fill="#f5f5f5" stroke="#666666" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="#333333" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-267-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="286">GetCommandCode() : byte[]</text></g><rect x="1401" y="295.5" width="397.5" height="30" fill="#f5f5f5" stroke="#666666" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="#333333" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-297-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="316">GetCommandName() : string</text></g><rect x="1401" y="325.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-327-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="346">ConnectToTeoAsync() : Task&lt;bool&gt;</text></g><rect x="1401" y="355.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-357-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="376">SendTeoCommandAsync() : Task&lt;bool&gt;</text></g><rect x="1401" y="385.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-387-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="406">TeoDataReceivedEvent : EventHandler&lt;string&gt;</text></g><rect x="1401" y="415.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-417-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="436">TeoPeseeReceivedEvent : EventHandler&lt;ReponsePesee&gt;</text></g><path d="M 1221 135 L 1221 96 L 1446 96 L 1446 135" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1221 135 L 1221 195 L 1446 195 L 1446 135" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1221 135 L 1446 135" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1333" y="122.5">Device</text></g><rect x="1221" y="135" width="225" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1228-136-211-28-0)" text-anchor="middle" font-size="15px"><text x="1333" y="155.5">Name : string</text></g><rect x="1221" y="165" width="225" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1228-166-211-28-0)" text-anchor="middle" font-size="15px"><text x="1333" y="185.5">MACAddress : string</text></g><path d="M 759.75 639 L 759.75 600 L 1284.75 600 L 1284.75 639" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 639 L 759.75 669 L 1284.75 669 L 1284.75 639" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 639 L 1284.75 639" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1021.75" y="626.5">&lt;&lt; IConnectionServiceProvider &gt;&gt;</text></g><rect x="759.75" y="639" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-767-640-511-28-0)" text-anchor="middle" font-size="15px"><text x="1021.75" y="659.5">GetConnectionServiceInstance(ConnexionType) : IConnectionService </text></g><path d="M 636 634.5 L 747.57 634.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 758.07 634.5 L 747.57 638 L 747.57 631 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 424px; margin-left: 465px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="465" y="427" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 171 649.5 L 81.09 649.5 L 81.09 247.5 L 167.65 247.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 158.82 252.75 L 169.32 247.5 L 158.82 242.25" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 649.5 L 81.09 649.5 L 81.09 330.09 L 167.65 330" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 158.83 335.26 L 169.32 330 L 158.82 324.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 649.5 L 81.09 649.5 L 81.09 409.5 L 167.65 409.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 158.82 414.75 L 169.32 409.5 L 158.82 404.25" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 379px; margin-left: 54px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Instancie</div></div></div></foreignObject><text x="54" y="382" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Instancie</text></switch></g><path d="M 759.75 304.5 L 759.75 265.5 L 1284.75 265.5 L 1284.75 304.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 304.5 L 759.75 394.5 L 1284.75 394.5 L 1284.75 304.5" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 304.5 L 1284.75 304.5" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1021.75" y="292">&lt;&lt; IConnectionService &gt;&gt;</text></g><rect x="759.75" y="304.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-767-306-511-28-0)" text-anchor="middle" font-size="15px"><text x="1021.75" y="325">Connect(Dictionary&lt;string, string&gt;) : Task&lt;bool&gt;</text></g><rect x="759.75" y="334.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-767-336-511-28-0)" text-anchor="middle" font-size="15px"><text x="1021.75" y="355">SendCommand(byte[]) : Task&lt;bool&gt;</text></g><rect x="759.75" y="364.5" width="525" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-767-366-511-28-0)" text-anchor="middle" font-size="15px"><text x="1021.75" y="385">DataReceivedEvent : EventHandler&lt;string&gt;</text></g><path d="M 441 247.5 L 531.09 247.5 L 531.09 330.09 L 747.57 330.09" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 758.07 330.09 L 747.57 333.59 L 747.57 326.59 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 270 L 171 225 L 441 225 L 441 270" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 270 L 441 270" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="305.5" y="254.5">InternConnectionService</text></g><path d="M 441 409.5 L 531.09 409.5 L 531.09 330.09 L 747.57 330.09" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 758.07 330.09 L 747.57 333.59 L 747.57 326.59 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 432 L 171 387 L 441 387 L 441 432" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 432 L 441 432" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="305.5" y="416.5">BluetoothConnectionService</text></g><path d="M 441 330 L 747.57 330" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 758.07 330 L 747.57 333.5 L 747.57 326.5 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 221px; margin-left: 424px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="424" y="224" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 171 352.5 L 171 307.5 L 441 307.5 L 441 352.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 352.5 L 441 352.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="305.5" y="337">WifiConnectionService</text></g><path d="M 876 507.09 L 373.5 507.09 L 373.5 581.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 368.25 572.82 L 373.5 583.32 L 378.75 572.82" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 339px; margin-left: 444px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Register singleton</div></div></div></foreignObject><text x="444" y="342" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Register singleton</text></switch></g><path d="M 988.5 529.5 L 988.5 596.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 983.25 587.82 L 988.5 598.32 L 993.75 587.82" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 375px; margin-left: 660px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Utilise</div></div></div></foreignObject><text x="660" y="379" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Utilise</text></switch></g><path d="M 1101 507.09 L 1600.5 507.09 L 1600.5 448.85" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1605.75 457.68 L 1600.5 447.18 L 1595.25 457.68" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1101 507.09 L 1600.5 507.09 L 1600.5 565.15" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1595.25 556.32 L 1600.5 566.82 L 1605.75 556.32" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 339px; margin-left: 998px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Injecte dépendance</div></div></div></foreignObject><text x="998" y="342" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Injecte dépendance</text></switch></g><path d="M 876 529.5 L 876 484.5 L 1101 484.5 L 1101 529.5" fill="#f8cecc" stroke="#b85450" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 876 529.5 L 1101 529.5" fill="none" stroke="#b85450" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="988" y="514">DependencyService</text></g><path d="M 759.75 150 L 759.75 111 L 1089.75 111 L 1089.75 150" fill="#dae8fc" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 150 L 759.75 180 L 1089.75 180 L 1089.75 150" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 759.75 150 L 1089.75 150" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="924.25" y="137.5">&lt;&lt; IBluetoothService &gt;&gt;</text></g><rect x="759.75" y="150" width="330" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-767-151-316-28-0)" text-anchor="middle" font-size="15px"><text x="924.25" y="170.5">GetBondedDevices() : ICollection&lt;Device&gt;</text></g><path d="M 441 145.5 L 747.57 145.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="none"/><path d="M 758.07 145.5 L 747.57 149 L 747.57 142 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 98px; margin-left: 377px;"><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: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">Implémente</div></div></div></foreignObject><text x="377" y="101" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">Implémente</text></switch></g><path d="M 171 168 L 171 123 L 441 123 L 441 168" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 171 168 L 441 168" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="305.5" y="152.5">BluetoothService</text></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 17px; height: 1px; padding-top: 209px; margin-left: 858px;"><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: 11px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">1</div></div></div></foreignObject><text x="866" y="212" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">1</text></switch></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 24px; height: 1px; padding-top: 167px; margin-left: 909px;"><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: 11px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">*</div></div></div></foreignObject><text x="921" y="170" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">*</text></switch></g><path d="M 1401 646.5 L 1341.09 646.5 L 1341.09 511.59 C 1346.94 511.59 1346.94 502.59 1341.09 502.59 L 1341.09 502.59 L 1341.09 357.09 L 1284.75 357.09" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 607.5 L 1401 568.5 L 1798.5 568.5 L 1798.5 607.5" fill="#ffe6cc" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 607.5 L 1401 727.5 L 1798.5 727.5 L 1798.5 607.5" fill="none" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><path d="M 1401 607.5 L 1798.5 607.5" fill="none" stroke="#d79b00" stroke-width="1.5" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" text-anchor="middle" font-size="18px"><text x="1599.25" y="595">AgridentReader</text></g><rect x="1401" y="607.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-609-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="628">EnableServiceAsync() : Task&lt;bool&gt;</text></g><rect x="1401" y="637.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-639-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="658">StartScanAsync() : Task&lt;bool&gt;</text></g><rect x="1401" y="667.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-669-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="688">AgridentDataReceivedEvent : EventHandler&lt;string&gt;</text></g><rect x="1401" y="697.5" width="397.5" height="30" fill="none" stroke="#999999" stroke-width="0.75" stroke-dasharray="0.75 0.75" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" pointer-events="none" clip-path="url(#mx-clip-1408-699-384-28-0)" text-anchor="middle" font-size="15px"><text x="1599.25" y="718">AgridentNORFIDEvent : EventHandler&lt;string&gt;</text></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 24px; height: 1px; padding-top: 423px; margin-left: 909px;"><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: 11px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">*</div></div></div></foreignObject><text x="921" y="426" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">*</text></switch></g><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><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: 24px; height: 1px; padding-top: 248px; margin-left: 854px;"><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: 11px; font-family: &quot;Ubuntu Mono&quot;; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">1</div></div></div></foreignObject><text x="866" y="251" fill="rgb(0, 0, 0)" font-family="Ubuntu Mono" font-size="11px" text-anchor="middle">1</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
TestXamConnections/TestXamConnections.Android/Connection/InternConnectionService.cs
34 34
        {
35 35
            if (param.ContainsKey(ConnectionConstants.RECEIVABLE_INTENTS_KEY))
36 36
            {
37
                // Récupérations des intents recevable
37
                // Récupérations des intents recevable sous forme de csv
38 38
                List<string> intents = new List<string>();
39 39
                intents.AddRange(param[ConnectionConstants.RECEIVABLE_INTENTS_KEY].Split(","));
40 40
                // Ajout des intents recevable au IntentFilter
TestXamConnections/TestXamConnections/Connection/IConnectionService.cs
9 9
{
10 10
    public interface IConnectionService
11 11
    {
12
        /* Fonction de connexion à la fonctionnalité cible
13
         * connectParam : paramètre de connection
14
         * Pour Bluetooth, addresse MAC
15
         * Pour connexion interne, les intents recevables
16
         * --> Ajout à un IntentFilter
17
         * Déclenche ConnectionFailedEvent si la connection échoue
18
         */
12
        /// <summary>
13
        /// Fonction de connexion à la fonctionnalité cible.
14
        /// </summary>
15
        /// <param name="connectParam">Paramètre de connection.\nPour Bluetooth, addresse MAC.\n
16
        /// Pour connexion interne, les intents recevables (ajoutés à un IntentFilter).</param>
17
        /// <returns>true si la connexion a réussi, false sinon.</returns>
19 18
        Task<bool> Connect(Dictionary<string, string> connectParam);
20 19

  
21
        /*
22
         * Fonction d'envoi de commande
23
         * byte[] pour le bluetooth
24
         * string pour intern
25
         * Retourne True si la commande s'est bien envoyée
26
         */
20
        /// <summary>
21
        /// Fonction d'envoi de commande pour le bluetooth
22
        /// </summary>
23
        /// <param name="hexValues">Données à envoyer sous forme de tableau d'octets</param>
24
        /// <returns>true si la commande s'est bien envoyée, false sinon.</returns>
27 25
        Task<bool> SendCommand(byte[] hexValues);
26

  
27
        /// <summary>
28
        /// Fonction d'envoi de commande pour service interne
29
        /// </summary>
30
        /// <param name="hexValues">Intent à envoyer</param>
31
        /// <returns>true si la commande s'est bien envoyée, false sinon.</returns>
28 32
        Task<bool> SendCommand(string command);
29 33

  
30
        /* Evenement déclenché à la reception de données
31
         * Renvoi les données sur forme d'un tableau d'octets
32
         */
34
        /// <summary>
35
        /// Événement déclenché à la réception de données. Présente les donénes sous forme d’un tableau d’octets.
36
        /// </summary>
33 37
        EventHandler<byte[]> DataReceivedEvent { get; set; }
34 38
    }
35 39
}
TestXamConnections/TestXamConnections/Helper/ConnectionConstants.cs
4 4

  
5 5
namespace TestXamConnections.Helper
6 6
{
7
    /// <summary>
8
    /// Constantes de connexion à utiliser lors de l'utilisation 
9
    /// de la fonction Connect de IConnection Service
10
    /// </summary>
7 11
    public static class ConnectionConstants
8 12
    {
9 13
        public static readonly string MAC_ADDR_KEY = "mac_address";
10
        public static readonly string LAUNCH_INTENT_KEY = "launch_intent";
14
        // public static readonly string LAUNCH_INTENT_KEY = "launch_intent";
11 15
        public static readonly string RECEIVABLE_INTENTS_KEY = "receivable_intents";
12 16

  
13 17
    }
TestXamConnections/TestXamConnections/Helper/IConnectionServiceProvider.cs
6 6

  
7 7
namespace TestXamConnections.Helper
8 8
{
9
    /// <summary>
10
    /// Type de connection service à demander.
11
    /// </summary>
9 12
    public enum ConnectionType
10 13
    {
11 14
        Bluetooth,
TestXamConnections/TestXamConnections/Models/AgridentReader.cs
8 8

  
9 9
namespace TestXamConnections.Models
10 10
{
11
    /// <summary>
12
    /// Constantes utilisées pour la communication avec le module Agrident Wedge.
13
    /// </summary>
11 14
    public class AgridentConstants
12 15
    {
13 16
        public const string ACTION_AGRIDENT_SUCCESS = "fr.coppernic.intent.agridentsuccess";
......
22 25
    public class AgridentReader
23 26
    {
24 27
        private IConnectionService ConnectionService { get; set; }
28

  
29
        /// <summary>
30
        /// Événement déclenché à la reception de données par le lecteur RFID.
31
        /// </summary>
25 32
        public EventHandler<string> AgridentDataReceivedEvent { get; set; }
33

  
34
        /// <summary>
35
        /// Événement déclenché lorsque le scan de tag RFID a échoué.
36
        /// </summary>
26 37
        public EventHandler AgridentNORFIDEvent { get; set; }
38

  
39
        /// <summary>
40
        /// Ne marche pas pour l'instant
41
        /// </summary>
27 42
        public EventHandler<bool> AgridentScanStatusChangedEvent { get; set; }
28 43

  
29 44
        public AgridentReader()
......
64 79
            }
65 80
        }
66 81

  
82
        /// <summary>
83
        /// Initialise la lecture de tag RFID.
84
        /// </summary>
85
        /// <returns>true la connexion a réussi, false sinon.</returns>
67 86
        public async Task<bool> EnableServiceAsync()
68 87
        {
69 88
            bool ret;
......
87 106
            return ret;
88 107
        }
89 108

  
109
        /// <summary>
110
        /// Lance un scan de tag RFID.
111
        /// </summary>
112
        /// <returns>true si le scan s'est lancé correctement, false sinon.</returns>
90 113
        public async Task<bool> StartScanAsync()
91 114
        {
92 115
            return await ConnectionService.SendCommand(AgridentConstants.AGRIDENT_WEDGE);
TestXamConnections/TestXamConnections/Models/TeoBalance.cs
36 36
        private IConnectionService ConnectionService { get; set; }
37 37

  
38 38
        /// <summary>
39
        /// Evenement déclenché à la réception d'une donnée de la part du Teo, autre qu'une pesée.
39
        /// Événement déclenché à la réception d'une donnée de la part du Teo, autre qu'une pesée.
40 40
        /// </summary>
41 41
        public EventHandler<string> TeoDataReceivedEvent { get; set; }
42 42
        /// <summary>
43
        /// Evenement déclenché à la reception d'une pesée de la part du Teo.
43
        /// Événement déclenché à la reception d'une pesée de la part du Teo.
44 44
        /// </summary>
45 45
        public EventHandler<ReponsePesee> TeoPeseeReceivedEvent { get; set; }
46 46

  
......
125 125
            return true;
126 126
        }
127 127

  
128
        // Envoi d'une commande passée en argument
129
        public async Task<bool> SendTeoCommandAsync(TeoCommandType c)
128
        /// <summary>
129
        /// Envoie d'une commande au Teo.
130
        /// </summary>
131
        /// <param name="commandType">La commande à envoyer.</param>
132
        /// <returns></returns>
133
        public async Task<bool> SendTeoCommandAsync(TeoCommandType commandType)
130 134
        {
131
            return await ConnectionService.SendCommand(GetCommandCode(c));
135
            return await ConnectionService.SendCommand(GetCommandCode(commandType));
132 136
        }
133 137

  
134 138
        /// <summary>

Formats disponibles : Unified diff