22 |
22 |
23 using namespace QTMS; |
23 using namespace QTMS; |
24 using namespace TMS; |
24 using namespace TMS; |
25 |
25 |
26 QTMSRingToneImpl::QTMSRingToneImpl() |
26 QTMSRingToneImpl::QTMSRingToneImpl() |
27 { |
27 { |
28 } |
28 } |
29 |
29 |
30 QTMSRingToneImpl::~QTMSRingToneImpl() |
30 QTMSRingToneImpl::~QTMSRingToneImpl() |
31 { |
31 { |
32 RemoveObserver(*this); |
32 RemoveObserver(*this); |
33 } |
33 } |
34 |
34 |
35 gint QTMSRingToneImpl::Create(QTMSRingTone*& qrt, TMS::TMSRingTone*& tmsrt) |
35 gint QTMSRingToneImpl::Create(QTMSRingTone*& qrt, TMS::TMSRingTone*& tmsrt) |
36 { |
36 { |
37 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
37 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
38 QTMSRingToneImpl* self = new QTMSRingToneImpl(); |
38 QTMSRingToneImpl* self = new QTMSRingToneImpl(); |
39 if (self) |
39 if (self) { |
40 { |
|
41 ret = self->PostConstruct(); |
40 ret = self->PostConstruct(); |
42 if (ret != QTMS_RESULT_SUCCESS) |
41 if (ret != QTMS_RESULT_SUCCESS) { |
43 { |
|
44 delete self; |
42 delete self; |
45 self = NULL; |
43 self = NULL; |
46 } |
44 } |
47 self->iRingTone = tmsrt; |
45 self->iRingTone = tmsrt; |
48 ret = self->AddObserver(*self, NULL); |
46 ret = self->AddObserver(*self, NULL); |
49 } |
47 } |
50 qrt = self; |
48 qrt = self; |
51 return ret; |
49 return ret; |
52 } |
50 } |
53 |
51 |
54 gint QTMSRingToneImpl::PostConstruct() |
52 gint QTMSRingToneImpl::PostConstruct() |
55 { |
53 { |
56 gint ret(QTMS_RESULT_SUCCESS); |
54 gint ret(QTMS_RESULT_SUCCESS); |
57 return ret; |
55 return ret; |
|
56 } |
|
57 |
|
58 gint QTMSRingToneImpl::AddObserver(TMS::TMSRingToneObserver& obsrvr, gpointer user_data) |
|
59 { |
|
60 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
|
61 if (iRingTone) { |
|
62 ret = iRingTone->AddObserver(obsrvr, user_data); |
58 } |
63 } |
59 |
|
60 gint QTMSRingToneImpl::AddObserver(TMS::TMSRingToneObserver& obsrvr, |
|
61 gpointer user_data) |
|
62 { |
|
63 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
|
64 if (iRingTone) |
|
65 { |
|
66 ret = iRingTone->AddObserver(obsrvr, user_data); |
|
67 } |
|
68 return ret; |
64 return ret; |
69 } |
65 } |
70 |
66 |
71 gint QTMSRingToneImpl::RemoveObserver(TMS::TMSRingToneObserver& obsrvr) |
67 gint QTMSRingToneImpl::RemoveObserver(TMS::TMSRingToneObserver& obsrvr) |
72 { |
68 { |
73 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
69 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
74 if (iRingTone) |
70 if (iRingTone) { |
75 { |
|
76 ret = iRingTone->RemoveObserver(obsrvr); |
71 ret = iRingTone->RemoveObserver(obsrvr); |
77 } |
72 } |
78 return ret; |
73 return ret; |
79 } |
74 } |
80 |
75 |
81 void QTMSRingToneImpl::RingtoneEvent(const TMS::TMSRingTone& /*rt*/, |
76 void QTMSRingToneImpl::RingtoneEvent(const TMS::TMSRingTone& /*rt*/, TMS::TMSSignalEvent event) |
82 TMS::TMSSignalEvent event) |
77 { |
83 { |
|
84 QTMSSignalEvent qevent; |
78 QTMSSignalEvent qevent; |
85 qevent.type = event.type; |
79 qevent.type = event.type; |
86 qevent.reason = event.reason; |
80 qevent.reason = event.reason; |
87 qevent.curr_state = event.curr_state; |
81 qevent.curr_state = event.curr_state; |
88 qevent.prev_state = event.prev_state; |
82 qevent.prev_state = event.prev_state; |
89 qevent.event_data = event.event_data; |
83 qevent.event_data = event.event_data; |
90 qevent.user_data = event.user_data; |
84 qevent.user_data = event.user_data; |
91 |
85 |
92 emit QTMS::QTMSRingTone::RingtoneEvent(static_cast<QTMSRingTone&> (*this), |
86 emit QTMS::QTMSRingTone::RingtoneEvent(static_cast<QTMSRingTone&> (*this), qevent); |
93 qevent); |
87 } |
94 } |
|
95 |
88 |
96 // End of file |
89 // End of file |