summaryrefslogtreecommitdiff
path: root/pagelib/tools.h
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-04 15:02:00 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-04 15:02:00 +0000
commit64eaee28c243214e654c60b06a27212e8dcb5c02 (patch)
tree21b264c07166720513b65638feeb8fc3344530ec /pagelib/tools.h
parent4bfb50c7a53074fa7e4673ffdd16502c1bf72fcb (diff)
downloadvdr-plugin-live-64eaee28c243214e654c60b06a27212e8dcb5c02.tar.gz
vdr-plugin-live-64eaee28c243214e654c60b06a27212e8dcb5c02.tar.bz2
- optimized interface to access plugin objects from website
- moved website code to pagelib subdirectory - introduced TimerManager that will help working on timers from a background thread
Diffstat (limited to 'pagelib/tools.h')
-rw-r--r--pagelib/tools.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/pagelib/tools.h b/pagelib/tools.h
new file mode 100644
index 0000000..f9eb33a
--- /dev/null
+++ b/pagelib/tools.h
@@ -0,0 +1,30 @@
+#ifndef VDR_LIVE_TOOLS_H
+#define VDR_LIVE_TOOLS_H
+
+#include <ctime>
+#include <string>
+#include <vdr/thread.h>
+
+namespace vdrlive {
+
+std::string FormatDateTime( char const* format, time_t time );
+
+class ReadLock
+{
+public:
+ ReadLock( cRwLock& lock, int timeout = 100 ): m_lock( lock ), m_locked( false ) { if ( m_lock.Lock( false, timeout ) ) m_locked = true; }
+ ~ReadLock() { if ( m_locked ) m_lock.Unlock(); }
+
+ operator bool() { return m_locked; }
+ bool operator!() { return !m_locked; }
+
+private:
+ ReadLock( ReadLock const& );
+
+ cRwLock& m_lock;
+ bool m_locked;
+};
+
+} // namespace vdrlive
+
+#endif // VDR_LIVE_TOOLS_H