Ferreteria/v0.6/clade/IO/Aspect/Connx/Stream/Runner/Remote

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | IO‎ | Aspect‎ | Connx‎ | Stream‎ | Runner
Jump to navigation Jump to search
clade: IO\Aspect\Connx\Stream\Runner\Remote
Clade Family
Runner Remote SSH
Clade Aliases
Alias Clade
Base* [ca,i] IO\Aspect\Connx\Stream\Runner
ClientIface IO\Aspect\aux\endpt\Client
CredsIface IO\Aspect\Creds
EntryIface IO\Aspect\Entry
HostIface IO\Aspect\Host
SelfIface IO\Aspect\Connx\Stream\Runner\Remote
ServerIface IO\Aspect\aux\endpt\Server
TunnelIface IO\Aspect\Connx\aux\Tunnel
Subpages

About

  • Purpose: a shell connection to a remote machine

History

  • 2025-03-15 rebuilding, code was in the ItWent class, how did this ever even work??
  • 2026-01-31 moving ShellRunner

Code

interface iRemote extends BaseIface, ClientIface, ServerIface {
    // SETUP
    static function FromEntry(EntryIface $o) : SelfIface;
    // OBJECTS
    function NewTunnel(CredsIface $oICreds, ?int $nPortLocal=NULL) : TunnelIface;
}
abstract class caRemote extends BaseClass implements SelfIface {

    // ++ SETUP ++ //

    public static function FromEntry(EntryIface $o) : SelfIface {
        $oThis = new static;
        $oThis->OEntry($o);
        return $oThis;
    }

    // -- SETUP -- //
    // ++ OBJECTS ++ //

    private $oEnt;
    public function OEntry(?EntryIface $o=NULL) : EntryIface { return is_null($o) ? $this->oEnt : ($this->oEnt = $o); }

    // -- OBJECTS -- //
}