/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2008.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: include/sgx/core/system/execute.hpp

*/

#ifndef SGX_SYSTEM_SYSTEM_EXECUTE_HPP
#define SGX_SYSTEM_SYSTEM_EXECUTE_HPP	1

#include "sgx/core/types/types.hpp"
#include "sgx/core/stl/stl.hpp"

class sgxExecuteProperties {
public:
	sgxString	m_Command;
	sgxString	m_Arguments;
	sgxString	m_Stdin;
	sgxString	m_Stdout;
	sgxString	m_Stderr;

	sgxExecuteProperties(const sgxString &command);
	sgxExecuteProperties(const sgxString &command, const sgxVector<sgxString> &arglist);
	sgxExecuteProperties(const sgxString &command, const sgxString &arguments);

	tINT32	execute();

private:
	sgxExecuteProperties();
};

tINT32 sgxSystemExecute(const sgxExecuteProperties &props);

#endif /* SGX_SYSTEM_SYSTEM_EXECUTE_HPP */
