From 70768a6f9b101631aa02f3776ee0e7f648ac6bf0 Mon Sep 17 00:00:00 2001 From: aignacio_sf <> Date: Tue, 8 Jan 2008 01:00:38 +0000 Subject: [PATCH] Add OS version and more CPU frequency functions. --- panda/src/display/displayInformation.cxx | 81 ++++++++++++++++++++++++ panda/src/display/displayInformation.h | 20 +++++- 2 files changed, 100 insertions(+), 1 deletion(-) diff --git a/panda/src/display/displayInformation.cxx b/panda/src/display/displayInformation.cxx index aa29822191..c9a61642c5 100644 --- a/panda/src/display/displayInformation.cxx +++ b/panda/src/display/displayInformation.cxx @@ -112,8 +112,17 @@ DisplayInformation() { _cpu_frequency = 0; + _maximum_cpu_frequency = 0; + _current_cpu_frequency = 0; + _get_memory_information_function = 0; _cpu_time_function = 0; + _update_cpu_frequency_function = 0; + + _os_version_major = -1; + _os_version_minor = -1; + _os_version_build = -1; + _os_platform_id = -1; } //////////////////////////////////////////////////////////////////// @@ -551,3 +560,75 @@ get_cpu_time() { return cpu_time; } + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_maximum_cpu_frequency +// Access: Published +// Description: +//////////////////////////////////////////////////////////////////// +PN_uint64 DisplayInformation:: +get_maximum_cpu_frequency() { + return _maximum_cpu_frequency; +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_current_cpu_frequency +// Access: Published +// Description: +//////////////////////////////////////////////////////////////////// +PN_uint64 DisplayInformation:: +get_current_cpu_frequency() { + return _current_cpu_frequency; +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::update_cpu_frequency +// Access: Published +// Description: +//////////////////////////////////////////////////////////////////// +void DisplayInformation:: +update_cpu_frequency(int processor_number) { + if (_update_cpu_frequency_function) { + _update_cpu_frequency_function (processor_number, this); + } +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_os_version_major +// Access: Published +// Description: Returns -1 if not set. +//////////////////////////////////////////////////////////////////// +int DisplayInformation:: +get_os_version_major() { + return _os_version_major; +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_os_version_minor +// Access: Published +// Description: Returns -1 if not set. +//////////////////////////////////////////////////////////////////// +int DisplayInformation:: +get_os_version_minor() { + return _os_version_minor; +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_os_version_build +// Access: Published +// Description: Returns -1 if not set. +//////////////////////////////////////////////////////////////////// +int DisplayInformation:: +get_os_version_build() { + return _os_version_build; +} + +//////////////////////////////////////////////////////////////////// +// Function: DisplayInformation::get_os_platform_id +// Access: Published +// Description: Returns -1 if not set. +//////////////////////////////////////////////////////////////////// +int DisplayInformation:: +get_os_platform_id() { + return _os_platform_id; +} diff --git a/panda/src/display/displayInformation.h b/panda/src/display/displayInformation.h index 527d272755..679762e89a 100644 --- a/panda/src/display/displayInformation.h +++ b/panda/src/display/displayInformation.h @@ -97,6 +97,15 @@ PUBLISHED: PN_uint64 get_cpu_frequency(); PN_uint64 get_cpu_time(); + + PN_uint64 get_maximum_cpu_frequency(); + PN_uint64 get_current_cpu_frequency(); + void update_cpu_frequency(int processor_number); + + int get_os_version_major(); + int get_os_version_minor(); + int get_os_version_build(); + int get_os_platform_id(); public: DetectionState _state; @@ -139,9 +148,18 @@ public: unsigned int _cpu_brand_index; PN_uint64 _cpu_frequency; - + + PN_uint64 _maximum_cpu_frequency; + PN_uint64 _current_cpu_frequency; + void (*_get_memory_information_function) (DisplayInformation *display_information); PN_uint64 (*_cpu_time_function) (void); + int (*_update_cpu_frequency_function) (int processor_number, DisplayInformation *display_information); + + int _os_version_major; + int _os_version_minor; + int _os_version_build; + int _os_platform_id; }; #endif