22 |
22 |
23 using namespace QTMS; |
23 using namespace QTMS; |
24 using namespace TMS; |
24 using namespace TMS; |
25 |
25 |
26 QTMSGlobalRoutingImpl::QTMSGlobalRoutingImpl() |
26 QTMSGlobalRoutingImpl::QTMSGlobalRoutingImpl() |
27 { |
27 { |
28 } |
28 } |
29 |
29 |
30 QTMSGlobalRoutingImpl::~QTMSGlobalRoutingImpl() |
30 QTMSGlobalRoutingImpl::~QTMSGlobalRoutingImpl() |
31 { |
31 { |
32 RemoveObserver(*this); |
32 RemoveObserver(*this); |
33 } |
33 } |
34 |
34 |
35 gint QTMSGlobalRoutingImpl::Create(QTMSGlobalRouting*& qrouting, |
35 gint QTMSGlobalRoutingImpl::Create(QTMSGlobalRouting*& qrouting, TMS::TMSGlobalRouting*& tmsrouting) |
36 TMS::TMSGlobalRouting*& tmsrouting) |
36 { |
37 { |
|
38 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
37 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
39 QTMSGlobalRoutingImpl* self = new QTMSGlobalRoutingImpl(); |
38 QTMSGlobalRoutingImpl* self = new QTMSGlobalRoutingImpl(); |
40 if (self) |
39 if (self) { |
41 { |
|
42 ret = self->PostConstruct(); |
40 ret = self->PostConstruct(); |
43 if (ret != QTMS_RESULT_SUCCESS) |
41 if (ret != QTMS_RESULT_SUCCESS) { |
44 { |
|
45 delete self; |
42 delete self; |
46 self = NULL; |
43 self = NULL; |
47 } |
44 } |
48 self->iRouting = tmsrouting; |
45 self->iRouting = tmsrouting; |
49 ret = self->AddObserver(*self, NULL); |
46 ret = self->AddObserver(*self, NULL); |
50 } |
47 } |
51 qrouting = self; |
48 qrouting = self; |
52 return ret; |
49 return ret; |
53 } |
50 } |
54 |
51 |
55 gint QTMSGlobalRoutingImpl::PostConstruct() |
52 gint QTMSGlobalRoutingImpl::PostConstruct() |
56 { |
53 { |
57 gint ret(QTMS_RESULT_SUCCESS); |
54 gint ret(QTMS_RESULT_SUCCESS); |
58 return ret; |
55 return ret; |
59 } |
56 } |
60 |
57 |
61 gint QTMSGlobalRoutingImpl::AddObserver(TMS::TMSGlobalRoutingObserver& obsrvr, |
58 gint QTMSGlobalRoutingImpl::AddObserver(TMS::TMSGlobalRoutingObserver& obsrvr, gpointer user_data) |
62 gpointer user_data) |
59 { |
63 { |
|
64 gint ret(QTMS_RESULT_SUCCESS); |
60 gint ret(QTMS_RESULT_SUCCESS); |
65 |
61 |
66 if (iRouting) |
62 if (iRouting) { |
67 { |
|
68 ret = iRouting->AddObserver(obsrvr, user_data); |
63 ret = iRouting->AddObserver(obsrvr, user_data); |
69 } |
64 } |
70 return ret; |
65 return ret; |
71 } |
66 } |
72 |
67 |
73 gint QTMSGlobalRoutingImpl::RemoveObserver( |
68 gint QTMSGlobalRoutingImpl::RemoveObserver(TMS::TMSGlobalRoutingObserver& obsrvr) |
74 TMS::TMSGlobalRoutingObserver& obsrvr) |
69 { |
75 { |
|
76 gint ret(QTMS_RESULT_SUCCESS); |
70 gint ret(QTMS_RESULT_SUCCESS); |
77 |
71 |
78 if (iRouting) |
72 if (iRouting) { |
79 { |
|
80 ret = iRouting->RemoveObserver(obsrvr); |
73 ret = iRouting->RemoveObserver(obsrvr); |
81 } |
74 } |
82 return ret; |
75 return ret; |
83 } |
76 } |
84 |
77 |
85 void QTMSGlobalRoutingImpl::GlobalRoutingEvent( |
78 void QTMSGlobalRoutingImpl::GlobalRoutingEvent(const TMS::TMSGlobalRouting& /*routing*/, |
86 const TMS::TMSGlobalRouting& /*routing*/, TMS::TMSSignalEvent event, |
79 TMS::TMSSignalEvent event, TMS::TMSAudioOutput output) |
87 TMS::TMSAudioOutput output) |
80 { |
88 { |
|
89 QTMSSignalEvent qevent; |
81 QTMSSignalEvent qevent; |
90 QTMSAudioOutput qoutput; |
82 QTMSAudioOutput qoutput; |
91 |
83 |
92 qevent.type = event.type; |
84 qevent.type = event.type; |
93 qevent.reason = event.reason; |
85 qevent.reason = event.reason; |