Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::Win32ProcessIORedirector Class Reference

Win32 (NT or better) implementation of ProcessIORedirectionPeer original code swiped from: (c) 2002 Andreas Saurwein - saurwein@uniwares.com Any mistakes are mine due to the "port" over into the VCF. More...

#include <Win32ProcessIORedirector.h>

Inheritance diagram for VCF::Win32ProcessIORedirector:

VCF::Object VCF::ProcessIORedirectionPeer VCF::ProcessPeer List of all members.

Public Member Functions

 Win32ProcessIORedirector ()
virtual ~Win32ProcessIORedirector ()
virtual int getProcessID ()
 returns an int that uniquely identifies the process on a given machine
virtual int getProcessThreadID ()
 returns the process's main thread ID
virtual bool createProcess (const String &processName, const String &arguments)
 creates a new process specified by the fully qualified file name in the processName argument.
virtual String getProcessFileName ()
 returns the fully qualified file name of the process the object represents.
virtual OSHandleID getHandleID ()
virtual void setProcess (ProcessWithRedirectedIO *process)
 sets the peer's ProcessWithRedirectedIO process instance.
virtual uint32 terminate ()
virtual Waitable::WaitResult wait (uint32 milliseconds)
virtual Waitable::WaitResult wait ()

Protected Member Functions

void readPipe ()
bool testProcess ()

Static Protected Member Functions

static UINT __stdcall ReadPipeThreadProc (LPVOID pParam)

Protected Attributes

HANDLE childProcess_
ProcessWithRedirectedIOprocess_
int processID_
int processThreadID_
UINT readThreadID_
String commandLine_
HANDLE readThread_
HANDLE childStdinRdHandle_
HANDLE childStdinWrHandle_
HANDLE childStdoutRdHandle_
HANDLE childStdoutWrHandle_
HANDLE savedStdinHandle_
HANDLE savedStdoutHandle_
PROCESS_INFORMATION processInfo_
void * startInfoPtr_
bool canContinueReading_

Detailed Description

Win32 (NT or better) implementation of ProcessIORedirectionPeer original code swiped from: (c) 2002 Andreas Saurwein - saurwein@uniwares.com Any mistakes are mine due to the "port" over into the VCF.


Constructor & Destructor Documentation

VCF::Win32ProcessIORedirector::Win32ProcessIORedirector  ) 
 

virtual VCF::Win32ProcessIORedirector::~Win32ProcessIORedirector  )  [virtual]
 


Member Function Documentation

virtual bool VCF::Win32ProcessIORedirector::createProcess const String processName,
const String arguments
[virtual]
 

creates a new process specified by the fully qualified file name in the processName argument.

Parameters:
String the fully qualified file name of process to start. This must represent an actual executable file
Returns:
bool returns true if the process was successfully started otherwise false.

Implements VCF::ProcessPeer.

virtual OSHandleID VCF::Win32ProcessIORedirector::getHandleID  )  [inline, virtual]
 

Implements VCF::ProcessPeer.

virtual String VCF::Win32ProcessIORedirector::getProcessFileName  )  [inline, virtual]
 

returns the fully qualified file name of the process the object represents.

Implements VCF::ProcessPeer.

virtual int VCF::Win32ProcessIORedirector::getProcessID  )  [inline, virtual]
 

returns an int that uniquely identifies the process on a given machine

Implements VCF::ProcessPeer.

virtual int VCF::Win32ProcessIORedirector::getProcessThreadID  )  [inline, virtual]
 

returns the process's main thread ID

Implements VCF::ProcessPeer.

void VCF::Win32ProcessIORedirector::readPipe  )  [protected]
 

static UINT __stdcall VCF::Win32ProcessIORedirector::ReadPipeThreadProc LPVOID  pParam  )  [static, protected]
 

virtual void VCF::Win32ProcessIORedirector::setProcess ProcessWithRedirectedIO process  )  [inline, virtual]
 

sets the peer's ProcessWithRedirectedIO process instance.

When an OutputReady event occurs, the ProcessWithRedirectedIO instance is what will be used as the source of the event, not the peer itself.

Implements VCF::ProcessIORedirectionPeer.

virtual uint32 VCF::Win32ProcessIORedirector::terminate  )  [virtual]
 

Implements VCF::ProcessPeer.

bool VCF::Win32ProcessIORedirector::testProcess  )  [protected]
 

virtual Waitable::WaitResult VCF::Win32ProcessIORedirector::wait  )  [virtual]
 

Implements VCF::ProcessPeer.

virtual Waitable::WaitResult VCF::Win32ProcessIORedirector::wait uint32  milliseconds  )  [virtual]
 

Implements VCF::ProcessPeer.


Member Data Documentation

bool VCF::Win32ProcessIORedirector::canContinueReading_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::childProcess_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::childStdinRdHandle_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::childStdinWrHandle_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::childStdoutRdHandle_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::childStdoutWrHandle_ [protected]
 

String VCF::Win32ProcessIORedirector::commandLine_ [protected]
 

ProcessWithRedirectedIO* VCF::Win32ProcessIORedirector::process_ [protected]
 

int VCF::Win32ProcessIORedirector::processID_ [protected]
 

PROCESS_INFORMATION VCF::Win32ProcessIORedirector::processInfo_ [protected]
 

int VCF::Win32ProcessIORedirector::processThreadID_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::readThread_ [protected]
 

UINT VCF::Win32ProcessIORedirector::readThreadID_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::savedStdinHandle_ [protected]
 

HANDLE VCF::Win32ProcessIORedirector::savedStdoutHandle_ [protected]
 

void* VCF::Win32ProcessIORedirector::startInfoPtr_ [protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information