23 |
23 |
24 using namespace QTMS; |
24 using namespace QTMS; |
25 using namespace TMS; |
25 using namespace TMS; |
26 |
26 |
27 QTMSClientSourceImpl::QTMSClientSourceImpl() |
27 QTMSClientSourceImpl::QTMSClientSourceImpl() |
28 { |
28 { |
29 } |
29 } |
30 |
30 |
31 QTMSClientSourceImpl::~QTMSClientSourceImpl() |
31 QTMSClientSourceImpl::~QTMSClientSourceImpl() |
32 { |
32 { |
33 RemoveObserver(*this); |
33 RemoveObserver(*this); |
34 } |
34 } |
35 |
35 |
36 gint QTMSClientSourceImpl::Create(QTMSSource*& qsource, TMSSource*& tmssource) |
36 gint QTMSClientSourceImpl::Create(QTMSSource*& qsource, TMSSource*& tmssource) |
37 { |
37 { |
38 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
38 gint ret(QTMS_RESULT_INSUFFICIENT_MEMORY); |
39 QTMSClientSourceImpl* self = new QTMSClientSourceImpl(); |
39 QTMSClientSourceImpl* self = new QTMSClientSourceImpl(); |
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->iSource = tmssource; |
46 self->iSource = tmssource; |
49 self->AddObserver(*self, NULL); |
47 self->AddObserver(*self, NULL); |
50 } |
48 } |
51 qsource = self; |
49 qsource = self; |
52 return ret; |
50 return ret; |
53 } |
51 } |
54 |
52 |
55 gint QTMSClientSourceImpl::PostConstruct() |
53 gint QTMSClientSourceImpl::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 QTMSClientSourceImpl::AddObserver(TMS::TMSClientSourceObserver& obsrvr, gpointer user_data) |
|
60 { |
|
61 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
|
62 if (iSource) { |
|
63 ret = static_cast<TMSClientSource*> (iSource)->AddObserver(obsrvr, user_data); |
59 } |
64 } |
|
65 return ret; |
|
66 } |
60 |
67 |
61 gint QTMSClientSourceImpl::AddObserver(TMS::TMSClientSourceObserver& obsrvr, |
68 gint QTMSClientSourceImpl::RemoveObserver(TMS::TMSClientSourceObserver& obsrvr) |
62 gpointer user_data) |
69 { |
63 { |
|
64 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
70 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
65 if (iSource) |
71 if (iSource) { |
66 { |
72 ret = static_cast<TMSClientSource*> (iSource)->RemoveObserver(obsrvr); |
67 ret = static_cast<TMSClientSource*> (iSource)->AddObserver(obsrvr, |
73 } |
68 user_data); |
|
69 } |
|
70 return ret; |
74 return ret; |
71 } |
75 } |
72 |
|
73 gint QTMSClientSourceImpl::RemoveObserver( |
|
74 TMS::TMSClientSourceObserver& obsrvr) |
|
75 { |
|
76 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
|
77 if (iSource) |
|
78 { |
|
79 ret = static_cast<TMSClientSource*> (iSource)->RemoveObserver(obsrvr); |
|
80 } |
|
81 return ret; |
|
82 } |
|
83 |
76 |
84 gint QTMSClientSourceImpl::GetSource(TMS::TMSSource*& tmssource) |
77 gint QTMSClientSourceImpl::GetSource(TMS::TMSSource*& tmssource) |
85 { |
78 { |
86 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
79 gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT); |
87 |
80 |
88 if (iSource) |
81 if (iSource) { |
89 { |
|
90 tmssource = iSource; |
82 tmssource = iSource; |
91 ret = QTMS_RESULT_SUCCESS; |
83 ret = QTMS_RESULT_SUCCESS; |
92 } |
84 } |
93 return ret; |
85 return ret; |
94 } |
86 } |
95 |
87 |
96 void QTMSClientSourceImpl::FillBuffer(TMS::TMSBuffer& buffer) |
88 void QTMSClientSourceImpl::FillBuffer(TMS::TMSBuffer& buffer) |
97 { |
89 { |
98 emit QTMSClientSource::FillBuffer(reinterpret_cast<QTMSBuffer&> (buffer)); |
90 emit QTMSClientSource::FillBuffer(reinterpret_cast<QTMSBuffer&> (buffer)); |
99 } |
91 } |
100 |
92 |
101 void QTMSClientSourceImpl::BufferProcessed(const TMS::TMSBuffer* buffer, |
93 void QTMSClientSourceImpl::BufferProcessed(const TMS::TMSBuffer* buffer, gint reason) |
102 gint reason) |
94 { |
103 { |
|
104 TMSBuffer* buf(const_cast<TMSBuffer*> (buffer)); |
95 TMSBuffer* buf(const_cast<TMSBuffer*> (buffer)); |
105 emit QTMSClientSource::BufferProcessed( |
96 emit QTMSClientSource::BufferProcessed(reinterpret_cast<QTMSBuffer*> (buf), reason); |
106 reinterpret_cast<QTMSBuffer*> (buf), reason); |
97 } |
107 } |
|
108 |
98 |
109 // End of file |
99 // End of file |