2 * hfdialer - Hands Free Voice Call Manager
3 * Copyright (c) 2012, Intel Corporation.
5 * This program is licensed under the terms and conditions of the
6 * Apache License, version 2.0. The full text of the Apache License is at
7 * http://www.apache.org/licenses/LICENSE-2.0
17 //#include <QMediaPlayer>
19 #include "callproxy.h"
41 enum CallDisconnectReason {
49 class CallItem: public QObject
53 Q_PROPERTY(QString path READ path WRITE setPath)
54 Q_PROPERTY(QString lineID READ lineID)
55 Q_PROPERTY(QString name READ name)
56 Q_PROPERTY(CallState state READ state)
57 Q_PROPERTY(CallDirection direction READ direction WRITE setDirection)
58 Q_PROPERTY(CallDisconnectReason reason READ reason)
59 Q_PROPERTY(int duration READ duration)
60 Q_PROPERTY(QDateTime startTime READ startTime)
61 Q_PROPERTY(bool multiparty READ multiparty)
63 //Q_PROPERTY(PeopleItem* peopleItem READ peopleItem WRITE setPeopleItem)
64 Q_PROPERTY(CallProxy* callProxy READ callProxy)
67 CallItem(const QString path = QString(), QObject *parent = 0);
71 QString lineID() const;
73 CallState state() const;
74 CallDirection direction() const;
75 CallDisconnectReason reason() const;
77 QDateTime startTime() const;
78 //PeopleItem *peopleItem() const;
79 CallProxy *callProxy() const;
86 //void setPeopleItem(PeopleItem *person);
87 bool setPath(QString path); // Setting this will create the CallProxy
88 void setDirection(CallDirection direction);
91 void silenceRingtone();
94 // TODO: handle tap-and-hold
98 void multipartyChanged();
101 void callStateChanged();
102 void callDataChanged();
103 void callDisconnected(const QString &reason);
104 // void ringtoneStatusChanged(QMediaPlayer::MediaStatus status);
105 void callMultipartyChanged();
108 //QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &val);
109 // void populatePeopleItem();
112 //PeopleItem *m_peopleItem;
113 //QMediaPlayer *m_ringtone;
116 QString m_ringtonefile;
119 Q_DISABLE_COPY(CallItem)