summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Bates <sascha.bates@gmail.com>2012-06-03 14:59:17 -0500
committerBryan McLellan <btm@opscode.com>2012-08-03 13:23:55 -0700
commit288d74ac50148b5cdc6604a8cb744fe69abf7c8a (patch)
treedd94fd9992707cf6e459ea5bd764ade27586deac
parenteb470aa6e4f1d171e1b66c11fa9173c718bc7ba4 (diff)
downloadohai-288d74ac50148b5cdc6604a8cb744fe69abf7c8a.tar.gz
separating windows kernel plugin functionality
-rw-r--r--10
-rw-r--r--lib/ohai/plugins/kernel.rb1
-rw-r--r--lib/ohai/plugins/windows/kernel.rb19
-rw-r--r--lib/ohai/plugins/windows/kernel_devices39
-rw-r--r--lib/ohai/plugins/windows/kernel_devices.rb39
5 files changed, 79 insertions, 19 deletions
diff --git a/1 b/1
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/1
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