mmserv/tms/tmsimpl/src/tmsglobalvoleffectbodyimpl.cpp
branchRCL_3
changeset 7 3d8c721bf319
parent 0 71ca22bcf22a
child 12 2eb3b066cc7d
--- a/mmserv/tms/tmsimpl/src/tmsglobalvoleffectbodyimpl.cpp	Mon Mar 15 12:42:35 2010 +0200
+++ b/mmserv/tms/tmsimpl/src/tmsglobalvoleffectbodyimpl.cpp	Wed Mar 31 22:29:45 2010 +0300
@@ -26,7 +26,7 @@
 TMSGlobalVolEffectBodyImpl::TMSGlobalVolEffectBodyImpl() :
     iObserver(NULL),
     iProxy(NULL),
-    iGlobalEffect(NULL)
+    iParent(NULL)
     {
     }
 
@@ -39,7 +39,7 @@
         iProxy = NULL;
         }
     iObserver = NULL;
-    iGlobalEffect = NULL;
+    iParent = NULL;
     iUserData = NULL;
     }
 
@@ -65,34 +65,39 @@
     gint ret(TMS_RESULT_SUCCESS);
     iClientId = 1;
     iProxy = new TMSProxy;
-    if (iProxy)
+    if (!iProxy)
         {
-        if (iProxy->Connect() != TMS_RESULT_SUCCESS)
-            {
-            delete iProxy;
-            iProxy = NULL;
-            ret = TMS_RESULT_FATAL_ERROR;
-            }
+        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
+        }
+    RET_REASON_IF_ERR(ret);
+
+    if (iProxy->Connect() != TMS_RESULT_SUCCESS)
+        {
+        delete iProxy;
+        iProxy = NULL;
+        ret = TMS_RESULT_FATAL_ERROR;
         }
     else
         {
-        ret = TMS_RESULT_UNINITIALIZED_OBJECT;
+        // Starts TAR if not started already;
+        ret = iProxy->StartRoutingNotifier();
         }
+    RET_REASON_IF_ERR(ret);
     return ret;
     }
 
 gint TMSGlobalVolEffectBodyImpl::AddObserver(TMSEffectObserver& obsrvr,
-        gpointer /*user_data*/)
+        gpointer user_data)
     {
     gint ret(TMS_RESULT_SUCCESS);
     if (!iObserver)
         {
         iObserver = &obsrvr;
-        //iUserData = user_data;
+        iUserData = user_data;
         if (iProxy)
             {
             ret = iProxy->SetMsgQueueNotifier(EMsgQueueGlobalVolumeType,
-                    iObserver, iGlobalEffect, iClientId);
+                    iObserver, iParent, iClientId);
             if (ret == TMS_RESULT_SUCCESS)
                 {
                 ret = iProxy->StartGlobalEffectNotifier();
@@ -113,12 +118,13 @@
 gint TMSGlobalVolEffectBodyImpl::RemoveObserver(TMSEffectObserver& obsrvr)
     {
     gint ret(TMS_RESULT_SUCCESS);
-
     if (iProxy && (&obsrvr == iObserver))
         {
-        iProxy->RemoveMsgQueueNotifier(EMsgQueueGlobalVolumeType, iObserver);
+        ret = iProxy->RemoveMsgQueueNotifier(EMsgQueueGlobalVolumeType,
+            iObserver);
         iObserver = NULL;
-        //ret = iProxy->StopEffectNotifier(obsrvr);
+        ret = iProxy->CancelGlobalEffectNotifier();
+        ret = iProxy->CancelRoutingNotifier();
         }
     else
         {
@@ -176,10 +182,8 @@
     return ret;
     }
 
-void TMSGlobalVolEffectBodyImpl::SetParentEffect(TMSEffect*& parenteffect)
+void TMSGlobalVolEffectBodyImpl::SetParent(TMSEffect*& parent)
     {
-    iGlobalEffect = NULL;
-    iGlobalEffect = parenteffect;
+    iParent = parent;
     }
 
-// End of file