From 97e96609651e1520229fe38a89978d7071f2f282 Mon Sep 17 00:00:00 2001 From: abv Date: Wed, 14 Mar 2018 11:02:10 +0300 Subject: [PATCH] 0029515: Foundation Classes, OSD - 'Spawn' contains function that isn't available on iOS Method OSD_Process::Spawn() is removed as useless (not used across OCCT or products). Note that on Linux, macOS, and Windows standard C function "system()" can be used directly instead, while iOS apparently does not support spawning separate processes at all. --- src/OSD/OSD_Process.cxx | 49 ----------------------------------------- src/OSD/OSD_Process.hxx | 24 -------------------- 2 files changed, 73 deletions(-) diff --git a/src/OSD/OSD_Process.cxx b/src/OSD/OSD_Process.cxx index 4c85ec073b..052ae432b3 100644 --- a/src/OSD/OSD_Process.cxx +++ b/src/OSD/OSD_Process.cxx @@ -35,13 +35,6 @@ OSD_Process::OSD_Process(){ } -Standard_Integer OSD_Process::Spawn (const TCollection_AsciiString& cmd, - const Standard_Boolean /*ShowWindow*/) -{ - return system(cmd.ToCString()); -} - - void OSD_Process::TerminalType(TCollection_AsciiString& Name){ TCollection_AsciiString which="TERM"; OSD_Environment term (which,""); @@ -202,48 +195,6 @@ OSD_Process::OSD_Process() // } -// ======================================================================= -// function : Spawn -// purpose : -// ======================================================================= -Standard_Integer OSD_Process::Spawn (const TCollection_AsciiString& theCmd, - const Standard_Boolean theToShowWindow) -{ -#ifndef OCCT_UWP - STARTUPINFOW aStartupInfo; - ZeroMemory (&aStartupInfo, sizeof(STARTUPINFO)); - aStartupInfo.cb = sizeof(STARTUPINFO); - if (!theToShowWindow) - { - aStartupInfo.dwFlags = STARTF_USESHOWWINDOW; - aStartupInfo.wShowWindow = SW_HIDE; - } - - DWORD aRes = 0; - TCollection_ExtendedString aCmdWide (theCmd); - wchar_t* aCmdWidePtr = const_cast(aCmdWide.ToWideString()); // CreateProcessW() can modify content of this string - PROCESS_INFORMATION aProcessInfo; - if (!CreateProcessW (NULL, aCmdWidePtr, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &aStartupInfo, &aProcessInfo)) - { - _osd_wnt_set_error (myError, OSD_WProcess); - aRes = myError.Error(); - } - else - { - CloseHandle (aProcessInfo.hThread); - WaitForSingleObject (aProcessInfo.hProcess, INFINITE); - GetExitCodeProcess (aProcessInfo.hProcess, &aRes); - CloseHandle (aProcessInfo.hProcess); - } - - return aRes; -#else - (void )theCmd; - (void )theToShowWindow; - return 0; -#endif -} - void OSD_Process :: TerminalType ( TCollection_AsciiString& Name ) { Name = "WIN32 console"; diff --git a/src/OSD/OSD_Process.hxx b/src/OSD/OSD_Process.hxx index e897d3f3b7..c9f7e1172c 100644 --- a/src/OSD/OSD_Process.hxx +++ b/src/OSD/OSD_Process.hxx @@ -45,10 +45,6 @@ public: //! Initializes the object and prepare for a possible dump Standard_EXPORT OSD_Process(); - //! Issues a shell command - //! ShowWindow : flag to allow show/hide of the window ( only used on WNT ) - Standard_EXPORT Standard_Integer Spawn (const TCollection_AsciiString& cmd, const Standard_Boolean ShowWindow = Standard_True); - //! Returns the terminal used (vt100, vt200 ,sun-cmd ...) Standard_EXPORT void TerminalType (TCollection_AsciiString& Name); @@ -82,28 +78,8 @@ public: //! Returns error number if 'Failed' is TRUE. Standard_EXPORT Standard_Integer Error() const; - - - -protected: - - - - - private: - - - OSD_Error myError; - - }; - - - - - - #endif // _OSD_Process_HeaderFile