summaryrefslogtreecommitdiffstats
path: root/src/lib/barrier/IScreenSaver.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-04-25 18:07:30 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-04-25 18:07:30 -0400
commit9b1b081cfdb1c0fb6457278775e0823f8bc10f62 (patch)
treece8840148d8445055ba9e4f12263b2208f234c16 /src/lib/barrier/IScreenSaver.h
Import Upstream version 2.0.0+dfsgupstream/2.0.0+dfsg
Diffstat (limited to 'src/lib/barrier/IScreenSaver.h')
-rw-r--r--src/lib/barrier/IScreenSaver.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/lib/barrier/IScreenSaver.h b/src/lib/barrier/IScreenSaver.h
new file mode 100644
index 0000000..fc21ac5
--- /dev/null
+++ b/src/lib/barrier/IScreenSaver.h
@@ -0,0 +1,75 @@
+/*
+ * barrier -- mouse and keyboard sharing utility
+ * Copyright (C) 2012-2016 Symless Ltd.
+ * Copyright (C) 2002 Chris Schoeneman
+ *
+ * This package is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * found in the file LICENSE that should have accompanied this file.
+ *
+ * This package is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "base/Event.h"
+#include "common/IInterface.h"
+
+//! Screen saver interface
+/*!
+This interface defines the methods common to all screen savers.
+*/
+class IScreenSaver : public IInterface {
+public:
+ // note -- the c'tor/d'tor must *not* enable/disable the screen saver
+
+ //! @name manipulators
+ //@{
+
+ //! Enable screen saver
+ /*!
+ Enable the screen saver, restoring the screen saver settings to
+ what they were when disable() was previously called. If disable()
+ wasn't previously called then it should keep the current settings
+ or use reasonable defaults.
+ */
+ virtual void enable() = 0;
+
+ //! Disable screen saver
+ /*!
+ Disable the screen saver, saving the old settings for the next
+ call to enable().
+ */
+ virtual void disable() = 0;
+
+ //! Activate screen saver
+ /*!
+ Activate (i.e. show) the screen saver.
+ */
+ virtual void activate() = 0;
+
+ //! Deactivate screen saver
+ /*!
+ Deactivate (i.e. hide) the screen saver, reseting the screen saver
+ timer.
+ */
+ virtual void deactivate() = 0;
+
+ //@}
+ //! @name accessors
+ //@{
+
+ //! Test if screen saver on
+ /*!
+ Returns true iff the screen saver is currently active (showing).
+ */
+ virtual bool isActive() const = 0;
+
+ //@}
+};