LibreOffice Module vcl (master)  1
Classes | Enumerations | Functions | Variables
DriverBlocklist Namespace Reference

Classes

struct  DriverInfo
 
struct  InvalidFileException
 
class  Parser
 

Enumerations

enum  DeviceVendor {
  VendorAll,
  VendorIntel,
  VendorNVIDIA,
  VendorAMD,
  VendorMicrosoft
}
 
enum  OperatingSystem {
  DRIVER_OS_UNKNOWN = 0,
  DRIVER_OS_WINDOWS_7,
  DRIVER_OS_WINDOWS_8,
  DRIVER_OS_WINDOWS_8_1,
  DRIVER_OS_WINDOWS_10,
  DRIVER_OS_LINUX,
  DRIVER_OS_OSX_10_5,
  DRIVER_OS_OSX_10_6,
  DRIVER_OS_OSX_10_7,
  DRIVER_OS_OSX_10_8,
  DRIVER_OS_ANDROID,
  DRIVER_OS_ALL
}
 
enum  VersionComparisonOp {
  DRIVER_LESS_THAN,
  DRIVER_LESS_THAN_OR_EQUAL,
  DRIVER_GREATER_THAN,
  DRIVER_GREATER_THAN_OR_EQUAL,
  DRIVER_EQUAL,
  DRIVER_NOT_EQUAL,
  DRIVER_BETWEEN_EXCLUSIVE,
  DRIVER_BETWEEN_INCLUSIVE,
  DRIVER_BETWEEN_INCLUSIVE_START,
  DRIVER_COMPARISON_IGNORED
}
 

Functions

static OperatingSystem getOperatingSystem (const OString &rString)
 
static VersionComparisonOp getComparison (const OString &rString)
 
static OUString GetVendorId (const OString &rString)
 
OUString GetVendorId (DeviceVendor id)
 
DeviceVendor GetVendorFromId (uint32_t id)
 Returns vendor for the given vendor ID, or VendorAll if not known. More...
 
OUStringLiteral GetVendorNameFromId (uint32_t id)
 
static void PadDriverDecimal (char *aString)
 
static bool SplitDriverVersion (const char *aSource, char *aAStr, char *aBStr, char *aCStr, char *aDStr)
 
static bool ParseDriverVersion (const OUString &aVersion, uint64_t &rNumericVersion)
 
static uint64_t getVersion (const OString &rString)
 
static OperatingSystem getOperatingSystem ()
 
bool FindBlocklistedDeviceInList (std::vector< DriverInfo > &aDeviceInfos, OUString const &sDriverVersion, OUString const &sAdapterVendorID, OUString const &sAdapterDeviceID, OperatingSystem system, const OUString &blocklistURL)
 
bool IsDeviceBlocked (const OUString &blocklistURL, const OUString &driverVersion, const OUString &vendorId, const OUString &deviceId)
 
uint64_t V (uint32_t a, uint32_t b, uint32_t c, uint32_t d)
 

Variables

const uint64_t allDriverVersions = ~(uint64_t(0))
 
const int DeviceVendorMax = VendorMicrosoft + 1
 

Enumeration Type Documentation

Enumerator
VendorAll 
VendorIntel 
VendorNVIDIA 
VendorAMD 
VendorMicrosoft 

Definition at line 26 of file driverblocklist.hxx.

Enumerator
DRIVER_OS_UNKNOWN 
DRIVER_OS_WINDOWS_7 
DRIVER_OS_WINDOWS_8 
DRIVER_OS_WINDOWS_8_1 
DRIVER_OS_WINDOWS_10 
DRIVER_OS_LINUX 
DRIVER_OS_OSX_10_5 
DRIVER_OS_OSX_10_6 
DRIVER_OS_OSX_10_7 
DRIVER_OS_OSX_10_8 
DRIVER_OS_ANDROID 
DRIVER_OS_ALL 

Definition at line 47 of file driverblocklist.hxx.

Enumerator
DRIVER_LESS_THAN 
DRIVER_LESS_THAN_OR_EQUAL 
DRIVER_GREATER_THAN 
DRIVER_GREATER_THAN_OR_EQUAL 
DRIVER_EQUAL 
DRIVER_NOT_EQUAL 
DRIVER_BETWEEN_EXCLUSIVE 
DRIVER_BETWEEN_INCLUSIVE 
DRIVER_BETWEEN_INCLUSIVE_START 
DRIVER_COMPARISON_IGNORED 

Definition at line 63 of file driverblocklist.hxx.

Function Documentation

bool VCL_DLLPUBLIC DriverBlocklist::FindBlocklistedDeviceInList ( std::vector< DriverInfo > &  aDeviceInfos,
OUString const &  sDriverVersion,
OUString const &  sAdapterVendorID,
OUString const &  sAdapterDeviceID,
OperatingSystem  system,
const OUString &  blocklistURL 
)
static VersionComparisonOp DriverBlocklist::getComparison ( const OString &  rString)
static
static OperatingSystem DriverBlocklist::getOperatingSystem ( const OString &  rString)
static
static OperatingSystem DriverBlocklist::getOperatingSystem ( )
static
VCL_DLLPUBLIC DeviceVendor DriverBlocklist::GetVendorFromId ( uint32_t  id)

Returns vendor for the given vendor ID, or VendorAll if not known.

Definition at line 143 of file driverblocklist.cxx.

References VendorAll, VendorAMD, VendorIntel, VendorMicrosoft, and VendorNVIDIA.

Referenced by SkiaHelper::getVendor().

static OUString DriverBlocklist::GetVendorId ( const OString &  rString)
static
OUString VCL_DLLPUBLIC DriverBlocklist::GetVendorId ( DeviceVendor  id)
VCL_DLLPUBLIC OUStringLiteral DriverBlocklist::GetVendorNameFromId ( uint32_t  id)

Definition at line 160 of file driverblocklist.cxx.

static uint64_t DriverBlocklist::getVersion ( const OString &  rString)
static

Definition at line 301 of file driverblocklist.cxx.

References nVersion, and ParseDriverVersion().

Referenced by DriverBlocklist::Parser::handleEntry().

VCL_DLLPUBLIC bool DriverBlocklist::IsDeviceBlocked ( const OUString &  blocklistURL,
const OUString &  driverVersion,
const OUString &  vendorId,
const OUString &  deviceId 
)
static void DriverBlocklist::PadDriverDecimal ( char *  aString)
static

Definition at line 204 of file driverblocklist.cxx.

References i.

Referenced by ParseDriverVersion().

static bool DriverBlocklist::ParseDriverVersion ( const OUString &  aVersion,
uint64_t &  rNumericVersion 
)
static
static bool DriverBlocklist::SplitDriverVersion ( const char *  aSource,
char *  aAStr,
char *  aBStr,
char *  aCStr,
char *  aDStr 
)
static

Definition at line 221 of file driverblocklist.cxx.

References i, and SAL_N_ELEMENTS.

Referenced by ParseDriverVersion().

uint64_t DriverBlocklist::V ( uint32_t  a,
uint32_t  b,
uint32_t  c,
uint32_t  d 
)
inline

Definition at line 138 of file driverblocklist.hxx.

References GFX_DRIVER_VERSION.

Variable Documentation

const uint64_t DriverBlocklist::allDriverVersions = ~(uint64_t(0))

Definition at line 560 of file driverblocklist.cxx.

const int DriverBlocklist::DeviceVendorMax = VendorMicrosoft + 1

Definition at line 34 of file driverblocklist.hxx.

Referenced by GetVendorId().