Revert "Revert "Make the metrics library respect the policy settings instead of the consent file.""
This reverts commit aa91d046ac27a9bdc96e6cd9438741d98f1cef66
Change-Id: I1c84fb86d6eb56a5a8e88136c98104394be697b2
Reviewed-on: http://gerrit.chromium.org/gerrit/4614
Reviewed-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ken Mixter <kmixter@chromium.org>
diff --git a/metrics/metrics_library.h b/metrics/metrics_library.h
index 3f860eb..456610f 100644
--- a/metrics/metrics_library.h
+++ b/metrics/metrics_library.h
@@ -8,8 +8,11 @@
#include <sys/types.h>
#include <string>
+#include <base/scoped_ptr.h>
#include <gtest/gtest_prod.h> // for FRIEND_TEST
+#include "policy/libpolicy.h"
+
class MetricsLibraryInterface {
public:
virtual void Init() = 0;
@@ -122,6 +125,9 @@
int32_t FormatChromeMessage(int32_t buffer_size, char* buffer,
const char* format, ...);
+ // This function is used by tests only to mock the device policies.
+ void SetPolicyProvider(policy::PolicyProvider* provider);
+
// Time at which we last checked if metrics were enabled.
static time_t cached_enabled_time_;
@@ -130,6 +136,8 @@
const char* uma_events_file_;
const char* consent_file_;
+
+ scoped_ptr<policy::PolicyProvider> policy_provider_;
};
#endif // METRICS_LIBRARY_H_