1/* 2 * Copyright 2003-2014 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * J��r��me Duval, jerome.duval@free.fr 7 * Michael Phipps 8 * John Scipione, jscipione@gmail.com 9 * Puck Meerburg, puck@puckipedia.nl 10 */ 11#ifndef SCREEN_SAVER_APP_H 12#define SCREEN_SAVER_APP_H 13 14 15#include "PasswordWindow.h" 16#include "ScreenSaverSettings.h" 17#include "ScreenSaverRunner.h" 18#include "ScreenSaverWindow.h" 19 20#include <Application.h> 21#include <MessageRunner.h> 22 23 24const static uint32 kMsgResumeSaver = 'RSSV'; 25 26 27class ScreenBlanker : public BApplication { 28public: 29 ScreenBlanker(); 30 ~ScreenBlanker(); 31 32 virtual void ReadyToRun(); 33 34 virtual bool QuitRequested(); 35 virtual void MessageReceived(BMessage* message); 36 37 bool IsPasswordWindowShown() const; 38 39private: 40 bool _LoadAddOn(); 41 void _ShowPasswordWindow(); 42 void _QueueResumeScreenSaver(); 43 void _TurnOnScreen(); 44 void _SetDPMSMode(uint32 mode); 45 void _QueueTurnOffScreen(); 46 void _Shutdown(); 47 48 ScreenSaverSettings fSettings; 49 ScreenSaverWindow* fWindow; 50 ScreenSaverRunner* fSaverRunner; 51 PasswordWindow* fPasswordWindow; 52 53 bigtime_t fBlankTime; 54 bool fTestSaver; 55 BMessageRunner* fResumeRunner; 56 57 BMessageRunner* fStandByScreenRunner; 58 BMessageRunner* fSuspendScreenRunner; 59 BMessageRunner* fTurnOffScreenRunner; 60}; 61 62#endif // SCREEN_SAVER_APP_H 63