Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_FTP_Connect.h

00001 #include <efltk/Fl_String.h>
00002 #include <efltk/Fl_String_List.h>
00003 #include <efltk/Fl_Data_Source.h>
00004 #include <efltk/Fl_Socket.h>
00005 
00006 class FL_API Fl_FTP_Socket : public Fl_Socket {
00007     Fl_String_List  m_response;
00008 public:
00009     Fl_FTP_Socket();
00010     ~Fl_FTP_Socket();
00011 
00012    // Connect & disconnect
00013     virtual void open(Fl_String hostName="", int port=0);
00014 
00015     const Fl_String_List& response() const { return m_response; }
00016     const Fl_String_List& login(Fl_String user,Fl_String password);
00017     const Fl_String_List& command(Fl_String cmd);
00018 
00019     const Fl_String_List& get_response();
00020 };
00021 
00022 class FL_API Fl_FTP_Connect {
00023 protected:
00024     Fl_FTP_Socket       m_commandSocket;
00025     Fl_FTP_Socket       m_dataSocket;
00026     Fl_String           m_user;
00027     Fl_String           m_password;
00028     Fl_String           m_host;
00029     int                 m_port;
00030     bool                    m_passive;
00031 protected:
00032     void open_data_port();
00033     void command(Fl_String cmd);
00034     void get_list(Fl_String cmd,Fl_String_List& list);
00035 public:
00036     Fl_FTP_Connect();
00037     ~Fl_FTP_Connect();
00038 
00039     void passive(bool p) { m_passive = p; }
00040     bool passive() const { return m_passive; }
00041 
00042     void user(Fl_String u) { m_user = u; }
00043     Fl_String user() const { return m_user; }
00044 
00045     void password(Fl_String p) { m_password = p; }
00046     Fl_String password() const { return m_password; }
00047 
00048     void host(Fl_String hostName,int portNumber=21);
00049 
00050     void open();
00051     void close();
00052 
00053     const Fl_String_List& response() const { return m_commandSocket.response(); }
00054 
00055     bool active() const { return m_commandSocket.active(); }
00056 
00057     // FTP commands
00058     void cmd_quit();
00059     void cmd_type(char type);
00060     void cmd_cd(Fl_String dir);
00061     void cmd_pwd();
00062 
00063     void cmd_list(Fl_String_List& result);
00064     void cmd_nlst(Fl_String_List& result);
00065 
00066     void cmd_retr(Fl_String fileName);
00067     void cmd_store(Fl_String fileName);
00068 };

Generated on Thu Jul 31 15:33:43 2003 for eFLTK by doxygen1.2.15