X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d84afea9d1ec41ee4e2ebb3bf6b87926cf5f04d1..0bd3b8eca1d6ef2749797f34216493fce0edd8d6:/src/mac/carbon/utilsexc.cpp?ds=sidebyside diff --git a/src/mac/carbon/utilsexc.cpp b/src/mac/carbon/utilsexc.cpp index 699008b38b..fc4b8d28ff 100644 --- a/src/mac/carbon/utilsexc.cpp +++ b/src/mac/carbon/utilsexc.cpp @@ -1,41 +1,47 @@ ///////////////////////////////////////////////////////////////////////////// // Name: utilsexec.cpp // Purpose: Execution-related utilities -// Author: AUTHOR -// Modified by: -// Created: ??/??/98 +// Author: Stefan Csomor +// Modified by: +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ -#pragma implementation +//#pragma implementation #endif -#include "wx/utils.h" -#ifdef __DARWIN__ -#include "wx/unix/execute.h" -#endif - -#include -#include -#include +#include "wx/wxprec.h" +#ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/utils.h" +#endif //ndef WX_PRECOMP #ifndef __DARWIN__ -#define wxEXECUTE_WIN_MESSAGE 10000 -long wxExecute(const wxString& command, int flags, wxProcess *handler) -{ - // TODO - return 0; -} -#endif +#include "wx/mac/private.h" +#include "LaunchServices.h" -#ifdef __DARWIN__ -int wxAddProcessCallback(wxEndProcessData *proc_data, int fd) +long wxExecute(const wxString& command, int flags, wxProcess *WXUNUSED(handler)) { - wxFAIL_MSG( _T("wxAddProcessCallback() function not yet implemented") ); - return 0; + wxASSERT_MSG( flags == wxEXEC_ASYNC, + wxT("wxExecute: Only wxEXEC_ASYNC is supported") ); + + FSRef fsRef ; + OSErr err = noErr ; + err = wxMacPathToFSRef( command , &fsRef ) ; + if ( noErr == err ) + { + err = LSOpenFSRef( &fsRef , NULL ) ; + } + + // 0 means execution failed. Returning non-zero is a PID, but not + // on Mac where PIDs are 64 bits and won't fit in a long, so we + // return a dummy value for now. + return ( err == noErr ) ? -1 : 0; } -#endif + +#endif //ndef __DARWIN__ +