mmserv/tms/tmsimpl/src/tmsstreambodyimpl.cpp
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
equal deleted inserted replaced
19:095bea5f582e 20:0ac9a5310753
    47     iMsgQHandler(NULL),
    47     iMsgQHandler(NULL),
    48     iObserver(NULL),
    48     iObserver(NULL),
    49     iFormat(NULL),
    49     iFormat(NULL),
    50     iStreamState(TMS_STREAM_UNINITIALIZED)
    50     iStreamState(TMS_STREAM_UNINITIALIZED)
    51     {
    51     {
    52     TRACE_PRN_FN_ENT;
    52     //TMSStream::Construct(this);
    53     TRACE_PRN_FN_EXT;
       
    54     }
    53     }
    55 
    54 
    56 TMSStreamBodyImpl::~TMSStreamBodyImpl()
    55 TMSStreamBodyImpl::~TMSStreamBodyImpl()
    57     {
    56     {
    58     TRACE_PRN_FN_ENT;
       
    59     if (iMsgQHandler)
    57     if (iMsgQHandler)
    60         {
    58         {
    61         iMsgQHandler->Cancel();
    59         iMsgQHandler->Cancel();
    62         }
    60         }
    63     delete iMsgQHandler;
    61     delete iMsgQHandler;
    71     if (iContext.CallProxy && (iContext.StreamId != -1))
    69     if (iContext.CallProxy && (iContext.StreamId != -1))
    72         {
    70         {
    73         iContext.CallProxy->DeleteStream(iContext.CallType,
    71         iContext.CallProxy->DeleteStream(iContext.CallType,
    74                 iContext.StreamType, iContext.StreamId);
    72                 iContext.StreamType, iContext.StreamId);
    75         }
    73         }
    76     TRACE_PRN_FN_EXT;
       
    77     }
    74     }
    78 
    75 
    79 gint TMSStreamBodyImpl::Create(TMSCallType callType, TMSStreamType stype,
    76 gint TMSStreamBodyImpl::Create(TMSCallType callType, TMSStreamType stype,
    80         TMSCallProxy* proxy, TMSStream& parent, TMSStreamBody*& bodyimpl)
    77         TMSCallProxy* proxy, TMSStream& parent, TMSStreamBody*& bodyimpl)
    81     {
    78     {
   335 gint TMSStreamBodyImpl::GetStreamId()
   332 gint TMSStreamBodyImpl::GetStreamId()
   336     {
   333     {
   337     return iContext.StreamId;
   334     return iContext.StreamId;
   338     }
   335     }
   339 
   336 
   340 gint TMSStreamBodyImpl::Init(gint retrytime)
   337 gint TMSStreamBodyImpl::Init()
   341     {
   338     {
   342     gint ret(TMS_RESULT_SUCCESS);
   339     gint ret(TMS_RESULT_SUCCESS);
   343 
   340 
   344     ret = ValidateStream();
   341     ret = ValidateStream();
   345 
   342 
   356         }
   353         }
   357 
   354 
   358     if (iContext.CallProxy)
   355     if (iContext.CallProxy)
   359         {
   356         {
   360         ret = (iContext.CallProxy)->InitStream(iContext.CallType,
   357         ret = (iContext.CallProxy)->InitStream(iContext.CallType,
   361                 iContext.StreamType, iContext.StreamId, fmttype, &iMsgQueue,
   358                 iContext.StreamType, iContext.StreamId, fmttype, &iMsgQueue);
   362                 retrytime);
       
   363         }
   359         }
   364     else
   360     else
   365         {
   361         {
   366         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   362         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   367         }
   363         }
   491         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   487         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   492         }
   488         }
   493     return ret;
   489     return ret;
   494     }
   490     }
   495 
   491 
   496 gint TMSStreamBodyImpl::Start(gint retrytime)
   492 gint TMSStreamBodyImpl::Start()
   497     {
   493     {
   498     gint ret(TMS_RESULT_SUCCESS);
   494     gint ret(TMS_RESULT_SUCCESS);
   499     if (iContext.CallProxy)
   495     if (iContext.CallProxy)
   500         {
   496         {
   501         ret = (iContext.CallProxy)->StartStream(iContext.CallType,
   497         ret = (iContext.CallProxy)->StartStream(iContext.CallType,
   502                 iContext.StreamType, iContext.StreamId, retrytime);
   498                 iContext.StreamType, iContext.StreamId);
   503         }
   499         }
   504     else
   500     else
   505         {
   501         {
   506         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   502         ret = TMS_RESULT_UNINITIALIZED_OBJECT;
   507         }
   503         }
   720 
   716 
   721 void TMSStreamBodyImpl::QueueEvent(TInt aEventType, TInt aError,
   717 void TMSStreamBodyImpl::QueueEvent(TInt aEventType, TInt aError,
   722         void* user_data)
   718         void* user_data)
   723     {
   719     {
   724     TMSSignalEvent event = {}; //all elements initialized to zeros
   720     TMSSignalEvent event = {}; //all elements initialized to zeros
   725     event.reason = TMSRESULT(aError);
   721     event.reason = aError;
   726     event.user_data = user_data;
   722     event.user_data = user_data;
   727     iStreamState = aEventType;
   723     iStreamState = aEventType;
   728 
   724 
   729     switch (aEventType)
   725     switch (aEventType)
   730         {
   726         {
   735             {
   731             {
   736             event.curr_state = aEventType;
   732             event.curr_state = aEventType;
   737             event.prev_state = iPrevState;
   733             event.prev_state = iPrevState;
   738             if (iObserver)
   734             if (iObserver)
   739                 {
   735                 {
   740                 if (aError != TMS_RESULT_SUCCESS)
   736                 event.type = TMS_EVENT_STREAM_STATE_CHANGED;
   741                     {
       
   742                     event.type = TMS_EVENT_STREAM_STATE_CHANGE_ERROR;
       
   743                     }
       
   744                 else
       
   745                     {
       
   746                     event.type = TMS_EVENT_STREAM_STATE_CHANGED;
       
   747                     }
       
   748                 iObserver->TMSStreamEvent(*iParent, event);
   737                 iObserver->TMSStreamEvent(*iParent, event);
   749                 }
   738                 }
   750             break;
   739             break;
   751             }
   740             }
   752         default:
   741         default: