blob: 7eaa8f6589fb76b672f3a7104bf35969d37e9264 [file] [log] [blame]
Alex Deymoca0aaa62014-01-06 10:39:58 -08001// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Gilad Arnold2d2ee5f2014-02-02 20:49:12 -08005#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_RANDOM_PROVIDER_H
6#define CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_RANDOM_PROVIDER_H
Alex Deymoca0aaa62014-01-06 10:39:58 -08007
Gilad Arnoldb33e1982014-01-27 14:46:27 -08008#include "policy_manager/provider.h"
Gilad Arnold63e726a2014-01-28 22:28:19 -08009#include "policy_manager/provider_utils.h"
10#include "policy_manager/random_vars.h"
Alex Deymoca0aaa62014-01-06 10:39:58 -080011
12namespace chromeos_policy_manager {
13
14// Provider of random values.
Gilad Arnoldb33e1982014-01-27 14:46:27 -080015class RandomProvider : public Provider {
Alex Deymoca0aaa62014-01-06 10:39:58 -080016 public:
Gilad Arnold63e726a2014-01-28 22:28:19 -080017 RandomProvider() : seed_closer_(&var_random_seed) {}
Alex Deymoca0aaa62014-01-06 10:39:58 -080018
Gilad Arnoldb33e1982014-01-27 14:46:27 -080019 protected:
20 virtual bool DoInit();
Alex Deymoca0aaa62014-01-06 10:39:58 -080021
22 private:
Gilad Arnold1c9b67b2014-01-29 15:14:31 -080023 DECLARE_VAR_CLOSER(seed_closer_, var_random_seed);
Gilad Arnold63e726a2014-01-28 22:28:19 -080024
Alex Deymoca0aaa62014-01-06 10:39:58 -080025 DISALLOW_COPY_AND_ASSIGN(RandomProvider);
26};
27
28} // namespace chromeos_policy_manager
29
Gilad Arnold2d2ee5f2014-02-02 20:49:12 -080030#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_RANDOM_PROVIDER_H