X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4290e8ed3b8a99f9bbd4533ce7abac4186eb4e77..62960a2c6e9c54720126a7207fa47e9e539f6040:/interface/wx/utils.h diff --git a/interface/wx/utils.h b/interface/wx/utils.h index d1121780e6..08b6a55037 100644 --- a/interface/wx/utils.h +++ b/interface/wx/utils.h @@ -169,8 +169,9 @@ void wxInfoMessageBox(wxWindow parent = NULL); wxChar* wxGetenv(const wxString& var); /** - Returns the current value of the environment variable @c var in @c value. - @c value may be @NULL if you just want to know if the variable exists and + Returns the current value of the environment variable @a var in @a value. + + @a value may be @NULL if you just want to know if the variable exists and are not interested in its value. Returns @true if the variable exists, @false otherwise. @@ -180,10 +181,24 @@ wxChar* wxGetenv(const wxString& var); bool wxGetEnv(const wxString& var, wxString* value); /** - Sets the value of the environment variable @c var (adding it if necessary) - to @c value. - - Returns @true on success. + Sets the value of the environment variable @a var (adding it if necessary) + to @a value. + + Notice that under Windows platforms the program may have two different + environment blocks: the first one is that of a Windows process and is + always present, but the CRT may maintain its own independent copy of the + environment. wxSetEnv() will always update the first copy, which means that + wxGetEnv(), which uses it directly, will always return the expected value + after this call. But wxSetEnv() only updates the second copy for some + compilers/CRT implementations (currently only MSVC) and so using wxGetenv() + (notice the difference in case) may not return the updated value. + + @param var + The environment variable to be set, must not contain @c '=' character. + @param value + New value of the variable. + @return + @true on success or @false if changing the value failed. @see wxUnsetEnv() @@ -192,8 +207,9 @@ bool wxGetEnv(const wxString& var, wxString* value); bool wxSetEnv(const wxString& var, const wxString& value); /** - Removes the variable @c var from the environment. wxGetEnv() will return - @NULL after the call to this function. + Removes the variable @a var from the environment. + + wxGetEnv() will return @NULL after the call to this function. Returns @true on success. @@ -422,6 +438,27 @@ wxString wxLoadUserResource(const wxString& resourceName, */ void wxPostDelete(wxObject* object); + +/** + Compare function type for use with wxQsort() + + @header{wx/utils.h} +*/ +extern "C" +{ +typedef int (wxCMPFUNC_CONV *CMPFUNCDATA)(const void* pItem1, const void* pItem2, const void* user_data); +} + +/** + Function for performing a qsort operation including a user data + parameter. + + @header{wx/utils.h} +*/ +void wxQsort(void *const pbase, size_t total_elems, + size_t size, CMPFUNCDATA cmp, const void* user_data); + + /** Under X only, sets the current display name. This is the X host and display name such as "colonsay:0.0", and the function indicates which display @@ -647,6 +684,23 @@ bool wxIsPlatform64Bit(); */ bool wxIsPlatformLittleEndian(); +/** + Returns a structure containing informations about the currently running + Linux distribution. + + This function uses the @c lsb_release utility which is part of the + Linux Standard Base Core specification + (see http://refspecs.linux-foundation.org/lsb.shtml) since the very first LSB + release 1.0 (released in 2001). + The @c lsb_release utility is very common on modern Linux distributions but in + case it's not available, then this function will return a ::wxLinuxDistributionInfo + structure containing empty strings. + + This function is Linux-specific and is only available when the @c __LINUX__ + symbol is defined. +*/ +wxLinuxDistributionInfo wxGetLinuxDistributionInfo(); + //@} @@ -785,10 +839,9 @@ long wxExecute(wchar_t** argv, int flags = wxEXEC_ASYNC, @param output The string array where the stdout of the executed process is saved. @param flags - Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include - wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or + May include wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to - their combination, in wxEXEC_SYNC case. + their combination. wxEXEC_SYNC is always implicitly added to the flags. @see wxShell(), wxProcess, @ref page_samples_exec, wxLaunchDefaultApplication(), wxLaunchDefaultBrowser() @@ -802,7 +855,8 @@ long wxExecute(const wxString& command, wxArrayString& output, int flags = 0); please see its documentation for general information. This version adds the possibility to additionally capture the messages from - standard error output in the @a errors array. + standard error output in the @a errors array. As with the above overload + capturing standard output only, execution is always synchronous. @param command The command to execute and any parameters to pass to it as a single @@ -812,10 +866,9 @@ long wxExecute(const wxString& command, wxArrayString& output, int flags = 0); @param errors The string array where the stderr of the executed process is saved. @param flags - Must include either wxEXEC_ASYNC or wxEXEC_SYNC and can also include - wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or + May include wxEXEC_NOHIDE, wxEXEC_MAKE_GROUP_LEADER (in either case) or wxEXEC_NODISABLE and wxEXEC_NOEVENTS or wxEXEC_BLOCK, which is equal to - their combination, in wxEXEC_SYNC case. + their combination. wxEXEC_SYNC is always implicitly added to the flags. @see wxShell(), wxProcess, @ref page_samples_exec, wxLaunchDefaultApplication(), wxLaunchDefaultBrowser()