AU/PM: Some refactoring
* Introduced a Provider base class, used for defining interface and
shared logic (e.g. initialization semantics).
* Eliminated the Finalize() method in providers; release of resources is
done in destructors (safer, less boilerplate).
* Revised CamelCase capitalization: PMFooTest -> PmFooTest, plus various
cosmetics.
BUG=None
TEST=Builds and passes unit tests.
Change-Id: Ib959dfd2522e00928d735202b1448c9436cbb00b
Reviewed-on: https://chromium-review.googlesource.com/184352
Tested-by: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
diff --git a/policy_manager/random_provider.h b/policy_manager/random_provider.h
index 7c7bae9..a610786 100644
--- a/policy_manager/random_provider.h
+++ b/policy_manager/random_provider.h
@@ -5,21 +5,18 @@
#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_PM_RANDOM_PROVIDER_H
#define CHROMEOS_PLATFORM_UPDATE_ENGINE_PM_RANDOM_PROVIDER_H
-#include "base/basictypes.h"
+#include "policy_manager/provider.h"
namespace chromeos_policy_manager {
// Provider of random values.
-class RandomProvider {
+class RandomProvider : public Provider {
public:
RandomProvider() {}
+ virtual ~RandomProvider();
- // Initialize the provider variables and internal state. Returns whether it
- // succeeded.
- bool Init();
-
- // Destroy all the provider variables in a best-effor approach.
- void Finalize();
+ protected:
+ virtual bool DoInit();
private:
DISALLOW_COPY_AND_ASSIGN(RandomProvider);