OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/chromeos/policy/device_status_collector.h" | 5 #include "chrome/browser/chromeos/policy/device_status_collector.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/location.h" | 11 #include "base/location.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/prefs/pref_registry_simple.h" | 14 #include "base/prefs/pref_registry_simple.h" |
15 #include "base/prefs/pref_service.h" | 15 #include "base/prefs/pref_service.h" |
16 #include "base/prefs/scoped_user_pref_update.h" | 16 #include "base/prefs/scoped_user_pref_update.h" |
17 #include "base/strings/string_number_conversions.h" | 17 #include "base/strings/string_number_conversions.h" |
18 #include "base/values.h" | 18 #include "base/values.h" |
19 #include "chrome/browser/browser_process.h" | 19 #include "chrome/browser/browser_process.h" |
20 #include "chrome/browser/chromeos/login/users/user_manager.h" | |
21 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 20 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
22 #include "chrome/browser/chromeos/settings/cros_settings.h" | 21 #include "chrome/browser/chromeos/settings/cros_settings.h" |
23 #include "chrome/common/chrome_version_info.h" | 22 #include "chrome/common/chrome_version_info.h" |
24 #include "chrome/common/pref_names.h" | 23 #include "chrome/common/pref_names.h" |
25 #include "chromeos/network/device_state.h" | 24 #include "chromeos/network/device_state.h" |
26 #include "chromeos/network/network_handler.h" | 25 #include "chromeos/network/network_handler.h" |
27 #include "chromeos/network/network_state_handler.h" | 26 #include "chromeos/network/network_state_handler.h" |
28 #include "chromeos/settings/cros_settings_names.h" | 27 #include "chromeos/settings/cros_settings_names.h" |
29 #include "chromeos/system/statistics_provider.h" | 28 #include "chromeos/system/statistics_provider.h" |
30 #include "components/policy/core/common/cloud/cloud_policy_constants.h" | 29 #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
| 30 #include "components/user_manager/user_manager.h" |
31 #include "components/user_manager/user_type.h" | 31 #include "components/user_manager/user_type.h" |
32 #include "content/public/browser/browser_thread.h" | 32 #include "content/public/browser/browser_thread.h" |
33 #include "policy/proto/device_management_backend.pb.h" | 33 #include "policy/proto/device_management_backend.pb.h" |
34 #include "third_party/cros_system_api/dbus/service_constants.h" | 34 #include "third_party/cros_system_api/dbus/service_constants.h" |
35 | 35 |
36 using base::Time; | 36 using base::Time; |
37 using base::TimeDelta; | 37 using base::TimeDelta; |
38 using chromeos::VersionLoader; | 38 using chromeos::VersionLoader; |
39 | 39 |
40 namespace em = enterprise_management; | 40 namespace em = enterprise_management; |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 interface->set_meid((*device)->meid()); | 421 interface->set_meid((*device)->meid()); |
422 if (!(*device)->imei().empty()) | 422 if (!(*device)->imei().empty()) |
423 interface->set_imei((*device)->imei()); | 423 interface->set_imei((*device)->imei()); |
424 } | 424 } |
425 } | 425 } |
426 | 426 |
427 void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) { | 427 void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) { |
428 policy::BrowserPolicyConnectorChromeOS* connector = | 428 policy::BrowserPolicyConnectorChromeOS* connector = |
429 g_browser_process->platform_part()->browser_policy_connector_chromeos(); | 429 g_browser_process->platform_part()->browser_policy_connector_chromeos(); |
430 const user_manager::UserList& users = | 430 const user_manager::UserList& users = |
431 chromeos::UserManager::Get()->GetUsers(); | 431 user_manager::UserManager::Get()->GetUsers(); |
432 user_manager::UserList::const_iterator user; | 432 user_manager::UserList::const_iterator user; |
433 for (user = users.begin(); user != users.end(); ++user) { | 433 for (user = users.begin(); user != users.end(); ++user) { |
434 // Only regular users are reported. | 434 // Only regular users are reported. |
435 if ((*user)->GetType() != user_manager::USER_TYPE_REGULAR) | 435 if ((*user)->GetType() != user_manager::USER_TYPE_REGULAR) |
436 continue; | 436 continue; |
437 | 437 |
438 em::DeviceUser* device_user = request->add_user(); | 438 em::DeviceUser* device_user = request->add_user(); |
439 const std::string& email = (*user)->email(); | 439 const std::string& email = (*user)->email(); |
440 if (connector->GetUserAffiliation(email) == USER_AFFILIATION_MANAGED) { | 440 if (connector->GetUserAffiliation(email) == USER_AFFILIATION_MANAGED) { |
441 device_user->set_type(em::DeviceUser::USER_TYPE_MANAGED); | 441 device_user->set_type(em::DeviceUser::USER_TYPE_MANAGED); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 location.SetDouble(kSpeed, position.speed); | 549 location.SetDouble(kSpeed, position.speed); |
550 location.SetString(kTimestamp, | 550 location.SetString(kTimestamp, |
551 base::Int64ToString(position.timestamp.ToInternalValue())); | 551 base::Int64ToString(position.timestamp.ToInternalValue())); |
552 local_state_->Set(prefs::kDeviceLocation, location); | 552 local_state_->Set(prefs::kDeviceLocation, location); |
553 } | 553 } |
554 | 554 |
555 ScheduleGeolocationUpdateRequest(); | 555 ScheduleGeolocationUpdateRequest(); |
556 } | 556 } |
557 | 557 |
558 } // namespace policy | 558 } // namespace policy |
OLD | NEW |