00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SHARINGSERVICE_H_
00009 #define SHARINGSERVICE_H_
00010
00011 #define TIMING //defined in Privl.h, OpenDHT.h, SharingService.h
00012
00013 #include <QNetworkReply>
00014 #include <QNetworkAccessManager>
00015 #include <QNetworkReply>
00016 #include <QString>
00017 #include <QPair>
00018 #include <QHash>
00019 #include <QStringList>
00020
00021 #include "Friend.h"
00022
00023 #ifdef TIMING
00024 #include <QTime>
00025 #endif
00026
00027
00040 class SharingService : public QObject
00041 {
00042 Q_OBJECT
00043
00044 public:
00045 SharingService(QObject *parent = 0);
00046 virtual ~SharingService();
00047
00048 void login(QString user, QString pass);
00049 void getMe();
00050 void getFriends();
00051 void share(double lat, double lng);
00052
00053
00054 public slots:
00055 void recvShareAnswer();
00056 void recvLoginAnswer();
00057 void recvMeAnswer();
00058 void recvFriendAnswer();
00059
00060
00061 signals:
00062 void status(QString s);
00063 void error(QString err);
00064 void meReference(QByteArray x, QByteArray y);
00065 void friendReference(QString id, QByteArray x, QByteArray y);
00066 void loggedIn(bool, QString);
00067 void shared(bool, QString);
00068
00069
00070 private:
00071 Friend* me;
00072 QNetworkAccessManager networkManager;
00073 QNetworkReply* netReplyLogin;
00074 QNetworkReply* netReplyMe;
00075 QNetworkReply* netReplyFriends;
00076 QNetworkReply* netReplyShare;
00077 QString user;
00078 QString pass;
00079 QString sessionKey;
00080 QPair<double, double> myPos;
00081
00082 #ifdef TIMING
00083 QTime tsetme;
00084 QTime tgetme;
00085 QTime tgetfriends;
00086 #endif
00087
00088 };
00089
00090 #endif