diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 18:35:42 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 18:35:42 +0000 |
commit | 4f260d0c40e2b63d2af72d667ca5b0518c2dff84 (patch) | |
tree | 2c976dd8b8dc5c217646627205e61728e8891b03 /base | |
parent | b3ae5db129f88dae153880e84bdabea8ce2ca89b (diff) | |
download | chromium_src-4f260d0c40e2b63d2af72d667ca5b0518c2dff84.zip chromium_src-4f260d0c40e2b63d2af72d667ca5b0518c2dff84.tar.gz chromium_src-4f260d0c40e2b63d2af72d667ca5b0518c2dff84.tar.bz2 |
Update file version info/memory details/process utils to use string16.
BUG=23581
TEST=everything still works
Review URL: http://codereview.chromium.org/5968008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70071 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/file_version_info.h | 52 | ||||
-rw-r--r-- | base/file_version_info_mac.h | 38 | ||||
-rw-r--r-- | base/file_version_info_mac.mm | 64 | ||||
-rw-r--r-- | base/file_version_info_win.cc | 37 | ||||
-rw-r--r-- | base/file_version_info_win.h | 34 | ||||
-rw-r--r-- | base/process_util.cc | 12 | ||||
-rw-r--r-- | base/process_util.h | 14 | ||||
-rw-r--r-- | base/process_util_linux.cc | 3 | ||||
-rw-r--r-- | base/process_util_mac.mm | 2 | ||||
-rw-r--r-- | base/process_util_posix.cc | 4 |
10 files changed, 123 insertions, 137 deletions
diff --git a/base/file_version_info.h b/base/file_version_info.h index 41a97fa..481e88d 100644 --- a/base/file_version_info.h +++ b/base/file_version_info.h @@ -6,15 +6,23 @@ #define BASE_FILE_VERSION_INFO_H__ #pragma once +#include "build/build_config.h" + #include <string> -#include "build/build_config.h" +#include "base/string16.h" class FilePath; -// Provides an interface for accessing the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. +// Provides an interface for accessing the version information for a file. This +// is the information you access when you select a file in the Windows Explorer, +// right-click select Properties, then click the Version tab, and on the Mac +// when you select a file in the Finder and do a Get Info. +// +// This list of properties is straight out of Win32's VerQueryValue +// <http://msdn.microsoft.com/en-us/library/ms647464.aspx> and the Mac +// version returns values from the Info.plist as appropriate. TODO(avi): make +// this a less-obvious Windows-ism. class FileVersionInfo { public: @@ -26,33 +34,27 @@ class FileVersionInfo { static FileVersionInfo* CreateFileVersionInfo(const FilePath& file_path); #endif // OS_WIN || OS_MACOSX -#if defined(OS_WIN) - // This version, taking a wstring, is deprecated and only kept around - // until we can fix all callers. - static FileVersionInfo* CreateFileVersionInfo(const std::wstring& file_path); -#endif // OS_WIN - // Creates a FileVersionInfo for the current module. Returns NULL in case // of error. The returned object should be deleted when you are done with it. static FileVersionInfo* CreateFileVersionInfoForCurrentModule(); // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name() = 0; - virtual std::wstring company_short_name() = 0; - virtual std::wstring product_name() = 0; - virtual std::wstring product_short_name() = 0; - virtual std::wstring internal_name() = 0; - virtual std::wstring product_version() = 0; - virtual std::wstring private_build() = 0; - virtual std::wstring special_build() = 0; - virtual std::wstring comments() = 0; - virtual std::wstring original_filename() = 0; - virtual std::wstring file_description() = 0; - virtual std::wstring file_version() = 0; - virtual std::wstring legal_copyright() = 0; - virtual std::wstring legal_trademarks() = 0; - virtual std::wstring last_change() = 0; + virtual string16 company_name() = 0; + virtual string16 company_short_name() = 0; + virtual string16 product_name() = 0; + virtual string16 product_short_name() = 0; + virtual string16 internal_name() = 0; + virtual string16 product_version() = 0; + virtual string16 private_build() = 0; + virtual string16 special_build() = 0; + virtual string16 comments() = 0; + virtual string16 original_filename() = 0; + virtual string16 file_description() = 0; + virtual string16 file_version() = 0; + virtual string16 legal_copyright() = 0; + virtual string16 legal_trademarks() = 0; + virtual string16 last_change() = 0; virtual bool is_official_build() = 0; }; diff --git a/base/file_version_info_mac.h b/base/file_version_info_mac.h index 36cb538..879edb3 100644 --- a/base/file_version_info_mac.h +++ b/base/file_version_info_mac.h @@ -17,39 +17,35 @@ class NSBundle; #endif -// Provides a way to access the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. - class FileVersionInfoMac : public FileVersionInfo { public: explicit FileVersionInfoMac(NSBundle *bundle); // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name(); - virtual std::wstring company_short_name(); - virtual std::wstring product_name(); - virtual std::wstring product_short_name(); - virtual std::wstring internal_name(); - virtual std::wstring product_version(); - virtual std::wstring private_build(); - virtual std::wstring special_build(); - virtual std::wstring comments(); - virtual std::wstring original_filename(); - virtual std::wstring file_description(); - virtual std::wstring file_version(); - virtual std::wstring legal_copyright(); - virtual std::wstring legal_trademarks(); - virtual std::wstring last_change(); + virtual string16 company_name(); + virtual string16 company_short_name(); + virtual string16 product_name(); + virtual string16 product_short_name(); + virtual string16 internal_name(); + virtual string16 product_version(); + virtual string16 private_build(); + virtual string16 special_build(); + virtual string16 comments(); + virtual string16 original_filename(); + virtual string16 file_description(); + virtual string16 file_version(); + virtual string16 legal_copyright(); + virtual string16 legal_trademarks(); + virtual string16 last_change(); virtual bool is_official_build(); private: - // Returns a wstring value for a property name. + // Returns a string16 value for a property name. // Returns the empty string if the property does not exist. - std::wstring GetWStringValue(CFStringRef name); + string16 GetString16Value(CFStringRef name); scoped_nsobject<NSBundle> bundle_; diff --git a/base/file_version_info_mac.mm b/base/file_version_info_mac.mm index 6c6dd22..fa97df8 100644 --- a/base/file_version_info_mac.mm +++ b/base/file_version_info_mac.mm @@ -27,64 +27,64 @@ FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( return new FileVersionInfoMac(bundle); } -std::wstring FileVersionInfoMac::company_name() { - return std::wstring(); +string16 FileVersionInfoMac::company_name() { + return string16(); } -std::wstring FileVersionInfoMac::company_short_name() { - return std::wstring(); +string16 FileVersionInfoMac::company_short_name() { + return string16(); } -std::wstring FileVersionInfoMac::internal_name() { - return std::wstring(); +string16 FileVersionInfoMac::internal_name() { + return string16(); } -std::wstring FileVersionInfoMac::product_name() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::product_name() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::product_short_name() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::product_short_name() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::comments() { - return std::wstring(); +string16 FileVersionInfoMac::comments() { + return string16(); } -std::wstring FileVersionInfoMac::legal_copyright() { - return GetWStringValue(CFSTR("CFBundleGetInfoString")); +string16 FileVersionInfoMac::legal_copyright() { + return GetString16Value(CFSTR("CFBundleGetInfoString")); } -std::wstring FileVersionInfoMac::product_version() { - return GetWStringValue(CFSTR("CFBundleShortVersionString")); +string16 FileVersionInfoMac::product_version() { + return GetString16Value(CFSTR("CFBundleShortVersionString")); } -std::wstring FileVersionInfoMac::file_description() { - return std::wstring(); +string16 FileVersionInfoMac::file_description() { + return string16(); } -std::wstring FileVersionInfoMac::legal_trademarks() { - return std::wstring(); +string16 FileVersionInfoMac::legal_trademarks() { + return string16(); } -std::wstring FileVersionInfoMac::private_build() { - return std::wstring(); +string16 FileVersionInfoMac::private_build() { + return string16(); } -std::wstring FileVersionInfoMac::file_version() { +string16 FileVersionInfoMac::file_version() { return product_version(); } -std::wstring FileVersionInfoMac::original_filename() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::original_filename() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::special_build() { - return std::wstring(); +string16 FileVersionInfoMac::special_build() { + return string16(); } -std::wstring FileVersionInfoMac::last_change() { - return GetWStringValue(CFSTR("SVNRevision")); +string16 FileVersionInfoMac::last_change() { + return GetString16Value(CFSTR("SVNRevision")); } bool FileVersionInfoMac::is_official_build() { @@ -95,13 +95,13 @@ bool FileVersionInfoMac::is_official_build() { #endif } -std::wstring FileVersionInfoMac::GetWStringValue(CFStringRef name) { +string16 FileVersionInfoMac::GetString16Value(CFStringRef name) { if (bundle_) { NSString *ns_name = mac_util::CFToNSCast(name); NSString* value = [bundle_ objectForInfoDictionaryKey:ns_name]; if (value) { - return base::SysNSStringToWide(value); + return base::SysNSStringToUTF16(value); } } - return std::wstring(); + return string16(); } diff --git a/base/file_version_info_win.cc b/base/file_version_info_win.cc index 6c69708..e2bc84b 100644 --- a/base/file_version_info_win.cc +++ b/base/file_version_info_win.cc @@ -77,70 +77,63 @@ FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( } } -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( - const std::wstring& file_path) { - FilePath file_path_fp = FilePath::FromWStringHack(file_path); - return CreateFileVersionInfo(file_path_fp); -} - -std::wstring FileVersionInfoWin::company_name() { +string16 FileVersionInfoWin::company_name() { return GetStringValue(L"CompanyName"); } -std::wstring FileVersionInfoWin::company_short_name() { +string16 FileVersionInfoWin::company_short_name() { return GetStringValue(L"CompanyShortName"); } -std::wstring FileVersionInfoWin::internal_name() { +string16 FileVersionInfoWin::internal_name() { return GetStringValue(L"InternalName"); } -std::wstring FileVersionInfoWin::product_name() { +string16 FileVersionInfoWin::product_name() { return GetStringValue(L"ProductName"); } -std::wstring FileVersionInfoWin::product_short_name() { +string16 FileVersionInfoWin::product_short_name() { return GetStringValue(L"ProductShortName"); } -std::wstring FileVersionInfoWin::comments() { +string16 FileVersionInfoWin::comments() { return GetStringValue(L"Comments"); } -std::wstring FileVersionInfoWin::legal_copyright() { +string16 FileVersionInfoWin::legal_copyright() { return GetStringValue(L"LegalCopyright"); } -std::wstring FileVersionInfoWin::product_version() { +string16 FileVersionInfoWin::product_version() { return GetStringValue(L"ProductVersion"); } -std::wstring FileVersionInfoWin::file_description() { +string16 FileVersionInfoWin::file_description() { return GetStringValue(L"FileDescription"); } -std::wstring FileVersionInfoWin::legal_trademarks() { +string16 FileVersionInfoWin::legal_trademarks() { return GetStringValue(L"LegalTrademarks"); } -std::wstring FileVersionInfoWin::private_build() { +string16 FileVersionInfoWin::private_build() { return GetStringValue(L"PrivateBuild"); } -std::wstring FileVersionInfoWin::file_version() { +string16 FileVersionInfoWin::file_version() { return GetStringValue(L"FileVersion"); } -std::wstring FileVersionInfoWin::original_filename() { +string16 FileVersionInfoWin::original_filename() { return GetStringValue(L"OriginalFilename"); } -std::wstring FileVersionInfoWin::special_build() { +string16 FileVersionInfoWin::special_build() { return GetStringValue(L"SpecialBuild"); } -std::wstring FileVersionInfoWin::last_change() { +string16 FileVersionInfoWin::last_change() { return GetStringValue(L"LastChange"); } diff --git a/base/file_version_info_win.h b/base/file_version_info_win.h index 3d60d69..4a49314 100644 --- a/base/file_version_info_win.h +++ b/base/file_version_info_win.h @@ -15,10 +15,6 @@ struct tagVS_FIXEDFILEINFO; typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; -// Provides a way to access the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. - class FileVersionInfoWin : public FileVersionInfo { public: FileVersionInfoWin(void* data, int language, int code_page); @@ -26,21 +22,21 @@ class FileVersionInfoWin : public FileVersionInfo { // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name(); - virtual std::wstring company_short_name(); - virtual std::wstring product_name(); - virtual std::wstring product_short_name(); - virtual std::wstring internal_name(); - virtual std::wstring product_version(); - virtual std::wstring private_build(); - virtual std::wstring special_build(); - virtual std::wstring comments(); - virtual std::wstring original_filename(); - virtual std::wstring file_description(); - virtual std::wstring file_version(); - virtual std::wstring legal_copyright(); - virtual std::wstring legal_trademarks(); - virtual std::wstring last_change(); + virtual string16 company_name(); + virtual string16 company_short_name(); + virtual string16 product_name(); + virtual string16 product_short_name(); + virtual string16 internal_name(); + virtual string16 product_version(); + virtual string16 private_build(); + virtual string16 special_build(); + virtual string16 comments(); + virtual string16 original_filename(); + virtual string16 file_description(); + virtual string16 file_version(); + virtual string16 legal_copyright(); + virtual string16 legal_trademarks(); + virtual string16 last_change(); virtual bool is_official_build(); // Lets you access other properties not covered above. diff --git a/base/process_util.cc b/base/process_util.cc index 6293740..7b2935d 100644 --- a/base/process_util.cc +++ b/base/process_util.cc @@ -11,7 +11,7 @@ ProcessEntry::ProcessEntry() {} ProcessEntry::~ProcessEntry() {} #endif -int GetProcessCount(const std::wstring& executable_name, +int GetProcessCount(const FilePath::StringType& executable_name, const ProcessFilter* filter) { int count = 0; NamedProcessIterator iter(executable_name, filter); @@ -20,7 +20,7 @@ int GetProcessCount(const std::wstring& executable_name, return count; } -bool KillProcesses(const std::wstring& executable_name, int exit_code, +bool KillProcesses(const FilePath::StringType& executable_name, int exit_code, const ProcessFilter* filter) { bool result = true; NamedProcessIterator iter(executable_name, filter); @@ -56,10 +56,10 @@ ProcessIterator::ProcessEntries ProcessIterator::Snapshot() { return found; } -NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name, - const ProcessFilter* filter) - : ProcessIterator(filter), - executable_name_(executable_name) { +NamedProcessIterator::NamedProcessIterator( + const FilePath::StringType& executable_name, + const ProcessFilter* filter) : ProcessIterator(filter), + executable_name_(executable_name) { } NamedProcessIterator::~NamedProcessIterator() { diff --git a/base/process_util.h b/base/process_util.h index ccbb687..ce4b0bb 100644 --- a/base/process_util.h +++ b/base/process_util.h @@ -34,10 +34,10 @@ typedef struct _malloc_zone_t malloc_zone_t; #include <vector> #include "base/file_descriptor_shuffle.h" +#include "base/file_path.h" #include "base/process.h" class CommandLine; -class FilePath; namespace base { @@ -322,7 +322,7 @@ class ProcessFilter { // Returns the number of processes on the machine that are running from the // given executable name. If filter is non-null, then only processes selected // by the filter will be counted. -int GetProcessCount(const std::wstring& executable_name, +int GetProcessCount(const FilePath::StringType& executable_name, const ProcessFilter* filter); // Attempts to kill all the processes on the current machine that were launched @@ -330,7 +330,7 @@ int GetProcessCount(const std::wstring& executable_name, // filter is non-null, then only processes selected by the filter are killed. // Returns true if all processes were able to be killed off, false if at least // one couldn't be killed. -bool KillProcesses(const std::wstring& executable_name, int exit_code, +bool KillProcesses(const FilePath::StringType& executable_name, int exit_code, const ProcessFilter* filter); // Attempts to kill the process identified by the given process @@ -377,7 +377,7 @@ bool WaitForExitCodeWithTimeout(ProcessHandle handle, int* exit_code, // is non-null, then only processes selected by the filter are waited on. // Returns after all processes have exited or wait_milliseconds have expired. // Returns true if all the processes exited, false otherwise. -bool WaitForProcessesToExit(const std::wstring& executable_name, +bool WaitForProcessesToExit(const FilePath::StringType& executable_name, int64 wait_milliseconds, const ProcessFilter* filter); @@ -396,7 +396,7 @@ bool CrashAwareSleep(ProcessHandle handle, int64 wait_milliseconds); // on. Killed processes are ended with the given exit code. Returns false if // any processes needed to be killed, true if they all exited cleanly within // the wait_milliseconds delay. -bool CleanupProcesses(const std::wstring& executable_name, +bool CleanupProcesses(const FilePath::StringType& executable_name, int64 wait_milliseconds, int exit_code, const ProcessFilter* filter); @@ -457,7 +457,7 @@ class ProcessIterator { // until it returns false. class NamedProcessIterator : public ProcessIterator { public: - NamedProcessIterator(const std::wstring& executable_name, + NamedProcessIterator(const FilePath::StringType& executable_name, const ProcessFilter* filter); virtual ~NamedProcessIterator(); @@ -465,7 +465,7 @@ class NamedProcessIterator : public ProcessIterator { virtual bool IncludeEntry(); private: - std::wstring executable_name_; + FilePath::StringType executable_name_; DISALLOW_COPY_AND_ASSIGN(NamedProcessIterator); }; diff --git a/base/process_util_linux.cc b/base/process_util_linux.cc index ff5e9316..670de6a 100644 --- a/base/process_util_linux.cc +++ b/base/process_util_linux.cc @@ -220,8 +220,7 @@ bool ProcessIterator::CheckForNextProcess() { } bool NamedProcessIterator::IncludeEntry() { - // TODO(port): make this also work for non-ASCII filenames - if (WideToASCII(executable_name_) != entry().exe_file()) + if (executable_name_ != entry().exe_file()) return false; return ProcessIterator::IncludeEntry(); } diff --git a/base/process_util_mac.mm b/base/process_util_mac.mm index d210670..aa0f14d 100644 --- a/base/process_util_mac.mm +++ b/base/process_util_mac.mm @@ -169,7 +169,7 @@ bool ProcessIterator::CheckForNextProcess() { } bool NamedProcessIterator::IncludeEntry() { - return (SysWideToUTF8(executable_name_) == entry().exe_file() && + return (executable_name_ == entry().exe_file() && ProcessIterator::IncludeEntry()); } diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc index 3d29674..cd2eedd 100644 --- a/base/process_util_posix.cc +++ b/base/process_util_posix.cc @@ -877,7 +877,7 @@ bool GetAppOutputRestricted(const CommandLine& cl, return GetAppOutputInternal(cl, &empty_environ, output, max_output, false); } -bool WaitForProcessesToExit(const std::wstring& executable_name, +bool WaitForProcessesToExit(const FilePath::StringType& executable_name, int64 wait_milliseconds, const ProcessFilter* filter) { bool result = false; @@ -899,7 +899,7 @@ bool WaitForProcessesToExit(const std::wstring& executable_name, return result; } -bool CleanupProcesses(const std::wstring& executable_name, +bool CleanupProcesses(const FilePath::StringType& executable_name, int64 wait_milliseconds, int exit_code, const ProcessFilter* filter) { |