diff options
author | Sascha Bates <sascha.bates@gmail.com> | 2012-06-03 14:59:17 -0500 |
---|---|---|
committer | Bryan McLellan <btm@opscode.com> | 2012-08-03 13:23:55 -0700 |
commit | 288d74ac50148b5cdc6604a8cb744fe69abf7c8a (patch) | |
tree | dd94fd9992707cf6e459ea5bd764ade27586deac | |
parent | eb470aa6e4f1d171e1b66c11fa9173c718bc7ba4 (diff) | |
download | ohai-288d74ac50148b5cdc6604a8cb744fe69abf7c8a.tar.gz |
separating windows kernel plugin functionality
-rw-r--r-- | 1 | 0 | ||||
-rw-r--r-- | lib/ohai/plugins/kernel.rb | 1 | ||||
-rw-r--r-- | lib/ohai/plugins/windows/kernel.rb | 19 | ||||
-rw-r--r-- | lib/ohai/plugins/windows/kernel_devices | 39 | ||||
-rw-r--r-- | lib/ohai/plugins/windows/kernel_devices.rb | 39 |
5 files changed, 79 insertions, 19 deletions
diff --git a/lib/ohai/plugins/kernel.rb b/lib/ohai/plugins/kernel.rb index eaa1716c..d50b3876 100644 --- a/lib/ohai/plugins/kernel.rb +++ b/lib/ohai/plugins/kernel.rb @@ -24,6 +24,7 @@ kernel Mash.new case languages[:ruby][:host_os] when /mswin|mingw32|windows/ require_plugin "windows::kernel" + require_plugin "windows::kernel_devices" else kernel[:name] = from("uname -s") kernel[:release] = from("uname -r") diff --git a/lib/ohai/plugins/windows/kernel.rb b/lib/ohai/plugins/windows/kernel.rb index df6b9201..ad45f4b2 100644 --- a/lib/ohai/plugins/windows/kernel.rb +++ b/lib/ohai/plugins/windows/kernel.rb @@ -56,22 +56,3 @@ host.properties_.each do |p| end kernel[:machine] = machine_lookup("#{kernel[:cs_info][:system_type]}") - -kext = Mash.new -pnp_drivers = Mash.new - -drivers = WMI::Win32_PnPSignedDriver.find(:all) -drivers.each do |driver| - pnp_drivers[driver.DeviceID] = Mash.new - driver.properties_.each do |p| - pnp_drivers[driver.DeviceID][p.name.wmi_underscore.to_sym] = driver.send(p.name) - end - if driver.DeviceName - kext[driver.DeviceName] = pnp_drivers[driver.DeviceID] - kext[driver.DeviceName][:version] = pnp_drivers[driver.DeviceID][:driver_version] - kext[driver.DeviceName][:date] = pnp_drivers[driver.DeviceID][:driver_date] ? pnp_drivers[driver.DeviceID][:driver_date].to_s[0..7] : nil - end -end - -kernel[:pnp_drivers] = pnp_drivers -kernel[:modules] = kext diff --git a/lib/ohai/plugins/windows/kernel_devices b/lib/ohai/plugins/windows/kernel_devices new file mode 100644 index 00000000..69da6c39 --- /dev/null +++ b/lib/ohai/plugins/windows/kernel_devices @@ -0,0 +1,39 @@ +# +# Author:: James Gartrell (<jgartrel@gmail.com>) +# Copyright:: Copyright (c) 2009 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +require 'ruby-wmi' + +WIN32OLE.codepage = WIN32OLE::CP_UTF8 + +kext = Mash.new +pnp_drivers = Mash.new + +drivers = WMI::Win32_PnPSignedDriver.find(:all) +drivers.each do |driver| + pnp_drivers[driver.DeviceID] = Mash.new + driver.properties_.each do |p| + pnp_drivers[driver.DeviceID][p.name.wmi_underscore.to_sym] = driver.send(p.name) + end + if driver.DeviceName + kext[driver.DeviceName] = pnp_drivers[driver.DeviceID] + kext[driver.DeviceName][:version] = pnp_drivers[driver.DeviceID][:driver_version] + kext[driver.DeviceName][:date] = pnp_drivers[driver.DeviceID][:driver_date] ? pnp_drivers[driver.DeviceID][:driver_date].to_s[0..7] : nil + end +end + +kernel[:pnp_drivers] = pnp_drivers +kernel[:modules] = kext diff --git a/lib/ohai/plugins/windows/kernel_devices.rb b/lib/ohai/plugins/windows/kernel_devices.rb new file mode 100644 index 00000000..69da6c39 --- /dev/null +++ b/lib/ohai/plugins/windows/kernel_devices.rb @@ -0,0 +1,39 @@ +# +# Author:: James Gartrell (<jgartrel@gmail.com>) +# Copyright:: Copyright (c) 2009 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +require 'ruby-wmi' + +WIN32OLE.codepage = WIN32OLE::CP_UTF8 + +kext = Mash.new +pnp_drivers = Mash.new + +drivers = WMI::Win32_PnPSignedDriver.find(:all) +drivers.each do |driver| + pnp_drivers[driver.DeviceID] = Mash.new + driver.properties_.each do |p| + pnp_drivers[driver.DeviceID][p.name.wmi_underscore.to_sym] = driver.send(p.name) + end + if driver.DeviceName + kext[driver.DeviceName] = pnp_drivers[driver.DeviceID] + kext[driver.DeviceName][:version] = pnp_drivers[driver.DeviceID][:driver_version] + kext[driver.DeviceName][:date] = pnp_drivers[driver.DeviceID][:driver_date] ? pnp_drivers[driver.DeviceID][:driver_date].to_s[0..7] : nil + end +end + +kernel[:pnp_drivers] = pnp_drivers +kernel[:modules] = kext |