blob: aaafadcf619dfe0d06625b2dcbe574211773ef0c [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/settings/stub_install_attributes.h"
#include <string>
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
namespace chromeos {
StubInstallAttributes::StubInstallAttributes() : InstallAttributes(nullptr) {
device_locked_ = true;
}
void StubInstallAttributes::Clear() {
registration_mode_ = policy::DEVICE_MODE_NOT_SET;
registration_domain_.clear();
registration_realm_.clear();
registration_device_id_.clear();
}
void StubInstallAttributes::SetConsumer() {
registration_mode_ = policy::DEVICE_MODE_CONSUMER;
registration_domain_.clear();
registration_realm_.clear();
registration_device_id_.clear();
}
void StubInstallAttributes::SetEnterprise(const std::string& domain,
const std::string& device_id) {
registration_mode_ = policy::DEVICE_MODE_ENTERPRISE;
registration_domain_ = domain;
registration_realm_.clear();
registration_device_id_ = device_id;
}
// static
ScopedStubInstallAttributes ScopedStubInstallAttributes::CreateUnset() {
StubInstallAttributes* attributes = new StubInstallAttributes();
attributes->Clear();
policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
attributes);
return ScopedStubInstallAttributes();
}
// static
ScopedStubInstallAttributes ScopedStubInstallAttributes::CreateConsumer() {
StubInstallAttributes* attributes = new StubInstallAttributes();
attributes->SetConsumer();
policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
attributes);
return ScopedStubInstallAttributes();
}
// static
ScopedStubInstallAttributes ScopedStubInstallAttributes::CreateEnterprise(
const std::string& domain,
const std::string& device_id) {
StubInstallAttributes* attributes = new StubInstallAttributes();
attributes->SetEnterprise(domain, device_id);
policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
attributes);
return ScopedStubInstallAttributes();
}
ScopedStubInstallAttributes::ScopedStubInstallAttributes() {
}
ScopedStubInstallAttributes::~ScopedStubInstallAttributes() {
policy::BrowserPolicyConnectorChromeOS::RemoveInstallAttributesForTesting();
}
} // namespace chromeos