PolicyManager: Disallow copy and assign on Variable objects.

Per style guide, we don't allow copy constructors on objects that
don't need to be copied.

BUG=None
TEST=Build and unittest.

Change-Id: Ib6efcc8ad9860394239d84216f730a4896cf78f9
Reviewed-on: https://chromium-review.googlesource.com/191077
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
diff --git a/policy_manager/fake_variable.h b/policy_manager/fake_variable.h
index 36c3848..b1de9d2 100644
--- a/policy_manager/fake_variable.h
+++ b/policy_manager/fake_variable.h
@@ -53,6 +53,8 @@
  private:
   // The pointer returned by GetValue().
   scoped_ptr<const T> ptr_;
+
+  DISALLOW_COPY_AND_ASSIGN(FakeVariable);
 };
 
 }  // namespace chromeos_policy_manager
diff --git a/policy_manager/variable.h b/policy_manager/variable.h
index 7111a99..8966a9a 100644
--- a/policy_manager/variable.h
+++ b/policy_manager/variable.h
@@ -135,6 +135,8 @@
 
   // The list of value changes observers.
   std::list<BaseVariable::ObserverInterface*> observer_list_;
+
+  DISALLOW_COPY_AND_ASSIGN(BaseVariable);
 };
 
 // Interface to a Policy Manager variable of a given type. Implementation
@@ -177,6 +179,9 @@
   // The caller can pass a NULL value for |errmsg|, in which case the error
   // message won't be set.
   virtual const T* GetValue(base::TimeDelta timeout, std::string* errmsg) = 0;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(Variable);
 };
 
 }  // namespace chromeos_policy_manager