Ferreteria/v0.6/clade/IO/Aspect/Connx/run/Session/@code/rmv/2026/09/27
Jump to navigation
Jump to search
| 2026/09/26 | 2026/09/27 | 2026/09/28 |
Doing some tidying up before tweaking the API a bit.
#
// ACTION: Runs the executable and makes I/O/E Streams available
public function DoCommand(CmdIface &$oCmd) : OpCmdIface {
$oPort = $this->OPort;
$oProc = $oPort->NewProcess($oCmd->AsString);
#$this->AmHere('PROCESS COMMAND = ['.$oProc->SCommand.']');
$this->OProc = $oProc;
$oOp = OpCmdClass::FromSession($this);
$ok = FALSE;
$oOpAux = $oPort->Open();
if ($oOpAux->IsOkay) {
$oOpAux = $oProc->Open();
if ($oOpAux->IsOkay) {
$ok = TRUE;
} else {
$oOpAux->AddMsgString('Could not start process.');
}
} else {
$oOpAux->AddMsgString('Could not open connection.');
}
$oOp->Assimilate($oOpAux);
#$oOp = OpCmdClass::FromAnother($oOp);
#$oOp->IsOkay = $ok; // 2026-09-20 Should be redundant now.
return $oOp;
}
public function SendCommand(CmdIface &$oCmd) : OpCmdIface {
$sCmd = $oCmd->AsString;
$oOpComm = $this->OExecRespond->PushBytes($sCmd."\n");
$this->AmHere("SENT COMMAND: [$sCmd]");
$oOpCmd = OpCmdClass::FromAnother($oOpComm);
return $oOpCmd;
}
I commented this out a few days ago, probably after 9/20:
#
protected function RunIt() {
$oPort = $this->OPort;
$oProc = $oPort->NewProcess($this->SCommand); // TODO: helpful error if $SCommand is not set
$this->OProc = $oProc;
$this->AmHere('ActualOpen of Session: Port='.get_class($oPort).' Proc='.get_class($oProc));
#$this->AmHere('PROCESS COMMAND = ['.$oProc->SCommand.']');
$ok = FALSE;
$oOpOpen = $oPort->Open();
if ($oOpOpen->IsOkay) {
$oOpOpen = $oProc->Open();
if ($oOpOpen->IsOkay) {
$ok = TRUE;
} else {
$oOpOpen->AddMsgString('Could not start process.');
}
} else {
$oOpOpen->AddMsgString('Could not open connection.');
}
$this->OOpOpen = $oPort->Open();
}