Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
OSXScreenSaver.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2004 Chris Schoeneman
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
11
12#include <Carbon/Carbon.h>
13
14class IEventQueue;
15
18{
19public:
20 OSXScreenSaver(IEventQueue *events, void *eventTarget);
22
23 // IScreenSaver overrides
24 void enable() override;
25 void disable() override;
26 void activate() override;
27 void deactivate() override;
28 bool isActive() const override;
29
30private:
31 void processLaunched(ProcessSerialNumber psn);
32 void processTerminated(ProcessSerialNumber psn);
33
34 static pascal OSStatus launchTerminationCallback(EventHandlerCallRef nextHandler, EventRef theEvent, void *userData);
35
36private:
37 // the target for the events we generate
38 void *m_eventTarget;
39
40 bool m_enabled;
41 void *m_screenSaverController;
42 void *m_autoReleasePool;
43 EventHandlerRef m_launchTerminationEventHandlerRef;
44 ProcessSerialNumber m_screenSaverPSN;
45 IEventQueue *m_events;
46};
Event queue interface.
Definition IEventQueue.h:32
Screen saver interface.
Definition IScreenSaver.h:18
void enable() override
Enable screen saver.
Definition OSXScreenSaver.cpp:62
bool isActive() const override
Test if screen saver on.
Definition OSXScreenSaver.cpp:84
~OSXScreenSaver()
Definition OSXScreenSaver.cpp:55
OSXScreenSaver(IEventQueue *events, void *eventTarget)
Definition OSXScreenSaver.cpp:26
void disable() override
Disable screen saver.
Definition OSXScreenSaver.cpp:68
void deactivate() override
Deactivate screen saver.
Definition OSXScreenSaver.cpp:79
void activate() override
Activate screen saver.
Definition OSXScreenSaver.cpp:74