0029515: Foundation Classes, OSD - 'Spawn' contains function that isn't available...
authorabv <abv@opencascade.com>
Wed, 14 Mar 2018 08:02:10 +0000 (11:02 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 16 Mar 2018 11:56:57 +0000 (14:56 +0300)
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
src/OSD/OSD_Process.hxx

index 4c85ec0..052ae43 100644 (file)
@@ -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<wchar_t*>(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";
index e897d3f..c9f7e11 100644 (file)
@@ -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