qtms/src/qtmsdtmfimpl.cpp
changeset 51 e61a04404bdf
parent 32 edd273b3192a
equal deleted inserted replaced
44:d141fc1ad77b 51:e61a04404bdf
    21 
    21 
    22 using namespace QTMS;
    22 using namespace QTMS;
    23 using namespace TMS;
    23 using namespace TMS;
    24 
    24 
    25 QTMSDTMFImpl::QTMSDTMFImpl()
    25 QTMSDTMFImpl::QTMSDTMFImpl()
    26     {
    26 {
    27     }
    27 }
    28 
    28 
    29 QTMSDTMFImpl::~QTMSDTMFImpl()
    29 QTMSDTMFImpl::~QTMSDTMFImpl()
    30     {
    30 {
    31     RemoveObserver(*this);
    31     RemoveObserver(*this);
    32     }
    32 }
    33 
    33 
    34 gint QTMSDTMFImpl::Create(QTMSDTMF*& qdtmf, TMS::TMSDTMF*& tmsdtmf)
    34 gint QTMSDTMFImpl::Create(QTMSDTMF*& qdtmf, TMS::TMSDTMF*& tmsdtmf)
    35     {
    35 {
    36     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
    36     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
    37     QTMSDTMFImpl* self = new QTMSDTMFImpl();
    37     QTMSDTMFImpl* self = new QTMSDTMFImpl();
    38     if (self)
    38     if (self) {
    39         {
       
    40         ret = self->PostConstruct();
    39         ret = self->PostConstruct();
    41         if (ret != QTMS_RESULT_SUCCESS)
    40         if (ret != QTMS_RESULT_SUCCESS) {
    42             {
       
    43             delete self;
    41             delete self;
    44             self = NULL;
    42             self = NULL;
    45             }
    43         }
    46         self->iDtmf = tmsdtmf;
    44         self->iDtmf = tmsdtmf;
    47         ret = self->AddObserver(*self, NULL);
    45         ret = self->AddObserver(*self, NULL);
    48         }
    46     }
    49     qdtmf = self;
    47     qdtmf = self;
    50     return ret;
    48     return ret;
    51     }
    49 }
    52 
    50 
    53 gint QTMSDTMFImpl::PostConstruct()
    51 gint QTMSDTMFImpl::PostConstruct()
    54     {
    52 {
    55     gint ret(QTMS_RESULT_SUCCESS);
    53     gint ret(QTMS_RESULT_SUCCESS);
    56     return ret;
    54     return ret;
    57     }
    55 }
    58 
    56 
    59 gint QTMSDTMFImpl::AddObserver(TMS::TMSDTMFObserver& obsrvr,
    57 gint QTMSDTMFImpl::AddObserver(TMS::TMSDTMFObserver& obsrvr, gpointer user_data)
    60         gpointer user_data)
    58 {
    61     {
       
    62     gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
    59     gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
    63 
    60 
    64     if (iDtmf)
    61     if (iDtmf) {
    65         {
       
    66         ret = iDtmf->AddObserver(obsrvr, user_data);
    62         ret = iDtmf->AddObserver(obsrvr, user_data);
    67         }
    63     }
    68     return ret;
    64     return ret;
    69     }
    65 }
    70 
    66 
    71 gint QTMSDTMFImpl::RemoveObserver(TMS::TMSDTMFObserver& obsrvr)
    67 gint QTMSDTMFImpl::RemoveObserver(TMS::TMSDTMFObserver& obsrvr)
    72     {
    68 {
    73     gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
    69     gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
    74 
    70 
    75     if (iDtmf)
    71     if (iDtmf) {
    76         {
       
    77         ret = iDtmf->RemoveObserver(obsrvr);
    72         ret = iDtmf->RemoveObserver(obsrvr);
    78         }
    73     }
    79     return ret;
    74     return ret;
    80     }
    75 }
    81 
    76 
    82 void QTMSDTMFImpl::DTMFEvent(const TMS::TMSDTMF& /*dtmf*/,
    77 void QTMSDTMFImpl::DTMFEvent(const TMS::TMSDTMF& /*dtmf*/, TMS::TMSSignalEvent event)
    83         TMS::TMSSignalEvent event)
    78 {
    84     {
       
    85     QTMSSignalEvent qevent;
    79     QTMSSignalEvent qevent;
    86 
    80 
    87     qevent.type = event.type;
    81     qevent.type = event.type;
    88     qevent.reason = event.reason;
    82     qevent.reason = event.reason;
    89     qevent.curr_state = event.curr_state;
    83     qevent.curr_state = event.curr_state;
    90     qevent.prev_state = event.prev_state;
    84     qevent.prev_state = event.prev_state;
    91     qevent.event_data = event.event_data;
    85     qevent.event_data = event.event_data;
    92     qevent.user_data = event.user_data;
    86     qevent.user_data = event.user_data;
    93 
    87 
    94     emit QTMS::QTMSDTMF::DTMFEvent(static_cast<QTMSDTMF&> (*this), qevent);
    88     emit QTMS::QTMSDTMF::DTMFEvent(static_cast<QTMSDTMF&> (*this), qevent);
    95     }
    89 }
    96 
    90 
    97 // End of file
    91 // End of file