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.