25 #ifndef INCLUDED_ProcessUtils_h_GUID_6C3F7688_AF0D_4094_D629_AF8DBFDF2044
26 #define INCLUDED_ProcessUtils_h_GUID_6C3F7688_AF0D_4094_D629_AF8DBFDF2044
32 #include <osvr/Util/PlatformConfig.h>
33 #include <osvr/Util/Verbosity.h>
36 #if !defined(OSVR_ANDROID)
37 #if defined(OSVR_WINDOWS)
48 OSVR_INLINE OSVR_ReturnCode
osvrStartProcess(
const char* executablePath,
const char* workingDirectory)
50 #if defined(OSVR_ANDROID)
52 OSVR_DEV_VERBOSE(
"osvrStartProces not yet implemented for Android");
54 #elif defined(OSVR_WINDOWS)
55 STARTUPINFO startupInfo = { 0 };
56 PROCESS_INFORMATION processInfo = { 0 };
58 startupInfo.dwFlags |= STARTF_USESHOWWINDOW;
59 startupInfo.wShowWindow = SW_SHOW;
60 if (!CreateProcess(executablePath,
nullptr,
nullptr,
nullptr, FALSE, CREATE_NEW_CONSOLE,
nullptr,
61 workingDirectory, &startupInfo, &processInfo)) {
62 OSVR_DEV_VERBOSE(
"Could not start process.");
66 OSVR_DEV_VERBOSE(
"osvrStartProcess not yet implemented for non-Windows platforms");
87 #endif // INCLUDED_ProcessUtils_h_GUID_6C3F7688_AF0D_4094_D629_AF8DBFDF2044
Header declaring a type and values for simple C return codes.
OSVR_ReturnCode osvrStartProcess(const char *executablePath, const char *workingDirectory)
INTERNAL ONLY - start a process in a platform agnostic way.
#define OSVR_RETURN_FAILURE
The "failure" value for an OSVR_ReturnCode.
#define OSVR_RETURN_SUCCESS
The "success" value for an OSVR_ReturnCode.
Header providing basic C macros for defining API headers.