Update FTPClient

Dependents:   Digital_Photo_Frame_with_FTP_SD_WIZwiki-W7500 FTP_Streaming_Music_Player_WIZwiki-W7500 GIF2015 MP3Decoding_VS1002_WIZwiki-W7500

Fork of FTPClient by Midnight Cow

Committer:
MidnightCow
Date:
Wed Aug 26 00:36:33 2015 +0000
Revision:
5:fe95043a506e
Parent:
4:4bef734cc93e
Modify the Open funciton
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ricky_Kwon 0:61da21bfd120 1 #ifndef FTP_CLIENT_H
Ricky_Kwon 0:61da21bfd120 2 #define FTP_CLIENT_H
Ricky_Kwon 0:61da21bfd120 3 #include "mbed.h"
Ricky_Kwon 0:61da21bfd120 4 #include "SDFileSystem.h"
MidnightCow 4:4bef734cc93e 5 #define MAX_SS 512
Ricky_Kwon 3:4fd8e5cd6307 6 /** FTPClient class.
Ricky_Kwon 3:4fd8e5cd6307 7 * Used file transfer with FTPServer like ALFTP(http://software.altools.co.kr/ko-kr/closed.html)
Ricky_Kwon 3:4fd8e5cd6307 8 * This test was completed in ALFTP
Ricky_Kwon 3:4fd8e5cd6307 9 */
Ricky_Kwon 0:61da21bfd120 10 class FTPClient{
Ricky_Kwon 0:61da21bfd120 11 public:
Ricky_Kwon 3:4fd8e5cd6307 12 /** Create FTPClient instance */
Ricky_Kwon 0:61da21bfd120 13 FTPClient(PinName mosi, PinName miso, PinName sclk, PinName ssel, const char* root);
MidnightCow 4:4bef734cc93e 14 FTPClient(const char* root);
MidnightCow 4:4bef734cc93e 15 ~FTPClient();
Ricky_Kwon 0:61da21bfd120 16
Ricky_Kwon 3:4fd8e5cd6307 17 /** Connect to FTPServer
Ricky_Kwon 3:4fd8e5cd6307 18 *
Ricky_Kwon 3:4fd8e5cd6307 19 * @param FTPServer IP, FTPServer PORT, FTPServer login ID, FTPServer login PASS
Ricky_Kwon 3:4fd8e5cd6307 20 * @returns
Ricky_Kwon 3:4fd8e5cd6307 21 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 22 * 0 on open error
Ricky_Kwon 3:4fd8e5cd6307 23 */
Ricky_Kwon 0:61da21bfd120 24 bool open(char* ip, int port, char* id, char* pass);
Ricky_Kwon 3:4fd8e5cd6307 25
Ricky_Kwon 3:4fd8e5cd6307 26 /** Get file from FTPServer
Ricky_Kwon 3:4fd8e5cd6307 27 *
MidnightCow 4:4bef734cc93e 28 * @param filename
Ricky_Kwon 3:4fd8e5cd6307 29 * @returns
Ricky_Kwon 3:4fd8e5cd6307 30 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 31 * 0 on getfile error
Ricky_Kwon 3:4fd8e5cd6307 32 */
MidnightCow 4:4bef734cc93e 33 bool getfile(char* filename);
Ricky_Kwon 3:4fd8e5cd6307 34
Ricky_Kwon 3:4fd8e5cd6307 35 /** Put file to FTPServer
Ricky_Kwon 3:4fd8e5cd6307 36 *
MidnightCow 4:4bef734cc93e 37 * @param FTPServer file name
Ricky_Kwon 3:4fd8e5cd6307 38 * @returns
Ricky_Kwon 3:4fd8e5cd6307 39 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 40 * 0 on putfile error
Ricky_Kwon 3:4fd8e5cd6307 41 */
MidnightCow 4:4bef734cc93e 42 bool putfile(char* filename);
Ricky_Kwon 3:4fd8e5cd6307 43
Ricky_Kwon 3:4fd8e5cd6307 44 /** View FTPServer directory
Ricky_Kwon 3:4fd8e5cd6307 45 *
Ricky_Kwon 3:4fd8e5cd6307 46 * @param
Ricky_Kwon 3:4fd8e5cd6307 47 * @returns
Ricky_Kwon 3:4fd8e5cd6307 48 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 49 * 0 on dir error
Ricky_Kwon 3:4fd8e5cd6307 50 */
MidnightCow 4:4bef734cc93e 51 bool dir(char* liststr);
Ricky_Kwon 3:4fd8e5cd6307 52
Ricky_Kwon 3:4fd8e5cd6307 53 /** View FTPServer directory
Ricky_Kwon 3:4fd8e5cd6307 54 *
Ricky_Kwon 3:4fd8e5cd6307 55 * @param
Ricky_Kwon 3:4fd8e5cd6307 56 * @returns
Ricky_Kwon 3:4fd8e5cd6307 57 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 58 * 0 on ls error
Ricky_Kwon 3:4fd8e5cd6307 59 */
MidnightCow 4:4bef734cc93e 60 bool ls(char* liststr);
Ricky_Kwon 3:4fd8e5cd6307 61
Ricky_Kwon 3:4fd8e5cd6307 62 /** Delete FTPServer file
Ricky_Kwon 3:4fd8e5cd6307 63 *
Ricky_Kwon 3:4fd8e5cd6307 64 * @param FTPServer file name
Ricky_Kwon 3:4fd8e5cd6307 65 * @returns
Ricky_Kwon 3:4fd8e5cd6307 66 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 67 * 0 on delete error
Ricky_Kwon 3:4fd8e5cd6307 68 */
Ricky_Kwon 0:61da21bfd120 69 bool fdelete(char* filename);
Ricky_Kwon 3:4fd8e5cd6307 70
Ricky_Kwon 3:4fd8e5cd6307 71 /** Make FTPServer directory
Ricky_Kwon 3:4fd8e5cd6307 72 *
Ricky_Kwon 3:4fd8e5cd6307 73 * @param FTPServer directory name
Ricky_Kwon 3:4fd8e5cd6307 74 * @returns
Ricky_Kwon 3:4fd8e5cd6307 75 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 76 * 0 on mkdir error
Ricky_Kwon 3:4fd8e5cd6307 77 */
Ricky_Kwon 0:61da21bfd120 78 bool mkdir(char* dirname);
Ricky_Kwon 3:4fd8e5cd6307 79
Ricky_Kwon 3:4fd8e5cd6307 80 /** Change current FTPServer directory
Ricky_Kwon 3:4fd8e5cd6307 81 *
Ricky_Kwon 3:4fd8e5cd6307 82 * @param FTPServer directory name
Ricky_Kwon 3:4fd8e5cd6307 83 * @returns
Ricky_Kwon 3:4fd8e5cd6307 84 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 85 * 0 on mkdir error
Ricky_Kwon 3:4fd8e5cd6307 86 */
Ricky_Kwon 0:61da21bfd120 87 bool cd(char* dirname);
Ricky_Kwon 3:4fd8e5cd6307 88
Ricky_Kwon 3:4fd8e5cd6307 89 /** Disconnect from FTPServer
Ricky_Kwon 3:4fd8e5cd6307 90 *
Ricky_Kwon 3:4fd8e5cd6307 91 * @param
Ricky_Kwon 3:4fd8e5cd6307 92 * @returns
Ricky_Kwon 3:4fd8e5cd6307 93 * 1 on success,
Ricky_Kwon 3:4fd8e5cd6307 94 * 0 on Disconnect error
Ricky_Kwon 3:4fd8e5cd6307 95 */
Ricky_Kwon 1:2630b5456598 96 bool quit();
Ricky_Kwon 3:4fd8e5cd6307 97
Ricky_Kwon 1:2630b5456598 98 private:
MidnightCow 4:4bef734cc93e 99 TCPSocketConnection FTPClientControlSock;
MidnightCow 4:4bef734cc93e 100 TCPSocketConnection FTPClientDataSock;
Ricky_Kwon 0:61da21bfd120 101
Ricky_Kwon 0:61da21bfd120 102 bool blogin;
Ricky_Kwon 0:61da21bfd120 103
Ricky_Kwon 0:61da21bfd120 104 char ftpServer_data_ip_addr_str[20];
Ricky_Kwon 0:61da21bfd120 105 int remote_port;
Ricky_Kwon 0:61da21bfd120 106
MidnightCow 4:4bef734cc93e 107 char ftpbuf[MAX_SS];
MidnightCow 4:4bef734cc93e 108
Ricky_Kwon 0:61da21bfd120 109
MidnightCow 4:4bef734cc93e 110 SDFileSystem* _SDFileSystem;
Ricky_Kwon 3:4fd8e5cd6307 111
Ricky_Kwon 3:4fd8e5cd6307 112 int pportc(char * arg);
MidnightCow 4:4bef734cc93e 113
MidnightCow 4:4bef734cc93e 114 char root[20];
Ricky_Kwon 0:61da21bfd120 115 };
Ricky_Kwon 0:61da21bfd120 116 #endif