mmserv/tms/tmsproxy/src/tmsproxy.cpp
branchRCL_3
changeset 9 f5c5c82a163e
parent 7 3d8c721bf319
child 12 2eb3b066cc7d
equal deleted inserted replaced
8:03a293c97d5c 9:f5c5c82a163e
   433     gint status(TMS_RESULT_SUCCESS);
   433     gint status(TMS_RESULT_SUCCESS);
   434     switch (type)
   434     switch (type)
   435         {
   435         {
   436         case EMsgQueueGlobalVolumeType:
   436         case EMsgQueueGlobalVolumeType:
   437         case EMsgQueueGlobalGainType:
   437         case EMsgQueueGlobalGainType:
   438             status = AddGlobalEffectObserver((*(TMSEffectObserver*) obsrv),
   438             status = AddGlobalEffectObserver(
   439                     (*(TMSEffect*) parent), clientid);
   439                     *(static_cast<TMSEffectObserver*>(obsrv)),
   440             break;
   440                     *(static_cast<TMSEffect*>(parent)), clientid);
       
   441 			break;
   441         case EMsgQueueGlobalRoutingType:
   442         case EMsgQueueGlobalRoutingType:
   442             status = AddRoutingObserver((*(TMSGlobalRoutingObserver*) obsrv),
   443             status = AddRoutingObserver(
   443                     (*(TMSGlobalRouting*) parent), clientid);
   444                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)),
       
   445                     *(static_cast<TMSGlobalRouting*>(parent)), clientid);
   444             break;
   446             break;
   445         default:
   447         default:
   446             status = TMS_RESULT_INVALID_ARGUMENT;
   448             status = TMS_RESULT_INVALID_ARGUMENT;
   447             break;
   449             break;
   448         }
   450         }
   460 
   462 
   461     switch (type)
   463     switch (type)
   462         {
   464         {
   463         case EMsgQueueGlobalVolumeType:
   465         case EMsgQueueGlobalVolumeType:
   464         case EMsgQueueGlobalGainType:
   466         case EMsgQueueGlobalGainType:
   465             status = RemoveGlobalEffectObserver((*(TMSEffectObserver*) obsrv));
   467             status = RemoveGlobalEffectObserver(
       
   468                     *(static_cast<TMSEffectObserver*>(obsrv)));
   466             break;
   469             break;
   467         case EMsgQueueGlobalRoutingType:
   470         case EMsgQueueGlobalRoutingType:
   468             status = RemoveRoutingObserver((*(TMSGlobalRoutingObserver*)
   471             status = RemoveRoutingObserver(
   469                     obsrv));
   472                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)));
   470             break;
   473             break;
   471         default:
   474         default:
   472             status = TMS_RESULT_INVALID_ARGUMENT;
   475             status = TMS_RESULT_INVALID_ARGUMENT;
   473             break;
   476             break;
   474         }
   477         }
   612 // ---------------------------------------------------------------------------
   615 // ---------------------------------------------------------------------------
   613 // TMSProxy::QueueEvent
   616 // TMSProxy::QueueEvent
   614 // Call from QueueHandler as a result of TMS Server callback.
   617 // Call from QueueHandler as a result of TMS Server callback.
   615 // ---------------------------------------------------------------------------
   618 // ---------------------------------------------------------------------------
   616 //
   619 //
   617 void TMSProxy::QueueEvent(gint aEventType, gint aError, void* user_data)
   620 void TMSProxy::QueueEvent(gint aEventType, gint aError, void* event_data)
   618     {
   621     {
   619     TMSSignalEvent event;
   622     TMSSignalEvent event = {}; //all elements initialized to zeros
   620     event.type = aEventType;
   623     event.type = aEventType;
   621     event.reason = aError;
   624     event.reason = aError;
   622     event.user_data = user_data;
   625     event.user_data = NULL; //use only to return data passed in by the user
   623 
   626 
   624     switch (aEventType)
   627     switch (aEventType)
   625         {
   628         {
   626         case TMS_EVENT_EFFECT_VOL_CHANGED:
   629         case TMS_EVENT_EFFECT_VOL_CHANGED:
   627         case TMS_EVENT_EFFECT_GAIN_CHANGED:
   630             {
   628             {
   631             if (event_data)
       
   632                 {
       
   633                 event.event_data = static_cast<gpointer>(event_data);
       
   634                 }
   629             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
   635             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
   630                 {
   636                 {
   631                 iEffectsObsrvrList[i]->EffectsEvent(iEffectsParentList[i],
   637                 iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
       
   638                         event);
       
   639                 }
       
   640             break;
       
   641             }
       
   642         case TMS_EVENT_EFFECT_GAIN_CHANGED:
       
   643             {
       
   644             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
       
   645                 {
       
   646                 iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
   632                         event);
   647                         event);
   633                 }
   648                 }
   634             break;
   649             break;
   635             }
   650             }
   636         case TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED:
   651         case TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED:
   637         case TMS_EVENT_ROUTING_OUTPUT_CHANGED:
   652         case TMS_EVENT_ROUTING_OUTPUT_CHANGED:
   638         case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
   653         case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
   639             {
   654             {
   640             guint output(0);
   655             guint output(0);
   641             if (user_data != NULL)
   656             if (event_data != NULL)
   642                 {
   657                 {
   643                 output = *((guint*) user_data);
   658                 output = *(static_cast<guint*>(event_data));
   644                 }
   659                 }
   645             for (gint i = 0; i < iRoutingObsrvrList.Count(); i++)
   660             for (gint i = 0; i < iRoutingObsrvrList.Count(); i++)
   646                 {
   661                 {
   647                 iRoutingObsrvrList[i]->GlobalRoutingEvent(
   662                 iRoutingObsrvrList[i]->GlobalRoutingEvent(
   648                         iRoutingParentList[i], event, output);
   663                         *iRoutingParentList[i], event, output);
   649                 }
   664                 }
   650             break;
   665             break;
   651             }
   666             }
   652         default:
   667         default:
   653             break;
   668             break;