00001
00023 #ifndef _TelepathyQt4_location_info_h_HEADER_GUARD_
00024 #define _TelepathyQt4_location_info_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/Global>
00031
00032 #include <QDateTime>
00033 #include <QSharedDataPointer>
00034 #include <QString>
00035 #include <QVariantMap>
00036
00037 namespace Tp
00038 {
00039
00040 class TELEPATHY_QT4_EXPORT LocationInfo
00041 {
00042 public:
00043 LocationInfo();
00044 LocationInfo(const QVariantMap &location);
00045 LocationInfo(const LocationInfo &other);
00046 virtual ~LocationInfo();
00047
00048 bool isValid() const { return mPriv.constData() != 0; }
00049
00050 LocationInfo &operator=(const LocationInfo &other);
00051
00052 QString countryCode() const;
00053 QString country() const;
00054 QString region() const;
00055 QString locality() const;
00056 QString area() const;
00057 QString postalCode() const;
00058 QString street() const;
00059
00060 QString building() const;
00061 QString floor() const;
00062 QString room() const;
00063 QString text() const;
00064 QString description() const;
00065 QString uri() const;
00066
00067 QString language() const;
00068
00069 double latitude() const;
00070 double longitude() const;
00071 double altitude() const;
00072 double accuracy() const;
00073
00074 double speed() const;
00075 double bearing() const;
00076
00077 QDateTime timestamp() const;
00078
00079 QVariantMap allDetails() const;
00080
00081 private:
00082 friend class Contact;
00083
00084 TELEPATHY_QT4_NO_EXPORT void updateData(const QVariantMap &location);
00085
00086 struct Private;
00087 friend struct Private;
00088 QSharedDataPointer<Private> mPriv;
00089 };
00090
00091 }
00092
00093 Q_DECLARE_METATYPE(Tp::LocationInfo);
00094
00095 #endif