124387844afda2cd3bf81ca65f0313d7d3d260e4
[profile/ivi/ofono-qt.git] / lib / ofonomessage.h
1 /*
2  * This file is part of ofono-qt
3  *
4  * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
5  *
6  * Contact: Alexander Kanavin <alexander.kanavin@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  *
22  */
23 #ifndef OFONOMESSAGE_H
24 #define OFONOMESSAGE_H
25
26 #include <QtCore/QObject>
27 #include <QVariant>
28 #include <QStringList>
29 #include <QDBusError>
30
31 #include "libofono-qt_global.h"
32
33 class OfonoInterface;
34
35 //! This class is used to access oFono message API
36 /*!
37  * oFono message API is documented in
38  * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/message-api.txt
39  */
40 class OFONO_QT_EXPORT OfonoMessage : public QObject
41 {
42     Q_OBJECT
43
44     Q_PROPERTY(QString path READ path)
45     Q_PROPERTY(QString errorName READ errorName)
46     Q_PROPERTY(QString errorMessage READ errorMessage)
47     
48     Q_PROPERTY(QString state READ state NOTIFY stateChanged)
49     
50 public:
51     OfonoMessage(const QString &messageId, QObject *parent=0);
52     OfonoMessage(const OfonoMessage &message);
53     ~OfonoMessage();
54
55     OfonoMessage operator=(const OfonoMessage &message);
56     bool operator==(const OfonoMessage &message);
57
58     //! Returns the D-Bus object path of the message object
59     QString path() const;
60
61     //! Get the D-Bus error name of the last operation.
62     /*!
63      * Returns the D-Bus error name of the last operation (setting a property
64      * or calling a method) if it has failed
65      */
66     QString errorName() const;
67
68     //! Get the D-Bus error message of the last operation.
69     /*!
70      * Returns the D-Bus error message of the last operation (setting a property
71      * or calling a method) if it has failed
72      */
73     QString errorMessage() const;
74
75     QString state() const;
76
77 signals:
78     void stateChanged(const QString &state);
79
80 private slots:
81     void propertyChanged(const QString &property, const QVariant &value);
82
83 private:
84     OfonoInterface *m_if;
85
86 };
87
88 #endif // OFONOMESSAGE_H