HWman: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
(One intermediate revision by the same user not shown)
Line 2: Line 2:
HWMAN is a WPS class replacement for HWManager (the OS/2 Hardware Manager).
HWMAN is a WPS class replacement for HWManager (the OS/2 Hardware Manager).


==Overview==
This is an update to the OS/2 "Hardware-Manager" that does 2 things:
This is an update to the OS/2 "Hardware-Manager" that does 2 things:
#It removes "WPDevice" nodes from the HW manager device tree if the corresponding RMNode does not exist anymore. This finally fixes the problem that if you remove USB devices they would never be removed from the HWManager device tree. This is not limited to USB devices. Any non existing RM node will lead to removal of the corresponding WPDevice.
#It removes "WPDevice" nodes from the HW manager device tree if the corresponding RMNode does not exist any more. This finally fixes the problem that if you remove USB devices they would never be removed from the HWManager device tree. This is not limited to USB devices. Any non existing RM node will lead to removal of the corresponding WPDevice.
#A changed icon for any "bus devices" to show the WPBusDev icon (that's the "3 squares icon" coloured in yellow, red and blue). For example, a "bus device" would be an AGP bus connected to the PCI bus via a bridge (the AGP "bus device" is an addition that Veit Kannegiesser had added to PCIBUS.SNP if it finds an AGP bus).
#A changed icon for any "bus devices" to show the WPBusDev icon (that's the "3 squares icon" coloured in yellow, red and blue). For example, a "bus device" would be an AGP bus connected to the PCI bus via a bridge (the AGP "bus device" is an addition that Veit Kannegieser had added to PCIBUS.SNP if it finds an AGP bus).


==Function==
==Function==
WPHwManagerEx class depends on WPHwManager, it is not a 100% replacement of the original class, that's why it is so small. It changes the behavior of WPHwManager while letting WPHwManager do all the rest it has been doing already.
WPHwManagerEx class depends on WPHwManager, it is not a 100% replacement of the original class, that's why it is so small. It changes the behaviour of WPHwManager while letting WPHwManager do all the rest it has been doing already.


It still replaces WPHwManager in the way that WPHwManagerEx is invoked before WPHwManager is. Per default WPHwManagerEx will just delegate the call to WPHwManager. With the little exception for when it overrides any WPHwManager methods. In that case, WPHwManagerEx is invoked first.
It still replaces WPHwManager in the way that WPHwManagerEx is invoked before WPHwManager is. Per default WPHwManagerEx will just delegate the call to WPHwManager. With the little exception for when it overrides any WPHwManager methods. In that case, WPHwManagerEx is invoked first.
Line 13: Line 14:
Then it can decide what it wants to do: completely replace a method, do something and then call the WPHwManager method or call the WPHwManager method and then do something. The latter is normally done to setup some desired default "state" and then do a modification.
Then it can decide what it wants to do: completely replace a method, do something and then call the WPHwManager method or call the WPHwManager method and then do something. The latter is normally done to setup some desired default "state" and then do a modification.
Exactly what WPHwManagerEx does for the "WPPopulate" method.
Exactly what WPHwManagerEx does for the "WPPopulate" method.
==Download==
* [http://hobbes.nmsu.edu/h-search.php?sh=1&button=Search&key=hwman10.wpi Version 10.0 Download]
* [https://github.com/OS2World/UTIL-WPS-HWMan Source code at Github]


==Build Source Code==
==Build Source Code==
Line 23: Line 20:


==Author==
==Author==
[[Lars Erdmann]]
*[[Lars Erdmann]]


==Articles==
==Articles==
* [[Manual Installation of HWMan Class]]
* [[Manual Installation of HWMan Class]]
==Links==
* [http://hobbes.nmsu.edu/h-search.php?sh=1&button=Search&key=hwman10.wpi Version 10.0 Download]
* [https://github.com/OS2World/UTIL-WPS-HWMan Source code at Github]


[[Category:Open Source Software]]
[[Category:Open Source Software]]

Revision as of 15:59, 17 March 2018

HWMAN is a WPS class replacement for HWManager (the OS/2 Hardware Manager).

Overview

This is an update to the OS/2 "Hardware-Manager" that does 2 things:

  1. It removes "WPDevice" nodes from the HW manager device tree if the corresponding RMNode does not exist any more. This finally fixes the problem that if you remove USB devices they would never be removed from the HWManager device tree. This is not limited to USB devices. Any non existing RM node will lead to removal of the corresponding WPDevice.
  2. A changed icon for any "bus devices" to show the WPBusDev icon (that's the "3 squares icon" coloured in yellow, red and blue). For example, a "bus device" would be an AGP bus connected to the PCI bus via a bridge (the AGP "bus device" is an addition that Veit Kannegieser had added to PCIBUS.SNP if it finds an AGP bus).

Function

WPHwManagerEx class depends on WPHwManager, it is not a 100% replacement of the original class, that's why it is so small. It changes the behaviour of WPHwManager while letting WPHwManager do all the rest it has been doing already.

It still replaces WPHwManager in the way that WPHwManagerEx is invoked before WPHwManager is. Per default WPHwManagerEx will just delegate the call to WPHwManager. With the little exception for when it overrides any WPHwManager methods. In that case, WPHwManagerEx is invoked first.

Then it can decide what it wants to do: completely replace a method, do something and then call the WPHwManager method or call the WPHwManager method and then do something. The latter is normally done to setup some desired default "state" and then do a modification. Exactly what WPHwManagerEx does for the "WPPopulate" method.

Build Source Code

See enclosed sources.zip. You will need the OS/2 DDK as well as the OS/2 toolkit. It uses VAC to create the DLL. If you want to use Watcom you might need to modify the calling conventions etc.

Author

Articles

Links