Initial Import
[profile/ivi/hfdialer.git] / src / qmlcallitem.cpp
1 /*
2  * dialer - Declarative Dialer UX Main Window.
3  * Copyright (c) 2011, Tom Swindell.
4  *
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
8  *
9  */
10
11 #include "common.h"
12 #include "qmlcallitem.h"
13
14 class QMLCallItemPrivate
15 {
16 public:
17     CallItem *proxy;
18 };
19
20 QMLCallItem::QMLCallItem(CallItem *proxy, QObject *parent)
21     : QObject(parent), d(new QMLCallItemPrivate)
22 {
23     TRACE;
24     d->proxy = proxy;
25     
26     QObject::connect(proxy->callProxy(), SIGNAL(stateChanged()), SLOT(onStateChanged()));
27 }
28
29 QMLCallItem::~QMLCallItem()
30 {
31     TRACE;
32     delete this->d;
33 }
34
35 CallItem* QMLCallItem::proxy() const
36 {
37     TRACE;
38     return d->proxy;
39 }
40
41 QString QMLCallItem::msisdn() const
42 {
43     TRACE;
44     if (d->proxy->callProxy())
45         return d->proxy->callProxy()->lineID();
46     return QString();
47 }
48
49 int QMLCallItem::numberLen() const
50 {
51     TRACE;
52     QString number = msisdn();
53     return number.size();
54 }
55
56 QString QMLCallItem::name() const
57 {
58     TRACE;
59     if (d->proxy->callProxy())
60         return d->proxy->callProxy()->name();
61     return QString();
62 }
63
64 QString QMLCallItem::state() const
65 {
66     TRACE;
67     if (d->proxy->callProxy())
68         return d->proxy->callProxy()->state();
69     return QString();
70 }
71
72 QString QMLCallItem::reason() const
73 {
74     TRACE;
75     if (d->proxy->callProxy())
76         return d->proxy->callProxy()->reason();
77     return QString();
78 }
79
80 QDateTime QMLCallItem::startedAt() const
81 {
82     TRACE;
83     if (d->proxy->callProxy())
84         return d->proxy->callProxy()->startTime();
85     return QDateTime();
86 }
87
88 int QMLCallItem::duration() const
89 {
90     TRACE;
91
92     if (d->proxy)
93     {
94          if (d->proxy->callProxy())
95                 return d->proxy->callProxy()->duration();
96     }
97     return 0;
98 }
99
100 bool QMLCallItem::isMultiparty() const
101 {
102     TRACE;
103     if (d->proxy->callProxy())
104         return d->proxy->callProxy()->multiparty();
105     return false;
106 }
107
108 void QMLCallItem::answer()
109 {
110     TRACE;
111     if (d->proxy->callProxy())
112         d->proxy->callProxy()->answer();
113 }
114
115 void QMLCallItem::deflect(const QString &msisdn)
116 {
117     TRACE;
118     if (d->proxy->callProxy())
119         d->proxy->callProxy()->deflect(msisdn);
120 }
121
122 void QMLCallItem::hangup()
123 {
124     TRACE;
125     if (d->proxy->callProxy())
126         d->proxy->callProxy()->hangup();
127 }
128
129 void QMLCallItem::onStateChanged()
130 {
131     TRACE;
132     emit this->stateChanged(d->proxy->callProxy()->state());
133 }
134
135 /* Local Variables:      */
136 /* mode:c++              */
137 /* c-basic-offset:4      */
138 /* indent-tabs-mode: nil */
139 /* End:                  */