diff options
Diffstat (limited to 'Source/CTest/cmProcess.h')
-rw-r--r-- | Source/CTest/cmProcess.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/Source/CTest/cmProcess.h b/Source/CTest/cmProcess.h index 326456e..d5e2721 100644 --- a/Source/CTest/cmProcess.h +++ b/Source/CTest/cmProcess.h @@ -16,7 +16,6 @@ #include <cmsys/Process.h> - /** \class cmProcess * \brief run a process with c++ * @@ -27,11 +26,11 @@ class cmProcess public: cmProcess(); ~cmProcess(); - const char* GetCommand() { return this->Command.c_str();} + const char* GetCommand() { return this->Command.c_str(); } void SetCommand(const char* command); void SetCommandArguments(std::vector<std::string> const& arg); - void SetWorkingDirectory(const char* dir) { this->WorkingDirectory = dir;} - void SetTimeout(double t) { this->Timeout = t;} + void SetWorkingDirectory(const char* dir) { this->WorkingDirectory = dir; } + void SetTimeout(double t) { this->Timeout = t; } void ChangeTimeout(double t); void ResetStartTime(); // Return true if the process starts @@ -42,9 +41,9 @@ public: // Report the status of the program int ReportStatus(); int GetId() { return this->Id; } - void SetId(int id) { this->Id = id;} - int GetExitValue() { return this->ExitValue;} - double GetTotalTime() { return this->TotalTime;} + void SetId(int id) { this->Id = id; } + int GetExitValue() { return this->ExitValue; } + double GetTotalTime() { return this->TotalTime; } int GetExitException(); /** * Read one line of output but block for no more than timeout. @@ -54,18 +53,24 @@ public: * cmsysProcess_Pipe_Timeout = Timeout expired while waiting */ int GetNextOutputLine(std::string& line, double timeout); + private: double Timeout; double StartTime; double TotalTime; cmsysProcess* Process; - class Buffer: public std::vector<char> + class Buffer : public std::vector<char> { // Half-open index range of partial line already scanned. size_type First; size_type Last; + public: - Buffer(): First(0), Last(0) {} + Buffer() + : First(0) + , Last(0) + { + } bool GetLine(std::string& line); bool GetLast(std::string& line); }; |