mmserv/tms/tmsproxy/src/tmsproxy.cpp
changeset 14 80975da52420
parent 12 5a06f39ad45b
child 20 b67dd1fc57c5
--- a/mmserv/tms/tmsproxy/src/tmsproxy.cpp	Fri Apr 16 15:29:42 2010 +0300
+++ b/mmserv/tms/tmsproxy/src/tmsproxy.cpp	Mon May 03 12:59:52 2010 +0300
@@ -655,24 +655,28 @@
         {
         case EMsgQueueGlobalVolumeType:
         case EMsgQueueGlobalGainType:
-            status = AddGlobalEffectObserver((*(TMSEffectObserver*) obsrv),
-                    (*(TMSEffect*) parent), clientid);
-            break;
+            status = AddGlobalEffectObserver(
+                    *(static_cast<TMSEffectObserver*>(obsrv)),
+                    *(static_cast<TMSEffect*>(parent)), clientid);
+			break;
         case EMsgQueueGlobalRoutingType:
-            status = AddRoutingObserver((*(TMSGlobalRoutingObserver*) obsrv),
-                    (*(TMSGlobalRouting*) parent), clientid);
+            status = AddRoutingObserver(
+                    *(static_cast<TMSGlobalRoutingObserver*>(obsrv)),
+                    *(static_cast<TMSGlobalRouting*>(parent)), clientid);
             break;
         case EMsgQueueRingtoneType:
-            status = AddRingToneObserver((*(TMSRingToneObserver*) obsrv),
-                    (*(TMSRingTone*) parent), clientid);
+            status = AddRingToneObserver(
+                    *(static_cast<TMSRingToneObserver*>(obsrv)),
+                    *(static_cast<TMSRingTone*>(parent)), clientid);
             break;
         case EMsgQueueDTMFType:
-            status = AddDTMFObserver((*(TMSDTMFObserver*) obsrv),
-                    (*(TMSDTMF*) parent), clientid);
+            status = AddDTMFObserver(*(static_cast<TMSDTMFObserver*>(obsrv)),
+                    *(static_cast<TMSDTMF*>(parent)), clientid);
             break;
         case EMsgQueueInbandToneType:
-            status = AddInbandToneObserver((*(TMSInbandToneObserver*) obsrv),
-                    (*(TMSInbandTone*) parent), clientid);
+            status = AddInbandToneObserver(
+                    *(static_cast<TMSInbandToneObserver*>(obsrv)),
+                    *(static_cast<TMSInbandTone*>(parent)), clientid);
             break;
         default:
             status = TMS_RESULT_INVALID_ARGUMENT;
@@ -694,21 +698,24 @@
         {
         case EMsgQueueGlobalVolumeType:
         case EMsgQueueGlobalGainType:
-            status = RemoveGlobalEffectObserver((*(TMSEffectObserver*) obsrv));
+            status = RemoveGlobalEffectObserver(
+                    *(static_cast<TMSEffectObserver*>(obsrv)));
             break;
         case EMsgQueueGlobalRoutingType:
-            status = RemoveRoutingObserver((*(TMSGlobalRoutingObserver*)
-                    obsrv));
+            status = RemoveRoutingObserver(
+                    *(static_cast<TMSGlobalRoutingObserver*>(obsrv)));
             break;
         case EMsgQueueRingtoneType:
-            status = RemoveRingToneObserver((*(TMSRingToneObserver*) obsrv));
+            status = RemoveRingToneObserver(
+                    *(static_cast<TMSRingToneObserver*>(obsrv)));
             break;
         case EMsgQueueDTMFType:
-            status = RemoveDTMFObserver((*(TMSDTMFObserver*) obsrv));
+            status = RemoveDTMFObserver(
+                    *(static_cast<TMSDTMFObserver*>(obsrv)));
             break;
         case EMsgQueueInbandToneType:
-            status = RemoveInbandToneObserver((*(TMSInbandToneObserver*)
-                    obsrv));
+            status = RemoveInbandToneObserver(
+                    *(static_cast<TMSInbandToneObserver*>(obsrv)));
             break;
         default:
             status = TMS_RESULT_INVALID_ARGUMENT;
@@ -954,21 +961,33 @@
 // Call from QueueHandler as a result of TMS Server callback.
 // ---------------------------------------------------------------------------
 //
-void TMSProxy::QueueEvent(gint aEventType, gint aError, void* user_data)
+void TMSProxy::QueueEvent(gint aEventType, gint aError, void* event_data)
     {
-    TMSSignalEvent event;
+    TMSSignalEvent event = {}; //all elements initialized to zeros
     event.type = aEventType;
     event.reason = aError;
-    event.user_data = user_data;
+    event.user_data = NULL; //use only to return data passed in by the user
 
     switch (aEventType)
         {
         case TMS_EVENT_EFFECT_VOL_CHANGED:
+            {
+            if (event_data)
+                {
+                event.event_data = static_cast<gpointer>(event_data);
+                }
+            for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
+                {
+                iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
+                        event);
+                }
+            break;
+            }
         case TMS_EVENT_EFFECT_GAIN_CHANGED:
             {
             for (gint i = 0; i < iEffectsObsrvrList.Count(); i++)
                 {
-                iEffectsObsrvrList[i]->EffectsEvent(iEffectsParentList[i],
+                iEffectsObsrvrList[i]->EffectsEvent(*iEffectsParentList[i],
                         event);
                 }
             break;
@@ -978,14 +997,14 @@
         case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
             {
             guint output(0);
-            if (user_data != NULL)
+            if (event_data != NULL)
                 {
-                output = *((guint*) user_data);
+                output = *(static_cast<guint*>(event_data));
                 }
             for (gint i = 0; i < iRoutingObsrvrList.Count(); i++)
                 {
                 iRoutingObsrvrList[i]->GlobalRoutingEvent(
-                        iRoutingParentList[i], event, output);
+                        *iRoutingParentList[i], event, output);
                 }
             break;
             }
@@ -995,7 +1014,7 @@
             {
             for (gint i = 0; i < iRingToneObsrvrList.Count(); i++)
                 {
-                iRingToneObsrvrList[i]->RingtoneEvent(iRingToneParentList[i],
+                iRingToneObsrvrList[i]->RingtoneEvent(*iRingToneParentList[i],
                         event);
                 }
             break;
@@ -1005,7 +1024,7 @@
             {
             for (gint i = 0; i < iDTMFObsrvrList.Count(); i++)
                 {
-                iDTMFObsrvrList[i]->DTMFEvent(iDTMFParentList[i], event);
+                iDTMFObsrvrList[i]->DTMFEvent(*iDTMFParentList[i], event);
                 }
             break;
             }
@@ -1015,7 +1034,7 @@
             for (gint i = 0; i < iInbandToneObsrvrList.Count(); i++)
                 {
                 iInbandToneObsrvrList[i]->InbandToneEvent(
-                        iInbandToneParentList[i], event);
+                        *iInbandToneParentList[i], event);
                 }
             break;
             }