C++ common classes
General purpose classes for use across projects (Apache license)
executeshell.h
Go to the documentation of this file.
00001 /*
00002    Copyright [2010] [Richard Bross]
00003 
00004    Licensed under the Apache License, Version 2.0 (the "License");
00005    you may not use this file except in compliance with the License.
00006    You may obtain a copy of the License at
00007 
00008        http://www.apache.org/licenses/LICENSE-2.0
00009 
00010    Unless required by applicable law or agreed to in writing, software
00011    distributed under the License is distributed on an "AS IS" BASIS,
00012    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013    See the License for the specific language governing permissions and
00014    limitations under the License.
00015 */// rbross - 12/31/09
00016 
00017 #ifndef _EXECUTESHELL_H
00018 #define _EXECUTESHELL_H
00019 
00020 #include <string>
00021 
00022 #define ESHELL_FORMAT_SIZE  2048
00023 
00024 using namespace std;
00025 
00026 class ExecuteShell {
00027 public:
00028     ExecuteShell();
00029     virtual ~ExecuteShell();
00030 
00034 static int Execute(const char *szCommand, string &sStdout, string *sStderr = NULL, const char *strForkExit = NULL);
00035 
00037 static const char *FindBinary(const char *pName);
00038 
00040 static void WriteStdout(bool bNewline = true);
00041 
00042 public:
00043 static  char    szStdOut[ESHELL_FORMAT_SIZE];
00044 
00045 protected:
00046 
00047 };
00048 
00049 #endif  /* _EXECUTECLI_H */
00050 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines