summaryrefslogtreecommitdiff
path: root/pagelib/tools.cpp
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.cpp
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.cpp')
-rw-r--r--pagelib/tools.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/pagelib/tools.cpp b/pagelib/tools.cpp
new file mode 100644
index 0000000..aeaba36
--- /dev/null
+++ b/pagelib/tools.cpp
@@ -0,0 +1,29 @@
+#include <sstream>
+#include <stdexcept>
+#include "live.h"
+#include "setup.h"
+#include "tools.h"
+
+namespace vdrlive {
+
+using namespace std;
+
+string FormatDateTime( char const* format, time_t time )
+{
+ struct tm tm_r;
+ if ( localtime_r( &time, &tm_r ) == 0 ) {
+ ostringstream builder;
+ builder << "cannot represent timestamp " << time << " as local time";
+ throw runtime_error( builder.str() );
+ }
+
+ char result[ 256 ];
+ if ( strftime( result, sizeof( result ), format, &tm_r ) == 0 ) {
+ ostringstream builder;
+ builder << "representation of timestamp " << time << " exceeds " << sizeof( result ) << " bytes";
+ throw runtime_error( builder.str() );
+ }
+ return result;
+}
+
+}