summaryrefslogtreecommitdiff
path: root/grab.h
diff options
context:
space:
mode:
Diffstat (limited to 'grab.h')
-rw-r--r--grab.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/grab.h b/grab.h
new file mode 100644
index 0000000..d583ef0
--- /dev/null
+++ b/grab.h
@@ -0,0 +1,39 @@
+#ifndef VDR_LIVE_GRAB_H
+#define VDR_LIVE_GRAB_H
+
+#include <boost/shared_array.hpp>
+#include "tasks.h"
+
+namespace vdrlive {
+
+typedef boost::shared_array< char > GrabImagePtr;
+typedef std::pair< GrabImagePtr, int > GrabImageInfo;
+
+class GrabImageTask;
+
+class GrabImageManager
+{
+ friend GrabImageManager& LiveGrabImageManager();
+ friend class GrabImageTask;
+
+public:
+ GrabImageInfo GetImage() const;
+
+private:
+ GrabImageManager();
+ GrabImageManager( GrabImageManager const& );
+
+ GrabImageManager& operator=( GrabImageManager const& );
+
+ void PutImage( char* image, int size );
+
+ std::auto_ptr< GrabImageTask > m_task;
+ GrabImagePtr m_image;
+ int m_size;
+};
+
+GrabImageManager& LiveGrabImageManager();
+
+} // namespace vdrlive
+
+#endif // VDR_LIVE_GRAB_H