Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2684)

Unified Diff: chrome/browser/policy/cloud/device_management_service.cc

Issue 25112004: Move statistics_provider to chromeos/system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, fix DeviceManagement Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/cloud/device_management_service.cc
diff --git a/chrome/browser/policy/cloud/device_management_service.cc b/chrome/browser/policy/cloud/device_management_service.cc
index d003c57c253a64257e1b4aef238c7d13ebbc1957..7b957d07328f5fcd7cdb35c8472656d54a9c0690 100644
--- a/chrome/browser/policy/cloud/device_management_service.cc
+++ b/chrome/browser/policy/cloud/device_management_service.cc
@@ -10,6 +10,9 @@
#include "base/compiler_specific.h"
#include "base/message_loop/message_loop.h"
#include "base/message_loop/message_loop_proxy.h"
+#include "base/strings/stringprintf.h"
+#include "base/sys_info.h"
+#include "chromeos/system/statistics_provider.h"
#include "net/base/escape.h"
#include "net/base/load_flags.h"
#include "net/base/net_errors.h"
@@ -26,6 +29,10 @@
#include "net/url_request/url_request_status.h"
#include "url/gurl.h"
+#if defined(OS_CHROMEOS)
+#include "chromeos/system/statistics_provider.h"
Joao da Silva 2013/10/02 10:06:26 Unfortunately this is a no-go. We are moving this
stevenjb 2013/10/02 16:59:49 Components *can* rely on /src/chromeos. I'll look
stevenjb 2013/10/03 01:17:23 https://codereview.chromium.org/25690003 is defini
+#endif
+
namespace em = enterprise_management;
namespace policy {
@@ -214,6 +221,38 @@ DeviceManagementRequestContextGetter::GetNetworkTaskRunner() const {
return base_context_getter_->GetNetworkTaskRunner();
}
+std::string GetPlatformParameter() {
+ std::string os_name = base::SysInfo::OperatingSystemName();
+ std::string os_hardware = base::SysInfo::OperatingSystemArchitecture();
+
+#if defined(OS_CHROMEOS)
+ std::string hwclass;
+ if (!chromeos::system::StatisticsProvider::GetInstance()
+ ->GetMachineStatistic(chromeos::system::kHardwareClassKey, &hwclass)) {
+ LOG(ERROR) << "Failed to get machine information";
+ }
+ os_name += ",CrOS," + base::SysInfo::GetLsbReleaseBoard();
+ os_hardware += "," + hwclass;
+#endif
+
+ std::string os_version("-");
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+ int32 os_major_version = 0;
+ int32 os_minor_version = 0;
+ int32 os_bugfix_version = 0;
+ base::SysInfo::OperatingSystemVersionNumbers(&os_major_version,
+ &os_minor_version,
+ &os_bugfix_version);
+ os_version = base::StringPrintf("%d.%d.%d",
+ os_major_version,
+ os_minor_version,
+ os_bugfix_version);
+#endif
+
+ return base::StringPrintf(
+ "%s|%s|%s", os_name.c_str(), os_hardware.c_str(), os_version.c_str());
+}
+
} // namespace
// Request job implementation used with DeviceManagementService.
@@ -484,6 +523,8 @@ DeviceManagementService::~DeviceManagementService() {
DeviceManagementRequestJob* DeviceManagementService::CreateJob(
DeviceManagementRequestJob::JobType type) {
+ if (platform_parameter_.empty())
+ platform_parameter_ = GetPlatformParameter();
return new DeviceManagementRequestJobImpl(
type, agent_parameter_, platform_parameter_, this);
}
@@ -526,13 +567,11 @@ DeviceManagementService::DeviceManagementService(
scoped_refptr<net::URLRequestContextGetter> request_context,
const std::string& server_url,
const std::string& user_agent,
- const std::string& agent_parameter,
- const std::string& platform_parameter)
+ const std::string& agent_parameter)
: request_context_(request_context),
server_url_(server_url),
user_agent_(user_agent),
agent_parameter_(agent_parameter),
- platform_parameter_(platform_parameter),
initialized_(false),
weak_ptr_factory_(this) {
}

Powered by Google App Engine
This is Rietveld 408576698