23 |
23 |
24 using namespace QTMS; |
24 using namespace QTMS; |
25 using namespace TMS; |
25 using namespace TMS; |
26 |
26 |
27 QTMSClientSinkImpl::QTMSClientSinkImpl() |
27 QTMSClientSinkImpl::QTMSClientSinkImpl() |
28 { |
28 { |
29 } |
29 } |
30 |
30 |
31 QTMSClientSinkImpl::~QTMSClientSinkImpl() |
31 QTMSClientSinkImpl::~QTMSClientSinkImpl() |
32 { |
32 { |
33 RemoveObserver(*this); |
33 RemoveObserver(*this); |
34 } |
34 } |
35 |
35 |
36 gint QTMSClientSinkImpl::Create(QTMSSink*& qsink, TMS::TMSSink*& tmssink) |
36 gint QTMSClientSinkImpl::Create(QTMSSink*& qsink, TMS::TMSSink*& tmssink) |
37 { |
37 { |
38 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
38 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
39 QTMSClientSinkImpl* self = new QTMSClientSinkImpl(); |
39 QTMSClientSinkImpl* self = new QTMSClientSinkImpl(); |
40 if (self) |
40 if (self) { |
41 { |
|
42 ret = self->PostConstruct(); |
41 ret = self->PostConstruct(); |
43 if (ret != QTMS_RESULT_SUCCESS) |
42 if (ret != QTMS_RESULT_SUCCESS) { |
44 { |
|
45 delete self; |
43 delete self; |
46 self = NULL; |
44 self = NULL; |
47 } |
45 } |
48 self->iSink = tmssink; |
46 self->iSink = tmssink; |
49 self->AddObserver(*self, NULL); |
47 self->AddObserver(*self, NULL); |
50 } |
48 } |
51 qsink = self; |
49 qsink = self; |
52 return ret; |
50 return ret; |
53 } |
51 } |
54 |
52 |
55 gint QTMSClientSinkImpl::PostConstruct() |
53 gint QTMSClientSinkImpl::PostConstruct() |
56 { |
54 { |
57 gint ret(QTMS_RESULT_SUCCESS); |
55 gint ret(QTMS_RESULT_SUCCESS); |
58 return ret; |
56 return ret; |
|
57 } |
|
58 |
|
59 gint QTMSClientSinkImpl::AddObserver(TMS::TMSClientSinkObserver& obsrvr, gpointer user_data) |
|
60 { |
|
61 gint ret(QTMS_RESULT_SUCCESS); |
|
62 if (iSink) { |
|
63 ret = static_cast<TMSClientSink*> (iSink)->AddObserver(obsrvr, user_data); |
59 } |
64 } |
60 |
|
61 gint QTMSClientSinkImpl::AddObserver(TMS::TMSClientSinkObserver& obsrvr, |
|
62 gpointer user_data) |
|
63 { |
|
64 gint ret(QTMS_RESULT_SUCCESS); |
|
65 if (iSink) |
|
66 { |
|
67 ret = static_cast<TMSClientSink*> (iSink)->AddObserver(obsrvr, |
|
68 user_data); |
|
69 } |
|
70 return ret; |
65 return ret; |
71 } |
66 } |
72 |
67 |
73 gint QTMSClientSinkImpl::RemoveObserver(TMS::TMSClientSinkObserver& obsrvr) |
68 gint QTMSClientSinkImpl::RemoveObserver(TMS::TMSClientSinkObserver& obsrvr) |
74 { |
69 { |
75 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
70 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
76 if (iSink) |
71 if (iSink) { |
77 { |
|
78 ret = static_cast<TMSClientSink*> (iSink)->RemoveObserver(obsrvr); |
72 ret = static_cast<TMSClientSink*> (iSink)->RemoveObserver(obsrvr); |
79 } |
73 } |
80 return ret; |
74 return ret; |
81 } |
75 } |
82 |
76 |
83 gint QTMSClientSinkImpl::GetSink(TMS::TMSSink*& tmssink) |
77 gint QTMSClientSinkImpl::GetSink(TMS::TMSSink*& tmssink) |
84 { |
78 { |
85 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
79 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
86 |
80 |
87 if (iSink) |
81 if (iSink) { |
88 { |
|
89 tmssink = iSink; |
82 tmssink = iSink; |
90 ret = QTMS_RESULT_SUCCESS; |
83 ret = QTMS_RESULT_SUCCESS; |
91 } |
84 } |
92 return ret; |
85 return ret; |
93 } |
86 } |
94 |
87 |
95 void QTMSClientSinkImpl::ProcessBuffer(const TMS::TMSBuffer* buffer) |
88 void QTMSClientSinkImpl::ProcessBuffer(const TMS::TMSBuffer* buffer) |
96 { |
89 { |
97 TMSBuffer* buf(const_cast<TMSBuffer*> (buffer)); |
90 TMSBuffer* buf(const_cast<TMSBuffer*> (buffer)); |
98 QTMSBuffer* qtbuf(reinterpret_cast<QTMSBuffer*> (buf)); |
91 QTMSBuffer* qtbuf(reinterpret_cast<QTMSBuffer*> (buf)); |
99 emit QTMSClientSink::ProcessBuffer(qtbuf); |
92 emit QTMSClientSink::ProcessBuffer(qtbuf); |
100 } |
93 } |
101 |
94 |
102 // End of file |
95 // End of file |