LCOV - code coverage report
Current view: top level - widget/gtk - nsIdleServiceGTK.h (source / functions) Hit Total Coverage
Test: output.info Lines: 5 5 100.0 %
Date: 2017-07-14 16:53:18 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /* vim:expandtab:shiftwidth=4:tabstop=4:
       3             :  */
       4             : /* This Source Code Form is subject to the terms of the Mozilla Public
       5             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       6             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       7             : 
       8             : #ifndef nsIdleServiceGTK_h__
       9             : #define nsIdleServiceGTK_h__
      10             : 
      11             : #include "nsIdleService.h"
      12             : #include <X11/Xlib.h>
      13             : #include <X11/Xutil.h>
      14             : #include <gdk/gdkx.h>
      15             : 
      16             : typedef struct {
      17             :     Window window;              // Screen saver window
      18             :     int state;                  // ScreenSaver(Off,On,Disabled)
      19             :     int kind;                   // ScreenSaver(Blanked,Internal,External)
      20             :     unsigned long til_or_since; // milliseconds since/til screensaver kicks in
      21             :     unsigned long idle;         // milliseconds idle
      22             :     unsigned long event_mask;   // event stuff
      23             : } XScreenSaverInfo;
      24             : 
      25             : class nsIdleServiceGTK : public nsIdleService
      26             : {
      27             : public:
      28             :     NS_DECL_ISUPPORTS_INHERITED
      29             : 
      30             :     virtual bool PollIdleTime(uint32_t* aIdleTime) override;
      31             : 
      32           1 :     static already_AddRefed<nsIdleServiceGTK> GetInstance()
      33             :     {
      34             :         RefPtr<nsIdleServiceGTK> idleService =
      35           2 :             nsIdleService::GetInstance().downcast<nsIdleServiceGTK>();
      36           1 :         if (!idleService) {
      37           1 :             idleService = new nsIdleServiceGTK();
      38             :         }
      39             : 
      40           2 :         return idleService.forget();
      41             :     }
      42             : 
      43             : private:
      44             :     ~nsIdleServiceGTK();
      45             :     XScreenSaverInfo* mXssInfo;
      46             : 
      47             : protected:
      48             :     nsIdleServiceGTK();
      49             :     virtual bool UsePollMode() override;
      50             : };
      51             : 
      52             : #endif // nsIdleServiceGTK_h__

Generated by: LCOV version 1.13