00001 #ifndef __J2K__DataFactory_HPP__ 00002 #define __J2K__DataFactory_HPP__ 00003 00004 #include <j2k/Fred/Standard.hpp> 00005 #include <j2k/Fred/JFile.hpp> 00006 #include <j2k/Fred/Error/JErrorController.hpp> 00007 00008 #include <j2k/Posix/Basic_PThread.hpp> 00009 #include <j2k/Net/TFTP/TFTP_Option.hpp> 00010 #include <j2k/Net/TFTP/TFTP_Packet.hpp> 00011 00012 #include <j2k/Net/TFTP/DList_pPacket.hpp> 00013 00014 // Creates packets from the file. 00015 class DataFactory : public Basic_PThread 00016 { 00017 public: 00018 DataFactory(); 00019 virtual ~DataFactory() { } 00020 virtual void run(); 00021 00022 void init(); 00023 void createDataPacket(); 00024 void dummyPacket(); 00025 00026 private: 00027 TFTP_Packet* packet; 00028 00029 ULONG blocksize; 00030 char* buffer; 00031 char* data; 00032 ULONG blockNo; 00033 long sz; 00034 long totalSize; 00035 long neof; 00036 BOOL initialized; 00037 BOOL dummySended; 00038 00039 private: 00040 DataFactory( const DataFactory& ); 00041 const DataFactory& operator=( const DataFactory& ); 00042 }; 00043 00044 00045 #endif