Index: chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h |
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bc35cab20c156e8828e2f1f7d94923ae4a018768 |
--- /dev/null |
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h |
@@ -0,0 +1,60 @@ |
+// 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_CHROMEOS_KIOSK_MODE_KIOSK_MODE_HELPER_H_ |
+#define CHROME_BROWSER_CHROMEOS_KIOSK_MODE_KIOSK_MODE_HELPER_H_ |
+#pragma once |
+ |
+#include <string> |
+ |
+#include "base/basictypes.h" |
+#include "base/callback_forward.h" |
+ |
+namespace base { |
+template <typename T> struct DefaultLazyInstanceTraits; |
+} |
+ |
+// This class centralizes all our code to get KioskMode settings; since |
+// KioskMode interferes with normal operations all over Chrome, having all |
+// data about it pulled from a central location would make future |
+// refactorings easier. This class also handles getting trust for the policies |
+// via it's init method. |
+// |
+// Note: If Initialize is not called before the various Getters, we'll return |
+// invalid values. |
+// |
+// TODO(rkc): Once the enterprise policy side of this code is checked in, add |
+// code to pull from the enterprise policy instead of flags and constants. |
+namespace chromeos { |
+ |
+class KioskModeHelper { |
+ public: |
+ static KioskModeHelper* Get(); |
+ |
+ // This method checks if Kiosk Mode is enabled or not. |
+ // This method does not need the helper to be initialized. |
+ bool IsKioskModeEnabled() const; |
+ |
+ // Initialize the settings helper; this will wait till trust is established |
+ // for the enterprise policies then call the callback to notify the caller. |
+ void Initialize(const base::Closure& notify_initialized); |
+ bool is_initialized() const { return is_initialized_; } |
+ |
+ // Getters for various Kiosk Mode values. |
+ std::string GetScreensaverPath() const; |
+ int64 GetScreensaverTimeout() const; |
+ |
+ private: |
+ friend struct base::DefaultLazyInstanceTraits<KioskModeHelper>; |
+ KioskModeHelper(); |
+ |
+ bool is_initialized_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(KioskModeHelper); |
+}; |
+ |
+ |
+} // namespace chromeos |
+ |
+#endif // CHROME_BROWSER_CHROMEOS_KIOSK_MODE_KIOSK_MODE_HELPER_H_ |