• Main Page
  • Classes
  • Files
  • File List

COSXScreenSaver.h

00001 /*
00002  * synergy -- mouse and keyboard sharing utility
00003  * Copyright (C) 2012 Bolton Software Ltd.
00004  * Copyright (C) 2002 Chris Schoeneman
00005  * 
00006  * This package is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * found in the file COPYING that should have accompanied this file.
00009  * 
00010  * This package is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017  */
00018 
00019 #ifndef COSXSCREENSAVER_H
00020 #define COSXSCREENSAVER_H
00021 
00022 #include "IScreenSaver.h"
00023 #include <Carbon/Carbon.h>
00024 
00026 class COSXScreenSaver : public IScreenSaver {
00027 public:
00028     COSXScreenSaver(void* eventTarget);
00029     virtual ~COSXScreenSaver();
00030 
00031     // IScreenSaver overrides
00032     virtual void        enable();
00033     virtual void        disable();
00034     virtual void        activate();
00035     virtual void        deactivate();
00036     virtual bool        isActive() const;
00037     
00038 private:
00039     void                processLaunched(ProcessSerialNumber psn);
00040     void                processTerminated(ProcessSerialNumber psn);
00041     
00042     static pascal OSStatus
00043                         launchTerminationCallback(
00044                             EventHandlerCallRef nextHandler,
00045                             EventRef theEvent, void* userData);
00046 
00047 private:
00048     // the target for the events we generate
00049     void*               m_eventTarget;
00050 
00051     bool                m_enabled;
00052     void*               m_screenSaverController;
00053     void*               m_autoReleasePool;
00054     EventHandlerRef     m_launchTerminationEventHandlerRef;
00055     ProcessSerialNumber m_screenSaverPSN;
00056 };
00057 
00058 #endif

Generated on Sun May 19 2013 00:00:05 for Synergy by  doxygen 1.7.1