SystemInformation Class Reference

#include <SystemInformation.h>

List of all members.

Public Types

enum   MinimumRequirementStatus {
  kRequirementAllMet = 0, kRequirementCgVertexProfileNotMet = 1, kRequirementCgFragmentProfileNotMet = 2, kRequirementGraphicsMemorySizeNotMet = 4,
  kRequirementSystemMemorySizeNotMet = 8
}
 

The status information when checking for minimum requirement returned by hasMinimumRequirements.

More...
enum   DisplayDevicePrefValue {
  kPrefDisplayDeviceAuto = 0, kPrefDisplayDeviceOpenGL = 1, kPrefDisplayDeviceDX9 = 9, kPrefDisplayDeviceDX11 = 11,
  kPrefDisplayDeviceDX11SW = 111
}

Public Member Functions

bool  isSystemProfileSet () const
void  setMinimumRequirements (const awString::IString &req)
int  checkMinimumRequirementStatus () const
  returns the combination of MinimumRequirementStatus for individual unsupported requirement
const awString::IString &  getMinimumVertexProfile () const
const awString::IString &  getMinimumFragmentProfile () const
void  setVertexProfileSupport (const bool ok)
void  setFragmentProfileSupport (const bool ok)
const ValueParameterGroupRef  configuration () const
ValueParameterGroupRef  configuration ()
bool  isConfigSwitch (const awString::IString &name) const
  These are just a shortcut to the configuration ValueParameterGroup It will create a string parameter and set value to "true" or "false", but this lets you dispense with all the casting.
void  setConfigSwitch (const awString::IString &name, bool value)
const awString::IString &  getConfigurationValue (const awString::IString &name) const
  A shortcut to getting configuration() value of the specified name checking if it's there, returning the value or empty.
bool  setDisplayDevice (const awString::IString &value, bool forceOverwritingExisting=false)
  Make an explicit function for setting the device.
const awString::IString &  getDisplayDevice (bool defaultIfNotThere=true)
bool  setDisplayDeviceType (int deviceType)
  This is not commonly used; 1 for hardware, 2 for reference, 3 for software, but is not available in all configurations.
int  getDisplayDeviceType () const
awString::IString  getDisplayDeviceLabel () const
bool  isDisplayDeviceOpenGL (bool defaultIfNotThere=true)
bool  isDisplayDeviceDx9 (bool defaultIfNotThere=true)
bool  isDisplayDeviceDx11 (bool defaultIfNotThere=true)
bool  isDisplayDeviceDx1x (bool defaultIfNotThere=true)
bool  isDisplayDeviceDx11SW (bool defaultIfNotThere=true)
bool  get3GBSwitch () const
  The system information accessors.
const awString::IString &  getOSName () const
const awString::IString &  getProcessorName () const
const awString::IString &  getVideoProcessorName () const
int  getSystemMemorySizeInMB () const
int  getVideoMemorySizeInMB () const
void  setDisableThemeSwitch (bool disable)
  Windows Aero gets us in trouble sometimes...
bool  switchToWindowsBasicTheme () const
bool  isSolidWorksInstalled ()

Static Public Member Functions

static SystemInformation instance ()
  Applications that wish to share a common statistics object can use the instance and destruct methods.
static void  destruct ()
static void  setDisplayDevicePrefValue (int newValue)
static int  getDisplayDevicePrefValue ()

Protected Member Functions

  SystemInformation ()
  ~SystemInformation ()
void  gatherSysInfo ()
void  getDisplayDeviceDefaultValue (awString::IString &value)

Member Enumeration Documentation

The status information when checking for minimum requirement returned by hasMinimumRequirements.

Enumerator:
kRequirementAllMet 

0 - all requirements met, no message

kRequirementCgVertexProfileNotMet 

1 - minimum Cg vertex profile not supported

kRequirementCgFragmentProfileNotMet 

2 - minimum Cg fragment profile not supported

kRequirementGraphicsMemorySizeNotMet 

4 - suboptimal graphics memory size

kRequirementSystemMemorySizeNotMet 

8 - suboptimal system memory size


Constructor & Destructor Documentation

SystemInformation ( ) [protected]
~SystemInformation ( ) [protected]

Member Function Documentation

static SystemInformation& instance ( ) [static]

Applications that wish to share a common statistics object can use the instance and destruct methods.

static void destruct ( ) [static]
bool isSystemProfileSet ( ) const
void setMinimumRequirements ( const awString::IString &  req )
int checkMinimumRequirementStatus ( ) const

returns the combination of MinimumRequirementStatus for individual unsupported requirement

const awString::IString& getMinimumVertexProfile ( ) const
const awString::IString& getMinimumFragmentProfile ( ) const
void setVertexProfileSupport ( const bool  ok )
void setFragmentProfileSupport ( const bool  ok )
const ValueParameterGroupRef configuration ( ) const
bool isConfigSwitch ( const awString::IString &  name ) const

These are just a shortcut to the configuration ValueParameterGroup It will create a string parameter and set value to "true" or "false", but this lets you dispense with all the casting.

void setConfigSwitch ( const awString::IString &  name,
bool  value 
)
const awString::IString& getConfigurationValue ( const awString::IString &  name ) const

A shortcut to getting configuration() value of the specified name checking if it's there, returning the value or empty.

bool setDisplayDevice ( const awString::IString &  value,
bool  forceOverwritingExisting = false 
)

Make an explicit function for setting the device.

The strings used should be matching the ones used by OGS: VirtualDeviceDx9, VirtualDeviceDx11, VirtualDeviceDx11SW, VirtualDeviceGL, etc. We want to avoid being able to reset it once it's set. Return true if the value was used, false if it was already set before and the new one ignored. This will be stored in the configuration, these are shortcuts for getting the values. Do not set forceOverwritingExisting unless you understand why it is necessary.

const awString::IString& getDisplayDevice ( bool  defaultIfNotThere = true )
bool setDisplayDeviceType ( int  deviceType )

This is not commonly used; 1 for hardware, 2 for reference, 3 for software, but is not available in all configurations.

int getDisplayDeviceType ( ) const
awString::IString getDisplayDeviceLabel ( ) const
bool isDisplayDeviceOpenGL ( bool  defaultIfNotThere = true )
bool isDisplayDeviceDx9 ( bool  defaultIfNotThere = true )
bool isDisplayDeviceDx11 ( bool  defaultIfNotThere = true )
bool isDisplayDeviceDx1x ( bool  defaultIfNotThere = true )
bool isDisplayDeviceDx11SW ( bool  defaultIfNotThere = true )
bool get3GBSwitch ( ) const

The system information accessors.

const awString::IString& getOSName ( ) const
const awString::IString& getProcessorName ( ) const
const awString::IString& getVideoProcessorName ( ) const
int getSystemMemorySizeInMB ( ) const
int getVideoMemorySizeInMB ( ) const
void setDisableThemeSwitch ( bool  disable )

Windows Aero gets us in trouble sometimes...

bool switchToWindowsBasicTheme ( ) const
bool isSolidWorksInstalled ( )
static void setDisplayDevicePrefValue ( int  newValue ) [static]
static int getDisplayDevicePrefValue ( ) [static]
void gatherSysInfo ( ) [protected]
void getDisplayDeviceDefaultValue ( awString::IString &  value ) [protected]

SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation
SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation SystemInformation