// This is the SIP interface definition for QFtp. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc QFtp (Qt v2.2+) Q_LONG readBlock char *data Q_ULONG maxlen This takes a single maxlen parameter. The data is returned if there was no error, otherwise None is returned. %End %If (Qt_NETWORKPROTOCOL_FTP) %If (Qt_2_2_0 -) class QFtp : QNetworkProtocol { %TypeHeaderCode #include %End public: QFtp(); %If (Qt_3_1_0 -) QFtp(QObject * /TransferThis/,const char * = 0); %End virtual ~QFtp(); %If (Qt_3_0_0 -) int supportedOperations() const; %End %If (- Qt_3_0_0) virtual int supportedOperations() const; %End %If (Qt_3_1_0 -) enum State { Unconnected, HostLookup, Connecting, Connected, LoggedIn, Closing }; enum Error { NoError, UnknownError, HostNotFound, ConnectionRefused, NotConnected }; enum Command { None, ConnectToHost, Login, Close, List, Cd, Get, Put, Remove, Mkdir, Rmdir, Rename, RawCommand }; int connectToHost(const QString &,Q_UINT16 = 21) /ReleaseGIL/; int login(const QString & = QString::null, const QString & = QString::null) /ReleaseGIL/; int close() /ReleaseGIL/; int list(const QString & = QString::null) /ReleaseGIL/; int cd(const QString &) /ReleaseGIL/; int get(const QString &,QIODevice * = 0) /ReleaseGIL/; int put(const QByteArray &,const QString &) /ReleaseGIL/; int put(QIODevice *,const QString &) /ReleaseGIL/; int remove(const QString &) /ReleaseGIL/; int mkdir(const QString &) /ReleaseGIL/; int rmdir(const QString &) /ReleaseGIL/; int rename(const QString &,const QString &) /ReleaseGIL/; int rawCommand(const QString &) /ReleaseGIL/; unsigned long bytesAvailable() const; SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; %MethodCode char *buf; if ((buf = (char *)sipMalloc(a0)) == NULL) sipIsErr = 1; else { Q_LONG actlen; Py_BEGIN_ALLOW_THREADS actlen = sipCpp -> QFtp::readBlock(buf,a0); Py_END_ALLOW_THREADS if (actlen < 0) { Py_INCREF(Py_None); sipRes = Py_None; } else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) sipIsErr = 1; sipFree((ANY *)buf); } %End QByteArray readAll() /ReleaseGIL/; int currentId() const; QIODevice* currentDevice() const; Command currentCommand() const; bool hasPendingCommands() const; void clearPendingCommands(); State state() const; Error error() const; QString errorString() const; %End public slots: %If (Qt_3_1_0 -) void abort(); %End signals: %If (Qt_3_1_0 -) void stateChanged(int); void listInfo(const QUrlInfo &); void readyRead(); void dataTransferProgress(int,int); void rawCommandReply(int,const QString &); void commandStarted(int); void commandFinished(int,bool); void done(bool); %End protected: void parseDir(const QString &,QUrlInfo &); virtual void operationListChildren(QNetworkOperation *); virtual void operationMkDir(QNetworkOperation *); virtual void operationRemove(QNetworkOperation *); virtual void operationRename(QNetworkOperation *); virtual void operationGet(QNetworkOperation *); virtual void operationPut(QNetworkOperation *); }; %End %End