| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // WMI (Windows Management and Instrumentation) is a big, complex, COM-based | 5 // WMI (Windows Management and Instrumentation) is a big, complex, COM-based |
| 6 // API that can be used to perform all sorts of things. Sometimes is the best | 6 // API that can be used to perform all sorts of things. Sometimes is the best |
| 7 // way to accomplish something under windows but its lack of an approachable | 7 // way to accomplish something under windows but its lack of an approachable |
| 8 // C++ interface prevents its use. This collection of fucntions is a step in | 8 // C++ interface prevents its use. This collection of fucntions is a step in |
| 9 // that direction. | 9 // that direction. |
| 10 // There are two classes; WMIUtil and WMIProcessUtil. The first | 10 // There are two classes; WMIUtil and WMIProcessUtil. The first |
| 11 // one contain generic helpers and the second one contains the only | 11 // one contain generic helpers and the second one contains the only |
| 12 // functionality that is needed right now which is to use WMI to launch a | 12 // functionality that is needed right now which is to use WMI to launch a |
| 13 // process. | 13 // process. |
| 14 // To use any function on this header you must call CoInitialize or | 14 // To use any function on this header you must call CoInitialize or |
| 15 // CoInitializeEx beforehand. | 15 // CoInitializeEx beforehand. |
| 16 // | 16 // |
| 17 // For more information about WMI programming: | 17 // For more information about WMI programming: |
| 18 // http://msdn2.microsoft.com/en-us/library/aa384642(VS.85).aspx | 18 // http://msdn2.microsoft.com/en-us/library/aa384642(VS.85).aspx |
| 19 | 19 |
| 20 #ifndef CHROME_INSTALLER_UTIL_WMI_H_ | 20 #ifndef CHROME_INSTALLER_UTIL_WMI_H_ |
| 21 #define CHROME_INSTALLER_UTIL_WMI_H_ | 21 #define CHROME_INSTALLER_UTIL_WMI_H_ |
| 22 | 22 |
| 23 #include "base/string16.h" | |
| 24 #include <string> | 23 #include <string> |
| 25 #include <wbemidl.h> | 24 #include <wbemidl.h> |
| 25 #include "base/strings/string16.h" |
| 26 | 26 |
| 27 namespace installer { | 27 namespace installer { |
| 28 | 28 |
| 29 class WMI { | 29 class WMI { |
| 30 public: | 30 public: |
| 31 // Creates an instance of the WMI service connected to the local computer and | 31 // Creates an instance of the WMI service connected to the local computer and |
| 32 // returns its COM interface. If 'set-blanket' is set to true, the basic COM | 32 // returns its COM interface. If 'set-blanket' is set to true, the basic COM |
| 33 // security blanket is applied to the returned interface. This is almost | 33 // security blanket is applied to the returned interface. This is almost |
| 34 // always desirable unless you set the parameter to false and apply a custom | 34 // always desirable unless you set the parameter to false and apply a custom |
| 35 // COM security blanket. | 35 // COM security blanket. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 // more info: http://msdn.microsoft.com/en-us/library/aa394102(VS.85).aspx | 77 // more info: http://msdn.microsoft.com/en-us/library/aa394102(VS.85).aspx |
| 78 class WMIComputerSystem { | 78 class WMIComputerSystem { |
| 79 public: | 79 public: |
| 80 // Returns a human readable string for the model/make of this computer. | 80 // Returns a human readable string for the model/make of this computer. |
| 81 static string16 GetModel(); | 81 static string16 GetModel(); |
| 82 }; | 82 }; |
| 83 | 83 |
| 84 } // namespace installer | 84 } // namespace installer |
| 85 | 85 |
| 86 #endif // CHROME_INSTALLER_UTIL_WMI_H_ | 86 #endif // CHROME_INSTALLER_UTIL_WMI_H_ |
| OLD | NEW |