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::known_folder_t {
  MUtils::OS::FOLDER_ROAMING_DATA = 0, MUtils::OS::FOLDER_LOCALAPPDATA = 1, MUtils::OS::FOLDER_USER_PROFILE = 2, MUtils::OS::FOLDER_PROGRAMFILES = 3,
  MUtils::OS::FOLDER_SYSTEMFOLDER = 4, MUtils::OS::FOLDER_SYSTROOT_DIR = 5
}
 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 QString & MUtils::OS::known_folder (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 (void *oldValue)
 
MUTILS_API bool MUtils::OS::wow64fsredir_revert (void *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_WN100
 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.