sbScreenSaverSuppressor.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 :miv */
3 /*
4  *=BEGIN SONGBIRD GPL
5  *
6  * This file is part of the Songbird web player.
7  *
8  * Copyright(c) 2005-2010 POTI, Inc.
9  * http://www.songbirdnest.com
10  *
11  * This file may be licensed under the terms of of the
12  * GNU General Public License Version 2 (the ``GPL'').
13  *
14  * Software distributed under the License is distributed
15  * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
16  * express or implied. See the GPL for the specific language
17  * governing rights and limitations.
18  *
19  * You should have received a copy of the GPL along with this
20  * program. If not, go to http://www.gnu.org/licenses/gpl.html
21  * or write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23  *
24  *=END SONGBIRD GPL
25  */
26 
27 #ifndef _SB_SCREEN_SAVER_SUPPRESSOR_H_
28 #define _SB_SCREEN_SAVER_SUPPRESSOR_H_
29 
30 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 //
33 // Screen saver suppressor service defs.
34 //
35 //------------------------------------------------------------------------------
36 //------------------------------------------------------------------------------
37 
43 //------------------------------------------------------------------------------
44 //
45 // Screen saver suppressor imported services.
46 //
47 //------------------------------------------------------------------------------
48 
49 // Local imports.
50 #include "../sbBaseScreenSaverSuppressor.h"
51 
52 // Mozilla imports.
53 #include <nsITimer.h>
54 
55 // D-Bus imports.
56 #include <dbus/dbus.h>
57 
58 
59 //------------------------------------------------------------------------------
60 //
61 // Screen saver suppressor service classes.
62 //
63 //------------------------------------------------------------------------------
64 
70 {
71  //----------------------------------------------------------------------------
72  //
73  // Public interface.
74  //
75  //----------------------------------------------------------------------------
76 
77 public:
78 
79  //
80  // Interface implementations.
81  //
82 
83  NS_DECL_ISUPPORTS_INHERITED
84 
85 
86  //
87  // sbBaseScreenSaverSuppressor implemenation.
88  //
89 
90  virtual nsresult OnSuppress(PRBool aSuppress);
91 
92 
93  //
94  // Public services.
95  //
96 
101 
105  virtual ~sbScreenSaverSuppressor();
106 
107 
108  //----------------------------------------------------------------------------
109  //
110  // Private interface.
111  //
112  //----------------------------------------------------------------------------
113 
114 private:
115 
116  //
117  // mSuppressed If true, screen saver has been suppressed.
118  // mInhibitCookie Cookie returned from inhibiting screen saver.
119  //
120 
121  PRBool mSuppressed;
122  dbus_uint32_t mInhibitCookie;
123 
124 
125  //
126  // Private services.
127  //
128 
132  using sbBaseScreenSaverSuppressor::Suppress;
133  nsresult Suppress();
134 
138  nsresult Unsuppress();
139 };
140 
141 #endif // _SB_SCREEN_SAVER_SUPPRESSOR_H_
142 
virtual NS_DECL_ISUPPORTS_INHERITED nsresult OnSuppress(PRBool aSuppress)