qtms/src/qtmsclientsinkimpl.cpp
changeset 50 762d760dcfdf
parent 40 4a1905d205a2
equal deleted inserted replaced
48:b7b49303d0c0 50:762d760dcfdf
    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