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