projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
const fix; header guard.
[dcpomatic.git]
/
src
/
lib
/
cross.h
diff --git
a/src/lib/cross.h
b/src/lib/cross.h
index 822b36631d604343a94c5b5a03f48b75d8aa31cf..fee68cedc6f05bf220d11b7b1307f43ed16e9b48 100644
(file)
--- a/
src/lib/cross.h
+++ b/
src/lib/cross.h
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012
-2015
Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-17,6
+17,16
@@
*/
*/
+/** @file src/lib/cross.h
+ * @brief Cross-platform compatibility code.
+ */
+
+#ifndef DCPOMATIC_CROSS_H
+#define DCPOMATIC_CROSS_H
+
+#ifdef DCPOMATIC_OSX
+#include <IOKit/pwr_mgt/IOPMLib.h>
+#endif
#include <boost/filesystem.hpp>
#ifdef DCPOMATIC_WINDOWS
#include <boost/filesystem.hpp>
#ifdef DCPOMATIC_WINDOWS
@@
-33,6
+43,28
@@
extern boost::filesystem::path openssl_path ();
#ifdef DCPOMATIC_OSX
extern boost::filesystem::path app_contents ();
#endif
#ifdef DCPOMATIC_OSX
extern boost::filesystem::path app_contents ();
#endif
+extern boost::filesystem::path shared_path ();
extern FILE * fopen_boost (boost::filesystem::path, std::string);
extern int dcpomatic_fseek (FILE *, int64_t, int);
extern FILE * fopen_boost (boost::filesystem::path, std::string);
extern int dcpomatic_fseek (FILE *, int64_t, int);
-void kick ();
+
+/** @class Waker
+ * @brief A class which tries to keep the computer awake on various operating systems.
+ *
+ * Create a Waker to prevent sleep, and call ::nudge every so often (every minute or so).
+ * Destroy the Waker to allow sleep again.
+ */
+class Waker
+{
+public:
+ Waker ();
+ ~Waker ();
+
+ void nudge ();
+
+private:
+#ifdef DCPOMATIC_OSX
+ IOPMAssertionID _assertion_id;
+#endif
+};
+
+#endif