MuldeR's Utilities for Qt MUtilities

Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
OSSupport.h File Reference

This file contains function that wrap OS-specific functionality in a platform-independent way. More...

`#include <MUtils/Global.h>`
`#include <QString>`
`#include <QMap>`
`#include <QDate>`
`#include <QWidget>`

Go to the source code of this file.

## Classes
struct | MUtils::OS::Version::_os_version_t
| This struct contains version information about the underlaying operating system. See `_os_version_t` for details! More...

## Namespaces
| MUtils
| Global MUtils namespace.
| MUtils::OS
| MUtils OS-specific functions namespace.
| MUtils::OS::Version
| OS version information namespace.

## Typedefs
typedef struct MUtils::OS::Version::_os_version_t | MUtils::OS::Version::os_version_t
| This struct contains version information about the underlaying operating system. See `_os_version_t` for details!
typedef QMap< QString, QString > | MUtils::OS::ArgumentMap
typedef bool(* | MUtils::OS::progress_callback_t) (const double &progress, void *const userData)

## Enumerations
enum | MUtils::OS::Version::os_type_t { MUtils::OS::Version::OS_UNKNOWN = 0, MUtils::OS::Version::OS_WINDOWS = 1 }
| This enumeration specifies the type of the underlaying operating system. More...
enum | MUtils::OS::os_arch_t { MUtils::OS::ARCH_X86 = 1, MUtils::OS::ARCH_X64 = 2 }
| This enumeration specifies possible operating system architectures. More...
enum | MUtils::OS::known_folder_t { MUtils::OS::FOLDER_PROFILE_USER = 1, MUtils::OS::FOLDER_PROFILE_PUBL = 2, MUtils::OS::FOLDER_APPDATA_ROAM = 3, MUtils::OS::FOLDER_APPDATA_LOCA = 4, MUtils::OS::FOLDER_DOCS_USER = 5, MUtils::OS::FOLDER_DOCS_PUBL = 6, MUtils::OS::FOLDER_DESKTOP_USER = 7, MUtils::OS::FOLDER_DESKTOP_PUBL = 8, MUtils::OS::FOLDER_PICTURES_USER = 9, MUtils::OS::FOLDER_PICTURES_PUBL = 10, MUtils::OS::FOLDER_MUSIC_USER = 11, MUtils::OS::FOLDER_MUSIC_PUBL = 12, MUtils::OS::FOLDER_VIDEO_USER = 13, MUtils::OS::FOLDER_VIDEO_PUBL = 14, MUtils::OS::FOLDER_PROGRAMS_DEF = 15, MUtils::OS::FOLDER_PROGRAMS_X86 = 16, MUtils::OS::FOLDER_PROGRAMS_X64 = 17, MUtils::OS::FOLDER_SYSROOT = 18, MUtils::OS::FOLDER_SYSTEM_DEF = 19, MUtils::OS::FOLDER_SYSTEM_X86 = 20 }
| This enumeration specifies "known" folder identifiers. More...
enum | MUtils::OS::network_type_t { MUtils::OS::NETWORK_TYPE_ERR = 0, MUtils::OS::NETWORK_TYPE_NON = 1, MUtils::OS::NETWORK_TYPE_YES = 2 }
| This enumeration specifies network connection types. More...
enum | MUtils::OS::drive_type_t { MUtils::OS::DRIVE_TYPE_ERR = 0, MUtils::OS::DRIVE_TYPE_FDD = 1, MUtils::OS::DRIVE_TYPE_HDD = 2, MUtils::OS::DRIVE_TYPE_NET = 3, MUtils::OS::DRIVE_TYPE_OPT = 4, MUtils::OS::DRIVE_TYPE_RAM = 5 }
| This enumeration specifies drive types. More...

## Functions
MUTILS_API void | MUtils::OS::system_message_nfo (const wchar_t *const title, const wchar_t *const text)
MUTILS_API void | MUtils::OS::system_message_wrn (const wchar_t *const title, const wchar_t *const text)
MUTILS_API void | MUtils::OS::system_message_err (const wchar_t *const title, const wchar_t *const text)
MUTILS_API const QStringList | MUtils::OS::crack_command_line (const QString &command_line=QString())
MUTILS_API const ArgumentMap & | MUtils::OS::arguments (void)
MUTILS_API bool | MUtils::OS::copy_file (const QString &sourcePath, const QString &outputPath, const bool &overwrite=true, const progress_callback_t callback=NULL, void *const userData=NULL)
MUTILS_API bool | MUtils::OS::get_file_version (const QString fileName, quint16 *const major=NULL, quint16 *const minor=NULL, quint16 *const patch=NULL, quint16 *const build=NULL)
MUTILS_API const Version::os_version_t & | MUtils::OS::os_version (void)
MUTILS_API const char * | MUtils::OS::os_friendly_name (const MUtils::OS::Version::os_version_t &os_version)
MUTILS_API const bool & | MUtils::OS::running_on_wine (void)
MUTILS_API const os_arch_t & | MUtils::OS::os_architecture (void)
MUTILS_API const QString & | MUtils::OS::known_folder (const known_folder_t folder_id)
MUTILS_API QDate | MUtils::OS::current_date (void)
MUTILS_API quint64 | MUtils::OS::current_file_time (void)
MUTILS_API bool | MUtils::OS::is_elevated (bool *bIsUacEnabled=NULL)
MUTILS_API bool | MUtils::OS::user_is_admin (void)
MUTILS_API int | MUtils::OS::network_status (void)
| Check the network status. More...
MUTILS_API bool | MUtils::OS::handle_os_message (const void *const message, long *result)
MUTILS_API void | MUtils::OS::sleep_ms (const size_t &duration)
| Suspend calling thread. More...
MUTILS_API bool | MUtils::OS::is_executable_file (const QString &path)
MUTILS_API bool | MUtils::OS::is_library_file (const QString &path)
MUTILS_API bool | MUtils::OS::is_hibernation_supported (void)
MUTILS_API bool | MUtils::OS::shutdown_computer (const QString &message, const unsigned long timeout, const bool forceShutdown, const bool hibernate)
MUTILS_API bool | MUtils::OS::free_diskspace (const QString &path, quint64 &freeSpace)
MUTILS_API drive_type_t | MUtils::OS::get_drive_type (const QString &path, bool *fast_seeking=NULL)
| Detect drive type. More...
MUTILS_API bool | MUtils::OS::shell_open (const QWidget *parent, const QString &url, const bool explore=false)
MUTILS_API bool | MUtils::OS::shell_open (const QWidget *parent, const QString &url, const QString &parameters, const QString &directory, const bool explore=false)
MUTILS_API bool | MUtils::OS::open_media_file (const QString &mediaFilePath)
MUTILS_API bool | MUtils::OS::change_process_priority (const int priority)
MUTILS_API bool | MUtils::OS::change_process_priority (const QProcess *proc, const int priority)
MUTILS_API quint32 | MUtils::OS::process_id (void)
MUTILS_API quint32 | MUtils::OS::process_id (const QProcess *const proc)
MUTILS_API quint32 | MUtils::OS::thread_id (void)
MUTILS_API quint32 | MUtils::OS::thread_id (const QProcess *const proc)
MUTILS_API bool | MUtils::OS::suspend_process (const QProcess *proc, const bool suspend)
MUTILS_API bool | MUtils::OS::setup_timer_resolution (const quint32 &interval=1)
MUTILS_API bool | MUtils::OS::reset_timer_resolution (const quint32 &interval=1)
MUTILS_API bool | MUtils::OS::set_file_time (const QFile &file, const QDateTime &created=QDateTime(), const QDateTime &modified=QDateTime(), const QDateTime &accessed=QDateTime())
MUTILS_API bool | MUtils::OS::set_file_time (const QString &path, const QDateTime &created=QDateTime(), const QDateTime &modified=QDateTime(), const QDateTime &accessed=QDateTime())
MUTILS_API bool | MUtils::OS::check_key_state_esc (void)
MUTILS_API void | MUtils::OS::shell_change_notification (void)
MUTILS_API QString | MUtils::OS::get_file_path (const int &fd)
MUTILS_API bool | MUtils::OS::wow64fsredir_disable (uintptr_t &oldValue)
MUTILS_API bool | MUtils::OS::wow64fsredir_revert (const uintptr_t oldValue)
MUTILS_API QString | MUtils::OS::get_envvar (const QString &name)
MUTILS_API bool | MUtils::OS::set_envvar (const QString &name, const QString &value)
MUTILS_API const QLatin1String & | MUtils::OS::null_device (void)
MUTILS_API void | MUtils::OS::check_debugger (void)
MUTILS_API void | MUtils::OS::fatal_exit (const wchar_t *const errorMessage)

## Variables
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN2K
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WINXP
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_XPX64
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_VISTA
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN70
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN80
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN81
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN10
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::WINDOWS_WIN11
| Operating system version constant. More...
MUTILS_API const os_version_t | MUtils::OS::Version::UNKNOWN_OPSYS
| Operating system version constant. More...

## Detailed Description

This file contains function that wrap OS-specific functionality in a platform-independent way.