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