#include <QUuid>
#include "syncableobject.h"
+#include "types.h"
class Transfer : public SyncableObject
{
quint64 fileSize() const;
QString nick() const;
+ QString savePath() const;
+
+public slots:
+ // called on the client side
+ void accept(const QString &savePath) const;
+ void reject() const;
+
+ // called on the core side through sync calls
+ void requestAccepted(PeerPtr peer = 0);
+ void requestRejected();
+
signals:
void stateChanged(State state);
void directionChanged(Direction direction);
void fileSizeChanged(quint64 fileSize);
void nickChanged(const QString &nick);
+ void accepted(PeerPtr peer = 0) const;
+ void rejected() const;
+
protected:
void setState(State state);
private:
+ void init();
+
void setDirection(Direction direction);
void setAddress(const QHostAddress &address);
void setPort(quint16 port);
quint64 _fileSize;
QString _nick;
QUuid _uuid;
+
+ // non-synced attributes
+ mutable QString _savePath;
};
#endif