Home | History | Annotate | Download | only in idle
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_EXTENSIONS_API_IDLE_IDLE_API_H_
      6 #define CHROME_BROWSER_EXTENSIONS_API_IDLE_IDLE_API_H_
      7 
      8 #include "chrome/browser/extensions/extension_function.h"
      9 #include "chrome/browser/idle.h"
     10 
     11 namespace extensions {
     12 
     13 // Implementation of the chrome.idle.queryState API.
     14 class IdleQueryStateFunction : public AsyncExtensionFunction {
     15  public:
     16   DECLARE_EXTENSION_FUNCTION("idle.queryState", IDLE_QUERYSTATE)
     17 
     18  protected:
     19   virtual ~IdleQueryStateFunction() {}
     20 
     21   // ExtensionFunction:
     22   virtual bool RunImpl() OVERRIDE;
     23 
     24  private:
     25   void IdleStateCallback(IdleState state);
     26 };
     27 
     28 // Implementation of the chrome.idle.setDetectionInterval API.
     29 class IdleSetDetectionIntervalFunction : public SyncExtensionFunction {
     30  public:
     31   DECLARE_EXTENSION_FUNCTION("idle.setDetectionInterval",
     32                              IDLE_SETDETECTIONINTERVAL)
     33 
     34  protected:
     35   virtual ~IdleSetDetectionIntervalFunction() {}
     36 
     37   // ExtensionFunction:
     38   virtual bool RunImpl() OVERRIDE;
     39 };
     40 
     41 }  // namespace extensions
     42 
     43 #endif  // CHROME_BROWSER_EXTENSIONS_API_IDLE_IDLE_API_H_
     44