package Ġnet . mi lo sv asic . factory . test . implementation Ċ Ċ import Ġnet . mi lo sv asic . factory . common . Notify ing Ċ import Ġnet . mi lo sv asic . factory . common . busy . Busy Exception Ċ import Ġnet . mi lo sv asic . factory . operation . Operation Result Ċ import Ġnet . mi lo sv asic . factory . operation . Operation Result Listener Ċ import Ġnet . mi lo sv asic . factory . operation . command . Command Configuration Ċ import Ġnet . mi lo sv asic . factory . platform . Operating System Ċ import Ġnet . mi lo sv asic . factory . remote . Connection Ċ import Ġnet . mi lo sv asic . factory . remote . Remote Ċ import Ġnet . mi lo sv asic . factory . terminal . Terminal Ċ import Ġnet . mi lo sv asic . factory . terminal . Terminal Command Ċ import Ġjava . util . concurrent . Concurrent Linked Queue Ċ Ċ class ĠStub Connection Ġ: ĠConnection , ĠNot ifying < Operation Result > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġterm Ġ= ĠTerminal () ĊĊĠĠĠ Ġprivate Ġval Ġsubscribers Ġ= ĠConcurrent Linked Queue < Operation Result Listener >() ĊĊĠĠĠ Ġprivate Ġval Ġlistener Ġ= Ġobject Ġ: ĠOperation Result Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Operation Performed ( result : ĠOperation Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Terminal () Ġ= Ġterm ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġterm . subscribe ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġ@ Throws ( Busy Exception :: class , ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġexecute ( what : ĠTerminal Command ) Ġ{ ĊĠĠĠĠĠĠĠ Ġterm . execute ( what ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġ@ Throws ( Busy Exception :: class , ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġexecute ( data : ĠTerminal Command , Ġobtain Output : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . configuration [ Command Configuration . OB TAIN _ RESULT ] Ġ= Ġobtain Output ĊĠĠĠĠĠĠĠ Ġterm . execute ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe ( what : ĠOperation Result Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubscribers . add ( what ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunsubscribe ( what : ĠOperation Result Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubscribers . remove ( what ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġnotify ( data : ĠOperation Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġsubscribers . iterator () ĊĠĠĠĠĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlistener Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Operation Performed ( data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Remote (): ĠRemote Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Remote OS (): ĠOperating System Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} Ċ }