You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.6 KiB
55 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
#include "redir.h" |
|
|
|
#ifndef REDIRECT_H_INCLUDED__ |
|
#define REDIRECT_H_INCLUDED__ |
|
|
|
class CRedirect : public CRedirector |
|
{ |
|
public: |
|
|
|
//-------------------------------------------------------------------------- |
|
// constructor |
|
//-------------------------------------------------------------------------- |
|
CRedirect() |
|
: m_pEdit(NULL), |
|
m_bStopped(false) |
|
{ |
|
} |
|
|
|
//-------------------------------------------------------------------------- |
|
// destructor |
|
//-------------------------------------------------------------------------- |
|
virtual ~CRedirect(); |
|
//-------------------------------------------------------------------------- |
|
// public member functions |
|
//-------------------------------------------------------------------------- |
|
virtual void Run(LPCTSTR szCommand, CEdit *pEdit, LPCTSTR pszCurrentDirectory = NULL); |
|
virtual void Stop(); |
|
|
|
protected: |
|
|
|
//-------------------------------------------------------------------------- |
|
// member functions |
|
//-------------------------------------------------------------------------- |
|
virtual void WriteStdOut(LPCSTR pszOutput); |
|
virtual void WriteStdError(LPCSTR pszError); |
|
|
|
void AppendText(LPCTSTR Text); |
|
void PeekAndPump(); |
|
|
|
//-------------------------------------------------------------------------- |
|
// member data |
|
//-------------------------------------------------------------------------- |
|
CEdit * m_pEdit; |
|
bool m_bStopped; |
|
|
|
}; |
|
|
|
#endif // REDIRECT_H_INCLUDED__
|
|
|