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; |