qtms/src/qtmsclientsourceimpl.cpp
changeset 51 e61a04404bdf
parent 44 d141fc1ad77b
equal deleted inserted replaced
44:d141fc1ad77b 51:e61a04404bdf
    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