diff options
author | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-21 17:03:46 +0000 |
---|---|---|
committer | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-21 17:03:46 +0000 |
commit | 6de1cb891be237c0afe5de4d626d851a008818ee (patch) | |
tree | f67d7bc4417debd65f17f6255f828f1ad7e2f07c /chrome/browser/chromeos/camera_detector.h | |
parent | b66c249904d288c365a14b7e7f6eacfe16e8712f (diff) | |
download | chromium_src-6de1cb891be237c0afe5de4d626d851a008818ee.zip chromium_src-6de1cb891be237c0afe5de4d626d851a008818ee.tar.gz chromium_src-6de1cb891be237c0afe5de4d626d851a008818ee.tar.bz2 |
[cros] In-Chrome camera presence check for avatar picker.
BUG=157387
TBR=sky
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=168824
Review URL: https://chromiumcodereview.appspot.com/11416097
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169067 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/camera_detector.h')
-rw-r--r-- | chrome/browser/chromeos/camera_detector.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/camera_detector.h b/chrome/browser/chromeos/camera_detector.h new file mode 100644 index 0000000..6c1955b --- /dev/null +++ b/chrome/browser/chromeos/camera_detector.h @@ -0,0 +1,46 @@ +// Copyright (c) 2011 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_CAMERA_DETECTOR_H_ +#define CHROME_BROWSER_CHROMEOS_CAMERA_DETECTOR_H_ + +#include "base/callback.h" + +namespace chromeos { + +// Class used to check for camera presence. +class CameraDetector { + public: + enum CameraPresence { + kCameraPresenceUnknown = 0, + kCameraAbsent, + kCameraPresent + }; + + // Returns result of the last presence check. If no check has been performed + // yet, returns |kCameraPresenceUnknown|. + static CameraPresence camera_presence() { + return camera_presence_; + } + + // Checks asynchronously for camera device presence. Only one + // presence check can be running at a time. Calls |check_done| + // on current thread when the check has been completed. + static void StartPresenceCheck(const base::Closure& check_done); + + private: + // Checks for camera presence. Runs on a worker pool. + static void CheckPresence(); + + // Result of the last presence check. + static CameraPresence camera_presence_; + + static bool presence_check_in_progress_; + + DISALLOW_COPY_AND_ASSIGN(CameraDetector); +}; + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_CAMERA_DETECTOR_H_ |