mmserv/tms/tmsproxy/src/tmsproxy.cpp
changeset 14 80975da52420
parent 12 5a06f39ad45b
child 20 b67dd1fc57c5
equal deleted inserted replaced
12:5a06f39ad45b 14:80975da52420
   653     gint status(TMS_RESULT_SUCCESS);
   653     gint status(TMS_RESULT_SUCCESS);
   654     switch (type)
   654     switch (type)
   655         {
   655         {
   656         case EMsgQueueGlobalVolumeType:
   656         case EMsgQueueGlobalVolumeType:
   657         case EMsgQueueGlobalGainType:
   657         case EMsgQueueGlobalGainType:
   658             status = AddGlobalEffectObserver((*(TMSEffectObserver*) obsrv),
   658             status = AddGlobalEffectObserver(
   659                     (*(TMSEffect*) parent), clientid);
   659                     *(static_cast<TMSEffectObserver*>(obsrv)),
   660             break;
   660                     *(static_cast<TMSEffect*>(parent)), clientid);
       
   661 			break;
   661         case EMsgQueueGlobalRoutingType:
   662         case EMsgQueueGlobalRoutingType:
   662             status = AddRoutingObserver((*(TMSGlobalRoutingObserver*) obsrv),
   663             status = AddRoutingObserver(
   663                     (*(TMSGlobalRouting*) parent), clientid);
   664                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)),
       
   665                     *(static_cast<TMSGlobalRouting*>(parent)), clientid);
   664             break;
   666             break;
   665         case EMsgQueueRingtoneType:
   667         case EMsgQueueRingtoneType:
   666             status = AddRingToneObserver((*(TMSRingToneObserver*) obsrv),
   668             status = AddRingToneObserver(
   667                     (*(TMSRingTone*) parent), clientid);
   669                     *(static_cast<TMSRingToneObserver*>(obsrv)),
       
   670                     *(static_cast<TMSRingTone*>(parent)), clientid);
   668             break;
   671             break;
   669         case EMsgQueueDTMFType:
   672         case EMsgQueueDTMFType:
   670             status = AddDTMFObserver((*(TMSDTMFObserver*) obsrv),
   673             status = AddDTMFObserver(*(static_cast<TMSDTMFObserver*>(obsrv)),
   671                     (*(TMSDTMF*) parent), clientid);
   674                     *(static_cast<TMSDTMF*>(parent)), clientid);
   672             break;
   675             break;
   673         case EMsgQueueInbandToneType:
   676         case EMsgQueueInbandToneType:
   674             status = AddInbandToneObserver((*(TMSInbandToneObserver*) obsrv),
   677             status = AddInbandToneObserver(
   675                     (*(TMSInbandTone*) parent), clientid);
   678                     *(static_cast<TMSInbandToneObserver*>(obsrv)),
       
   679                     *(static_cast<TMSInbandTone*>(parent)), clientid);
   676             break;
   680             break;
   677         default:
   681         default:
   678             status = TMS_RESULT_INVALID_ARGUMENT;
   682             status = TMS_RESULT_INVALID_ARGUMENT;
   679             break;
   683             break;
   680         }
   684         }
   692 
   696 
   693     switch (type)
   697     switch (type)
   694         {
   698         {
   695         case EMsgQueueGlobalVolumeType:
   699         case EMsgQueueGlobalVolumeType:
   696         case EMsgQueueGlobalGainType:
   700         case EMsgQueueGlobalGainType:
   697             status = RemoveGlobalEffectObserver((*(TMSEffectObserver*) obsrv));
   701             status = RemoveGlobalEffectObserver(
       
   702                     *(static_cast<TMSEffectObserver*>(obsrv)));
   698             break;
   703             break;
   699         case EMsgQueueGlobalRoutingType:
   704         case EMsgQueueGlobalRoutingType:
   700             status = RemoveRoutingObserver((*(TMSGlobalRoutingObserver*)
   705             status = RemoveRoutingObserver(
   701                     obsrv));
   706                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)));
   702             break;
   707             break;
   703         case EMsgQueueRingtoneType:
   708         case EMsgQueueRingtoneType:
   704             status = RemoveRingToneObserver((*(TMSRingToneObserver*) obsrv));
   709             status = RemoveRingToneObserver(
       
   710                     *(static_cast<TMSRingToneObserver*>(obsrv)));
   705             break;
   711             break;
   706         case EMsgQueueDTMFType:
   712         case EMsgQueueDTMFType:
   707             status = RemoveDTMFObserver((*(TMSDTMFObserver*) obsrv));
   713             status = RemoveDTMFObserver(
       
   714                     *(static_cast<TMSDTMFObserver*>(obsrv)));
   708             break;
   715             break;
   709         case EMsgQueueInbandToneType:
   716         case EMsgQueueInbandToneType:
   710             status = RemoveInbandToneObserver((*(TMSInbandToneObserver*)
   717             status = RemoveInbandToneObserver(
   711                     obsrv));
   718                     *(static_cast<TMSInbandToneObserver*>(obsrv)));
   712             break;
   719             break;
   713         default:
   720         default:
   714             status = TMS_RESULT_INVALID_ARGUMENT;
   721             status = TMS_RESULT_INVALID_ARGUMENT;
   715             break;
   722             break;
   716         }
   723         }
   952 // ---------------------------------------------------------------------------
   959 // ---------------------------------------------------------------------------
   953 // TMSProxy::QueueEvent
   960 // TMSProxy::QueueEvent
   954 // Call from QueueHandler as a result of TMS Server callback.
   961 // Call from QueueHandler as a result of TMS Server callback.
   955 // ---------------------------------------------------------------------------
   962 // ---------------------------------------------------------------------------
   956 //
   963 //
   957 void TMSProxy::QueueEvent(gint aEventType, gint aError, void* user_data)
   964 void TMSProxy::QueueEvent(gint aEventType, gint aError, void* event_data)
   958     {
   965     {
   959     TMSSignalEvent event;
   966     TMSSignalEvent event = {}; //all elements initialized to zeros
   960     event.type = aEventType;
   967     event.type = aEventType;
   961     event.reason = aError;
   968     event.reason = aError;
   962     event.user_data = user_data;
   969     event.user_data = NULL; //use only to return data passed in by the user
   963 
   970 
   964     switch (aEventType)
   971     switch (aEventType)
   965         {
   972         {
   966         case TMS_EVENT_EFFECT_VOL_CHANGED:
   973         case TMS_EVENT_EFFECT_VOL_CHANGED:
       
   974             {
       
   975             if (event_data)
       
   976                 {
       
   977                 event.event_data = static_cast<gpointer>(event_data);
       
   978                 }
       
   979             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
       
   980                 {
       
   981                 iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
       
   982                         event);
       
   983                 }
       
   984             break;
       
   985             }
   967         case TMS_EVENT_EFFECT_GAIN_CHANGED:
   986         case TMS_EVENT_EFFECT_GAIN_CHANGED:
   968             {
   987             {
   969             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
   988             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
   970                 {
   989                 {
   971                 iEffectsObsrvrList[i]->EffectsEvent(iEffectsParentList[i],
   990                 iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
   972                         event);
   991                         event);
   973                 }
   992                 }
   974             break;
   993             break;
   975             }
   994             }
   976         case TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED:
   995         case TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED:
   977         case TMS_EVENT_ROUTING_OUTPUT_CHANGED:
   996         case TMS_EVENT_ROUTING_OUTPUT_CHANGED:
   978         case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
   997         case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
   979             {
   998             {
   980             guint output(0);
   999             guint output(0);
   981             if (user_data != NULL)
  1000             if (event_data != NULL)
   982                 {
  1001                 {
   983                 output = *((guint*) user_data);
  1002                 output = *(static_cast<guint*>(event_data));
   984                 }
  1003                 }
   985             for (gint i = 0; i < iRoutingObsrvrList.Count(); i++)
  1004             for (gint i = 0; i < iRoutingObsrvrList.Count(); i++)
   986                 {
  1005                 {
   987                 iRoutingObsrvrList[i]->GlobalRoutingEvent(
  1006                 iRoutingObsrvrList[i]->GlobalRoutingEvent(
   988                         iRoutingParentList[i], event, output);
  1007                         *iRoutingParentList[i], event, output);
   989                 }
  1008                 }
   990             break;
  1009             break;
   991             }
  1010             }
   992         case TMS_EVENT_RINGTONE_OPEN_COMPLETE:
  1011         case TMS_EVENT_RINGTONE_OPEN_COMPLETE:
   993         case TMS_EVENT_RINGTONE_PLAY_COMPLETE:
  1012         case TMS_EVENT_RINGTONE_PLAY_COMPLETE:
   994         case TMS_EVENT_RINGTONE_DEINIT_COMPLETE:
  1013         case TMS_EVENT_RINGTONE_DEINIT_COMPLETE:
   995             {
  1014             {
   996             for (gint i = 0; i < iRingToneObsrvrList.Count(); i++)
  1015             for (gint i = 0; i < iRingToneObsrvrList.Count(); i++)
   997                 {
  1016                 {
   998                 iRingToneObsrvrList[i]->RingtoneEvent(iRingToneParentList[i],
  1017                 iRingToneObsrvrList[i]->RingtoneEvent(*iRingToneParentList[i],
   999                         event);
  1018                         event);
  1000                 }
  1019                 }
  1001             break;
  1020             break;
  1002             }
  1021             }
  1003         case TMS_EVENT_DTMF_TONE_STARTED:
  1022         case TMS_EVENT_DTMF_TONE_STARTED:
  1004         case TMS_EVENT_DTMF_TONE_STOPPED:
  1023         case TMS_EVENT_DTMF_TONE_STOPPED:
  1005             {
  1024             {
  1006             for (gint i = 0; i < iDTMFObsrvrList.Count(); i++)
  1025             for (gint i = 0; i < iDTMFObsrvrList.Count(); i++)
  1007                 {
  1026                 {
  1008                 iDTMFObsrvrList[i]->DTMFEvent(iDTMFParentList[i], event);
  1027                 iDTMFObsrvrList[i]->DTMFEvent(*iDTMFParentList[i], event);
  1009                 }
  1028                 }
  1010             break;
  1029             break;
  1011             }
  1030             }
  1012         case TMS_EVENT_INBAND_TONE_STARTED:
  1031         case TMS_EVENT_INBAND_TONE_STARTED:
  1013         case TMS_EVENT_INBAND_TONE_STOPPED:
  1032         case TMS_EVENT_INBAND_TONE_STOPPED:
  1014             {
  1033             {
  1015             for (gint i = 0; i < iInbandToneObsrvrList.Count(); i++)
  1034             for (gint i = 0; i < iInbandToneObsrvrList.Count(); i++)
  1016                 {
  1035                 {
  1017                 iInbandToneObsrvrList[i]->InbandToneEvent(
  1036                 iInbandToneObsrvrList[i]->InbandToneEvent(
  1018                         iInbandToneParentList[i], event);
  1037                         *iInbandToneParentList[i], event);
  1019                 }
  1038                 }
  1020             break;
  1039             break;
  1021             }
  1040             }
  1022         default:
  1041         default:
  1023             break;
  1042             break;