00001 00017 #define FILEREADER_H 1 00018 00019 #ifndef _GLIBCXX_VECTOR 00020 #include <vector> 00021 #endif 00022 00023 #ifndef _GLIBCXX_STRING 00024 #include <string> 00025 #endif 00026 00027 #ifndef COMM_H 00028 #include "Comm.h" 00029 #endif 00030 00031 #ifndef BOOST_SHARED_PTR_HPP_INCLUDED 00032 #include <boost/shared_ptr.hpp> 00033 #endif 00034 00035 using namespace boost; 00036 using namespace std; 00037 00038 //forward declarations: 00039 class MessageController; 00040 00045 class FileReader:public Comm { 00046 00047 string filename; 00048 00049 pthread_t filereadthread; 00050 bool filereadthread_run; 00051 00052 MessageController* msgcontroller; 00053 00054 public: 00060 FileReader( string nfilename , MessageController* ptr ); 00061 ~FileReader(); 00062 00068 bool sendMessage( shared_ptr< vector< shared_ptr< string > > > messagebody ); 00072 friend void *readFile( void *ptr ); 00076 friend void *flexRead( void *ptr ); 00080 friend bool send( char* ); 00081 };