summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/file_version_info.h2
-rw-r--r--base/file_version_info_linux.cc85
2 files changed, 79 insertions, 8 deletions
diff --git a/base/file_version_info.h b/base/file_version_info.h
index 653aaf3..f31f38f 100644
--- a/base/file_version_info.h
+++ b/base/file_version_info.h
@@ -83,6 +83,8 @@ class FileVersionInfo {
explicit FileVersionInfo(NSBundle *bundle);
NSBundle *bundle_;
+#elif defined(OS_LINUX)
+ FileVersionInfo();
#endif
DISALLOW_EVIL_CONSTRUCTORS(FileVersionInfo);
diff --git a/base/file_version_info_linux.cc b/base/file_version_info_linux.cc
index ef5d8da..4944591 100644
--- a/base/file_version_info_linux.cc
+++ b/base/file_version_info_linux.cc
@@ -8,33 +8,102 @@
#include "base/logging.h"
-// TODO(port): Replace stubs with real implementations.
+// TODO(port): Replace stubs with real implementations. We need a non-NULL
+// FileVersionInfo object that reads info about the current binary. This is
+// relatively easy to do under Windows, as there's some win32 API functions
+// that return that information and Microsoft encourages developers to fill out
+// that standard information block.
+//
+// We can't return NULL because that is used as a catastrophic error code where
+// the file doesn't exist or can't be opened.
+
+FileVersionInfo::FileVersionInfo() {}
FileVersionInfo::~FileVersionInfo() {}
// static
FileVersionInfo* FileVersionInfo::CreateFileVersionInfoForCurrentModule() {
- NOTIMPLEMENTED();
- return NULL;
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return new FileVersionInfo();
+}
+
+std::wstring FileVersionInfo::company_name() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::company_short_name() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::product_name() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::product_short_name() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::internal_name() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
}
std::wstring FileVersionInfo::product_version() {
// When un-stubbing, implementation in file_version_info.cc should be ok.
- NOTIMPLEMENTED();
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"0.1.2.3.4.5.6-lie";
+}
+
+std::wstring FileVersionInfo::private_build() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::special_build() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::comments() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::original_filename() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"";
+}
+
+std::wstring FileVersionInfo::file_description() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
return L"";
}
std::wstring FileVersionInfo::file_version() {
- NOTIMPLEMENTED();
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"0.1.2.3.4.5.6-lie";
+}
+
+std::wstring FileVersionInfo::legal_copyright() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
return L"";
}
-std::wstring FileVersionInfo::last_change() {
- NOTIMPLEMENTED();
+std::wstring FileVersionInfo::legal_trademarks() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
return L"";
}
+std::wstring FileVersionInfo::last_change() {
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
+ return L"Last Thursday";
+}
+
bool FileVersionInfo::is_official_build() {
- NOTIMPLEMENTED();
+ NOTIMPLEMENTED() << "The current FileVersionInfo is a lie.";
return false;
}