| Index: chrome/browser/policy/policy_builder.h
|
| diff --git a/chrome/browser/policy/policy_builder.h b/chrome/browser/policy/policy_builder.h
|
| deleted file mode 100644
|
| index 165a03b8b80df40281be0a4820f663cd1c6c342b..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/policy_builder.h
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CHROME_BROWSER_POLICY_POLICY_BUILDER_H_
|
| -#define CHROME_BROWSER_POLICY_POLICY_BUILDER_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "chrome/browser/policy/proto/cloud_policy.pb.h"
|
| -#include "chrome/browser/policy/proto/device_management_local.pb.h"
|
| -#include "crypto/rsa_private_key.h"
|
| -
|
| -namespace enterprise_management {
|
| -class ChromeDeviceSettingsProto;
|
| -class ExternalPolicyData;
|
| -} // namespace enterprise_management
|
| -
|
| -namespace policy {
|
| -
|
| -// A helper class for testing that provides a straightforward interface for
|
| -// constructing policy blobs for use in testing. NB: This uses fake data and
|
| -// hard-coded signing keys by default, so should not be used in production code.
|
| -class PolicyBuilder {
|
| - public:
|
| - // Constants used as dummy data for filling the PolicyData protobuf.
|
| - static const char kFakeDeviceId[];
|
| - static const char kFakeDomain[];
|
| - static const char kFakeMachineName[];
|
| - static const char kFakePolicyType[];
|
| - static const int kFakePublicKeyVersion;
|
| - static const int64 kFakeTimestamp;
|
| - static const char kFakeToken[];
|
| - static const char kFakeUsername[];
|
| -
|
| - // Creates a policy builder. The builder will have all PolicyData fields
|
| - // initialized to dummy values and use the test signing keys.
|
| - PolicyBuilder();
|
| - virtual ~PolicyBuilder();
|
| -
|
| - // Use this member to access the PolicyData protobuf.
|
| - enterprise_management::PolicyData& policy_data() {
|
| - if (!policy_data_.get())
|
| - policy_data_.reset(new enterprise_management::PolicyData());
|
| - return *policy_data_;
|
| - }
|
| - void clear_policy_data() {
|
| - policy_data_.reset();
|
| - }
|
| -
|
| - enterprise_management::PolicyFetchResponse& policy() {
|
| - return policy_;
|
| - }
|
| -
|
| - crypto::RSAPrivateKey* signing_key() {
|
| - return signing_key_.get();
|
| - }
|
| - void set_signing_key(scoped_ptr<crypto::RSAPrivateKey> signing_key) {
|
| - signing_key_ = signing_key.Pass();
|
| - }
|
| -
|
| - crypto::RSAPrivateKey* new_signing_key() {
|
| - return new_signing_key_.get();
|
| - }
|
| - void set_new_signing_key(scoped_ptr<crypto::RSAPrivateKey> new_signing_key) {
|
| - new_signing_key_ = new_signing_key.Pass();
|
| - }
|
| -
|
| - // Assembles the policy components. The resulting policy protobuf is available
|
| - // through policy() after this call.
|
| - virtual void Build();
|
| -
|
| - // Returns a copy of policy().
|
| - scoped_ptr<enterprise_management::PolicyFetchResponse> GetCopy();
|
| -
|
| - // Returns a binary policy blob, i.e. an encoded PolicyFetchResponse.
|
| - std::string GetBlob();
|
| -
|
| - // These return hard-coded testing keys. Don't use in production!
|
| - static scoped_ptr<crypto::RSAPrivateKey> CreateTestSigningKey();
|
| - static scoped_ptr<crypto::RSAPrivateKey> CreateTestNewSigningKey();
|
| -
|
| - private:
|
| - // Produces |key|'s signature over |data| and stores it in |signature|.
|
| - void SignData(const std::string& data,
|
| - crypto::RSAPrivateKey* key,
|
| - std::string* signature);
|
| -
|
| - enterprise_management::PolicyFetchResponse policy_;
|
| - scoped_ptr<enterprise_management::PolicyData> policy_data_;
|
| - std::string payload_data_;
|
| -
|
| - scoped_ptr<crypto::RSAPrivateKey> signing_key_;
|
| - scoped_ptr<crypto::RSAPrivateKey> new_signing_key_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PolicyBuilder);
|
| -};
|
| -
|
| -// Type-parameterized PolicyBuilder extension that allows for building policy
|
| -// blobs carrying protobuf payloads.
|
| -template<typename PayloadProto>
|
| -class TypedPolicyBuilder : public PolicyBuilder {
|
| - public:
|
| - TypedPolicyBuilder();
|
| - virtual ~TypedPolicyBuilder();
|
| -
|
| - // Returns a reference to the payload protobuf being built.
|
| - PayloadProto& payload() {
|
| - if (!payload_.get())
|
| - payload_.reset(new PayloadProto());
|
| - return *payload_;
|
| - }
|
| - void clear_payload() {
|
| - payload_.reset();
|
| - }
|
| -
|
| - // PolicyBuilder:
|
| - virtual void Build() OVERRIDE;
|
| -
|
| - private:
|
| - scoped_ptr<PayloadProto> payload_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TypedPolicyBuilder);
|
| -};
|
| -
|
| -typedef TypedPolicyBuilder<enterprise_management::CloudPolicySettings>
|
| - UserPolicyBuilder;
|
| -typedef TypedPolicyBuilder<enterprise_management::ChromeDeviceSettingsProto>
|
| - DevicePolicyBuilder;
|
| -typedef TypedPolicyBuilder<enterprise_management::ExternalPolicyData>
|
| - ComponentPolicyBuilder;
|
| -
|
| -} // namespace policy
|
| -
|
| -#endif // CHROME_BROWSER_POLICY_POLICY_BUILDER_H_
|
|
|