00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SHARING_H_
00009 #define SHARING_H_
00010
00011
00012 #include "tools/OpenDHT.h"
00013 #include "SharingService.h"
00014
00015 #include <QString>
00016 #include <QTime>
00017
00034 class Sharing : public QObject
00035 {
00036 Q_OBJECT
00037
00038
00039 public:
00040 Sharing(QObject *parent = 0);
00041 virtual ~Sharing();
00042 void login(QString user, QString pass);
00043 void getMe();
00044 void getFriends();
00045 void share(QString id, double lat, double lng);
00046 void shareDHT(QString id, double fakeLat, double fakeLng, double realLat, double realLng);
00047 void setMe(Friend* me);
00048 void setTTL(int val);
00049
00050
00051 public slots:
00052 void logged(bool s, QString m);
00053 void meDHTRequest(QByteArray x, QByteArray y);
00054 void meDHTAnswer(QString dhtAnswer, QString id,OpenDHT* dht);
00055 void friendDHTrequest(QString id, QByteArray x, QByteArray y);
00056 void friendDHTAnswer(QString friendAnswer, QString id, OpenDHT* dht);
00057 void storeDHTanswer(QString q, QString id, OpenDHT* dht);
00058 void setError(QString err);
00059 void setStatus(QString s);
00060 void shareAnswer(bool s,QString m);
00061 void setFriends(QHash<QString, Friend*>* freinds);
00062
00063
00064
00065 signals:
00066 void error(QString err);
00067 void status(QString s);
00068 void mePos(QString, double lat, double lng);
00069 void friendPos(QString id, double lat, double lng);
00070 void loggedIn(bool, QString);
00071
00072
00073 private:
00074 void connectCallback();
00075 SharingService service;
00076 QString myId;
00077 QHash<QString,Friend*>* fs;
00078 Friend* me;
00079 int ttl;
00080 };
00081
00082 #endif