00001
00002 #ifndef OPENDHT_H_
00003 #define OPENDHT_H_
00004
00005 #define TIMING //defined in Privl.h, OpenDHT.h, SharingService.h
00006
00007
00008 #include <QNetworkReply>
00009 #include <QByteArray>
00010 #include <QString>
00011
00012 #ifdef TIMING
00013 #include <QTime>
00014 #endif
00015
00016
00027 class OpenDHT : public QObject
00028 {
00029 Q_OBJECT
00030
00031 public:
00032 OpenDHT(QString id,QObject *parent = 0);
00033
00034 ~OpenDHT();
00035
00036 void sendDHTput(QByteArray key, QByteArray val, int ttl = 36000);
00037 void sendDHTget(QByteArray key);
00038 void setId(QString id);
00039
00040 public slots:
00041 void rcvDHTputAnswer(QNetworkReply* nr);
00042 void rcvDHTgetAnswer(QNetworkReply* nr);
00043
00044 signals:
00045 void error(QString err);
00046 void finished(QString val, QString id, OpenDHT* inst);
00047
00048 private:
00049 QString id;
00050 QNetworkAccessManager* mPut;
00051 QNetworkAccessManager* mGet;
00052 QNetworkAccessManager managerPut;
00053 QNetworkAccessManager managerGet;
00054 QString nodeURL;
00055
00056 #ifdef TIMING
00057 QTime tput;
00058 QTime tget;
00059 #endif
00060
00061 void getNode();
00062 };
00063
00064 #endif