/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠGoogle ĠLLC . Ċ Ġ* Ċ Ġ* ĠThis Ġcode Ġmay Ġonly Ġbe Ġused Ġunder Ġthe ĠBSD Ġstyle Ġlicense Ġfound Ġat Ċ Ġ* Ġhttp :// polymer . github . io / LICENSE . txt Ċ Ġ* Ċ Ġ* ĠCode Ġdistributed Ġby ĠGoogle Ġas Ġpart Ġof Ġthis Ġproject Ġis Ġalso Ġsubject Ġto Ġan Ġadditional ĠIP Ġrights Ċ Ġ* Ġgrant Ġfound Ġat Ċ Ġ* Ġhttp :// polymer . github . io / PAT ENTS . txt Ċ Ġ*/ Ċ package Ġar cs . jvm . host Ċ Ċ import Ġar cs . core . host . Arc Host Ċ import Ġar cs . core . host . Host Registry Ċ import Ġar cs . core . host . api . Particle Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Host Registry ] Ġthat Ġdiscover s Ġthe Ġavailable Ġ[ Arc Host ] s Ġavailable Ġon Ġthis Ġplatform Ġby Ġusing Ċ Ġ* Ġexplicitly Ġregistered Ġ[ Arc Host ] s Ġand Ġ[ Particle ] s Ġinvoked Ġby Ġ[ Host Registry . register Host ] Ġand Ċ Ġ* Ġ[ Explicit Host Registry . register Particles ]. Ċ Ġ*/ Ċ class ĠExplicit Host Registry Ġ: ĠHost Registry () Ġ{ ĊĠ Ġprivate Ġval Ġarc Hosts Ġ= Ġmutable ListOf < Arc Host >() ĊĊĠ Ġoverride Ġsuspend Ġfun Ġavailable Arc Hosts () Ġ= Ġarc Hosts ĊĊĠ Ġoverride Ġsuspend Ġfun Ġregister Host ( host : ĠArc Host ) Ġ{ ĊĠĠĠ Ġarc Hosts . add ( host ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġunregister Host ( host : ĠArc Host ) Ġ{ ĊĠĠĠ Ġarc Hosts . remove ( host ) ĊĠ Ġ} Ċ } Ċ