add return code
[enigma2.git] / lib / base / filepush.h
1 #ifndef __lib_base_filepush_h
2 #define __lib_base_filepush_h
3
4 #include <lib/base/thread.h>
5 #include <sys/types.h>
6
7 class eFilePushThread: public eThread
8 {
9 public:
10         eFilePushThread();
11         void thread();
12         void stop();
13         void start(int sourcefd, int destfd);
14         
15         void pause();
16         void seek(int whence, off_t where);
17         void resume();
18         
19                 /* flushes the internal readbuffer */ 
20         void flush();
21         
22 private:
23         int m_stop;
24         unsigned char m_buffer[65536];
25         int m_buf_start, m_buf_end;
26         int m_fd_source, m_fd_dest;
27 };
28
29 #endif