00001 #ifndef __J2K__TFTP_HPP__ 00002 #define __J2K__TFTP_HPP__ 00003 00004 // All the files, we need for this project. 00005 00006 // #include <j2k/Posix/ptmalloc/ptmalloc.h> 00007 #include <j2k/Fred/Standard.hpp> 00008 00009 #include <j2k/Fred/String/Str-fn.hpp> 00010 #include <j2k/Fred/JFile.hpp> 00011 00012 #include <j2k/Fred/Error/JError.hpp> 00013 #include <j2k/Fred/Error/JErrorHandler.hpp> 00014 #include <j2k/Fred/Error/JErrorController.hpp> 00015 00016 #include <j2k/Net/TFTP/TFTP_header.hpp> 00017 #include <j2k/Net/TFTP/TFTP_Error.hpp> 00018 00019 #include <j2k/Posix/Mutex.hpp> 00020 #include <j2k/Posix/RWLock.hpp> 00021 #include <j2k/Posix/Basic_PThread.hpp> 00022 00023 #include <j2k/Net/TFTP/Timer.hpp> 00024 00025 #include <j2k/Net/UDP/UDP_Socket.hpp> 00026 #include <j2k/Net/UDP/UDP_SocketClient.hpp> 00027 #include <j2k/Net/UDP/UDP_SocketServer.hpp> 00028 #include <j2k/Net/UDP/UnixSocket.hpp> 00029 #include <j2k/Net/TFTP/TFTP_shell.cpp> 00030 00031 //Taking this out because of GetId and TimeStamp 00032 //#include <j2k/Net/TFTP/DList_pchar.hpp> 00033 //#include <j2k/Net/TFTP/DList_pPacket.hpp> 00034 00035 #include <j2k/Net/TFTP/DataFactory.hpp> 00036 #include <j2k/Net/TFTP/FileFactory.hpp> 00037 00038 #include <j2k/Net/TFTP/TFTP_Packet.hpp> 00039 #include <j2k/Net/TFTP/TFTP_Option.hpp> 00040 #include <j2k/Net/TFTP/TFTP_Parser.hpp> 00041 #include <j2k/Net/TFTP/TFTP_OptionSaved.hpp> 00042 #include <j2k/Net/TFTP/TFTP_Sender.hpp> 00043 #include <j2k/Net/TFTP/TFTP_Timeout.hpp> 00044 #include <j2k/Net/TFTP/TFTP_DataAck.hpp> 00045 00046 // #include <j2k/Posix/ptmalloc/ptmalloc.c> 00047 00048 // Not used, currently. [ PThread mailbox ] 00049 // #include <j2k/Net/TFTP/Mailbox.hpp> 00050 00051 /*/* 00052 NOTICE: 00053 ******* 00054 00055 All the client/server 00056 SENDING PART + Negociation phase + Object setup IS NOT DONE ! 00057 00058 ONLY THE RECEIVING PART IS *"PARTIALLY"* DONE... 00059 00060 The TFTP SHELL IS NOT DESIGNED NOR CODED ! 00061 Use cin/scanf/getkey WHATEVER ! 00062 00063 */ 00064 class TFTP { 00065 public: 00066 TFTP( int argc, char* argv[] ); 00067 00068 inline virtual ~TFTP(); 00069 00070 void read(); 00071 void write(); 00072 void server(); 00073 00074 private: 00075 00076 // Not used. 00077 TFTP( const TFTP& ); 00078 const TFTP& operator=( const TFTP& ); 00079 }; 00080 00081 00082 TFTP_Parser* parser; 00083 00084 #endif