#include <QtNetwork/qftp.h>
#ifndef QFTP_H
#ifndef QT_NO_FTP
class QFtp: public QObject{
   public: virtual struct QMetaObject const * metaObject() const
   public: static struct QMetaObject const staticMetaObject;
   public: virtual void* qt_metacast(char const *);
   public: static inline class QString tr(char const * s, char const * c = 0);
   public: static inline class QString trUtf8(char const * s, char const * c = 0);
   public: static inline class QString tr(char const * s, char const * c, int n);
   public: static inline class QString trUtf8(char const * s, char const * c, int n);
   public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
   public: explicit QFtp(class QObject* parent = 0);
   public: virtual ~QFtp();
   public: enum State{
      Unconnected = 0,
      HostLookup = 1,
      Connecting = 2,
      Connected = 3,
      LoggedIn = 4,
      Closing = 5,
   };
   public: enum Error{
      NoError = 0,
      UnknownError = 1,
      HostNotFound = 2,
      ConnectionRefused = 3,
      NotConnected = 4,
   };
   public: enum Command{
      None = 0,
      SetTransferMode = 1,
      SetProxy = 2,
      ConnectToHost = 3,
      Login = 4,
      Close = 5,
      List = 6,
      Cd = 7,
      Get = 8,
      Put = 9,
      Remove = 10,
      Mkdir = 11,
      Rmdir = 12,
      Rename = 13,
      RawCommand = 14,
   };
   public: enum TransferMode{
      Active = 0,
      Passive = 1,
   };
   public: enum TransferType{
      Binary = 0,
      Ascii = 1,
   };
   public: int setProxy(class QString const & host, quint16 port);
   public: int connectToHost(class QString const & host, quint16 port = 21);
   public: int login(class QString const & user = QString::QString(), class QString const & password = QString::QString());
   public: int close();
   public: int setTransferMode(enum QFtp::TransferMode mode);
   public: int list(class QString const & dir = QString::QString());
   public: int cd(class QString const & dir);
   public: int get(class QString const & file, class QIODevice* dev = 0, enum QFtp::TransferType type = QFtp::Binary);
   public: int put(class QByteArray const & data, class QString const & file, enum QFtp::TransferType type = QFtp::Binary);
   public: int put(class QIODevice* dev, class QString const & file, enum QFtp::TransferType type = QFtp::Binary);
   public: int remove(class QString const & file);
   public: int mkdir(class QString const & dir);
   public: int rmdir(class QString const & dir);
   public: int rename(class QString const & oldname, class QString const & newname);
   public: int rawCommand(class QString const & command);
   public: qint64 bytesAvailable() const
   public: qint64 read(char* data, qint64 maxlen);
   public: class QByteArray readAll();
   public: int currentId() const
   public: class QIODevice* currentDevice() const
   public: enum QFtp::Command currentCommand() const
   public: bool hasPendingCommands() const
   public: void clearPendingCommands();
   public: enum QFtp::State state() const
   public: enum QFtp::Error error() const
   public: class QString errorString() const
   public: void abort();
   protected: void stateChanged(int);
   protected: void listInfo(class QUrlInfo const &);
   protected: void readyRead();
   protected: void dataTransferProgress(qint64, qint64);
   protected: void rawCommandReply(int, class QString const &);
   protected: void commandStarted(int);
   protected: void commandFinished(int, bool);
   protected: void done(bool);
   private: QFtp(class QFtp const &);
   private: class QFtp& operator =(class QFtp const &);
   private: inline struct QFtpPrivate* d_func();
   private: inline struct QFtpPrivate const * d_func() const
   friend struct QFtpPrivate;
};
#endif // QT_NO_FTP
#endif // QFTP_H