mmserv/tms/tmsserver/src/tmsserversession.cpp
branchRCL_3
changeset 10 3d8c721bf319
parent 3 4f62049db6ac
child 13 f5c5c82a163e
equal deleted inserted replaced
8:e35735ece90c 10:3d8c721bf319
    97 //
    97 //
    98 void TMSServerSession::ServiceL(const RMessage2& aMessage)
    98 void TMSServerSession::ServiceL(const RMessage2& aMessage)
    99     {
    99     {
   100     TRAPD(err, DispatchMessageL(aMessage));
   100     TRAPD(err, DispatchMessageL(aMessage));
   101 
   101 
   102     if (err != KErrNone)
   102     if (err != TMS_RESULT_SUCCESS)
   103         {
   103         {
   104         aMessage.Complete(err);
   104         aMessage.Complete(err);
   105         }
   105         }
   106     }
   106     }
   107 
   107 
   141         case ETMSGetAvailableOutputs:
   141         case ETMSGetAvailableOutputs:
   142             iServer.GetAvailableOutputs(aMessage);
   142             iServer.GetAvailableOutputs(aMessage);
   143             break;
   143             break;
   144         case ETMSStartRoutingNotifier:
   144         case ETMSStartRoutingNotifier:
   145             iServer.StartRoutingNotifierL();
   145             iServer.StartRoutingNotifierL();
   146             aMessage.Complete(KErrNone);
   146             aMessage.Complete(TMS_RESULT_SUCCESS);
   147             break;
   147             break;
   148         case ETMSCancelRoutingNotifier:
   148         case ETMSCancelRoutingNotifier:
   149             iServer.CancelRoutingNotifier();
   149             iServer.CancelRoutingNotifier();
   150             aMessage.Complete(KErrNone);
   150             aMessage.Complete(TMS_RESULT_SUCCESS);
   151             break;
   151             break;
   152         case ETMSStartGlobalEffectNotifier:
   152         case ETMSStartGlobalEffectNotifier:
   153             iServer.StartCenRepHandlerL();
   153             iServer.StartCenRepHandlerL();
   154             aMessage.Complete(KErrNone);
   154             aMessage.Complete(TMS_RESULT_SUCCESS);
   155             break;
   155             break;
   156         case ETMSCancelGlobalEffectNotifier:
   156         case ETMSCancelGlobalEffectNotifier:
   157             iServer.CancelCenRepHandler();
   157             iServer.CancelCenRepHandler();
   158             aMessage.Complete(KErrNone);
   158             aMessage.Complete(TMS_RESULT_SUCCESS);
   159             break;
   159             break;
   160         case ETMSSetMsgQueueHandle:
   160         case ETMSSetMsgQueueHandle:
   161             SetMessageQueueHandleL(aMessage);
   161             SetMessageQueueHandleL(aMessage);
   162             break;
   162             break;
   163         case ETMSSetGlobalVol:
   163         case ETMSSetGlobalVol:
   190 // Open message queue for handling server notifications back to the client.
   190 // Open message queue for handling server notifications back to the client.
   191 // -----------------------------------------------------------------------------
   191 // -----------------------------------------------------------------------------
   192 //
   192 //
   193 void TMSServerSession::SetMessageQueueHandleL(const RMessage2& aMessage)
   193 void TMSServerSession::SetMessageQueueHandleL(const RMessage2& aMessage)
   194     {
   194     {
   195     gint status = KErrNone;
   195     gint status = TMS_RESULT_SUCCESS;
   196     if (iMsgQueue.Handle() <= 0)
   196     if (iMsgQueue.Handle() <= 0)
   197         {
   197         {
   198         status = iMsgQueue.Open(aMessage, 0);
   198         status = iMsgQueue.Open(aMessage, 0);
   199         }
   199         }
   200     if (status != KErrNone)
   200     if (status != TMS_RESULT_SUCCESS)
   201         {
   201         {
   202         User::Leave(KErrArgument);
   202         User::Leave(KErrArgument);
   203         }
   203         }
   204     aMessage.Complete(KErrNone);
   204     aMessage.Complete(TMS_RESULT_SUCCESS);
   205     }
   205     }
   206 
   206 
   207 // -----------------------------------------------------------------------------
   207 // -----------------------------------------------------------------------------
   208 // TMSServerSession::SetVolLevel
   208 // TMSServerSession::SetVolLevel
   209 // -----------------------------------------------------------------------------
   209 // -----------------------------------------------------------------------------
   210 //
   210 //
   211 void TMSServerSession::SetVolLevel(const RMessage2& aMessage)
   211 void TMSServerSession::SetVolLevel(const RMessage2& aMessage)
   212     {
   212     {
   213     TInt level = aMessage.Int0();
   213     TInt level = aMessage.Int0();
   214     iServer.SetLevel(this, TRUE, level);
   214     iServer.SetLevel(this, TRUE, level);
   215     aMessage.Complete(KErrNone);
   215     aMessage.Complete(TMS_RESULT_SUCCESS);
   216     }
   216     }
   217 
   217 
   218 // -----------------------------------------------------------------------------
   218 // -----------------------------------------------------------------------------
   219 // TMSServerSession::SetMicGain
   219 // TMSServerSession::SetMicGain
   220 // -----------------------------------------------------------------------------
   220 // -----------------------------------------------------------------------------
   221 //
   221 //
   222 void TMSServerSession::SetMicGain(const RMessage2& aMessage)
   222 void TMSServerSession::SetMicGain(const RMessage2& aMessage)
   223     {
   223     {
   224     TInt gain = aMessage.Int0();
   224     TInt gain = aMessage.Int0();
   225     iServer.SetGain(this, gain);
   225     iServer.SetGain(this, gain);
   226     aMessage.Complete(KErrNone);
   226     aMessage.Complete(TMS_RESULT_SUCCESS);
   227     }
   227     }
   228 
   228 
   229 // -----------------------------------------------------------------------------
   229 // -----------------------------------------------------------------------------
   230 // TMSServerSession::HandleGlobalEffectChange
   230 // TMSServerSession::HandleGlobalEffectChange
   231 // -----------------------------------------------------------------------------
   231 // -----------------------------------------------------------------------------
   232 //
   232 //
   233 void TMSServerSession::HandleGlobalEffectChange(TInt globalevent)
   233 void TMSServerSession::HandleGlobalEffectChange(TInt globalevent)
   234     {
   234     {
   235     TRACE_PRN_FN_ENT;
   235     TRACE_PRN_FN_ENT;
   236     iMsgBuffer.iRequest = ECmdGlobalEffectChange;
       
   237     iMsgBuffer.iStatus = KErrNone;
       
   238     iMsgBuffer.iInt = globalevent;
   236     iMsgBuffer.iInt = globalevent;
   239     NotifyClient();
   237     NotifyClient(ECmdGlobalEffectChange);
   240     TRACE_PRN_FN_EXT;
   238     TRACE_PRN_FN_EXT;
   241     }
   239     }
   242 
   240 
   243 // -----------------------------------------------------------------------------
   241 // -----------------------------------------------------------------------------
   244 // TMSServerSession::HandleRoutingChange
   242 // TMSServerSession::HandleRoutingChange
   245 // -----------------------------------------------------------------------------
   243 // -----------------------------------------------------------------------------
   246 //
   244 //
   247 void TMSServerSession::HandleRoutingChange(TRoutingMsgBufPckg routinginfo)
   245 void TMSServerSession::HandleRoutingChange(TRoutingMsgBufPckg routinginfo)
   248     {
   246     {
   249     TRACE_PRN_FN_ENT;
   247     TRACE_PRN_FN_ENT;
   250     iMsgBuffer.iRequest = ECmdGlobalRoutingChange;
       
   251     iMsgBuffer.iStatus = KErrNone;
       
   252     iMsgBuffer.iInt = routinginfo().iEvent;
   248     iMsgBuffer.iInt = routinginfo().iEvent;
   253     iMsgBuffer.iUint = routinginfo().iOutput;
   249     iMsgBuffer.iUint = routinginfo().iOutput;
   254     NotifyClient();
   250     NotifyClient(ECmdGlobalRoutingChange);
   255     TRACE_PRN_FN_EXT;
   251     TRACE_PRN_FN_EXT;
   256     }
   252     }
   257 
   253 
   258 // -----------------------------------------------------------------------------
   254 // -----------------------------------------------------------------------------
   259 // TMSServerSession::GetTMSCallSessionHandleL
   255 // TMSServerSession::GetTMSCallSessionHandleL
   278 // -----------------------------------------------------------------------------
   274 // -----------------------------------------------------------------------------
   279 //
   275 //
   280 void TMSServerSession::GetCodecsCountL(const RMessage2& aMessage,
   276 void TMSServerSession::GetCodecsCountL(const RMessage2& aMessage,
   281         TMSStreamType strmType)
   277         TMSStreamType strmType)
   282     {
   278     {
   283     TInt err = KErrNone;
   279     TInt err = TMS_RESULT_SUCCESS;
   284     TInt codecsCount = 0;
   280     TInt codecsCount = 0;
   285 
   281 
   286     RArray<TFourCC>* codecs;
   282     RArray<TFourCC>* codecs;
   287     iServer.GetSupportedCodecs(strmType, codecs);
   283     iServer.GetSupportedCodecs(strmType, codecs);
   288 
   284 
   330 #else
   326 #else
   331     p().iUint = KTMSG711FrameLen20ms;
   327     p().iUint = KTMSG711FrameLen20ms;
   332 #endif //__WINSCW__
   328 #endif //__WINSCW__
   333     p().iStatus = err;
   329     p().iStatus = err;
   334     aMessage.WriteL(0, p);
   330     aMessage.WriteL(0, p);
   335     aMessage.Complete(KErrNone);
   331     aMessage.Complete(TMS_RESULT_SUCCESS);
   336     }
   332     }
   337 
   333 
   338 // -----------------------------------------------------------------------------
   334 // -----------------------------------------------------------------------------
   339 // TMSServerSession::GetSupportedEncodersL
   335 // TMSServerSession::GetSupportedEncodersL
   340 //
   336 //
   364         }
   360         }
   365 
   361 
   366     aMessage.WriteL(0, dataCopyBuffer->Ptr(0));
   362     aMessage.WriteL(0, dataCopyBuffer->Ptr(0));
   367     CleanupStack::PopAndDestroy(&stream);
   363     CleanupStack::PopAndDestroy(&stream);
   368     CleanupStack::PopAndDestroy(dataCopyBuffer);
   364     CleanupStack::PopAndDestroy(dataCopyBuffer);
   369     aMessage.Complete(KErrNone);
   365     aMessage.Complete(TMS_RESULT_SUCCESS);
   370 
   366 
   371     TRACE_PRN_FN_EXT;
   367     TRACE_PRN_FN_EXT;
   372     }
   368     }
   373 
   369 
   374 // -----------------------------------------------------------------------------
   370 // -----------------------------------------------------------------------------
   377 //
   373 //
   378 void TMSServerSession::SetOutput(const RMessage2& aMessage)
   374 void TMSServerSession::SetOutput(const RMessage2& aMessage)
   379     {
   375     {
   380     TInt output = aMessage.Int0();
   376     TInt output = aMessage.Int0();
   381     iServer.SetOutput(this, output);
   377     iServer.SetOutput(this, output);
   382     aMessage.Complete(KErrNone);
   378     aMessage.Complete(TMS_RESULT_SUCCESS);
   383     }
   379     }
   384 
   380 
   385 // -----------------------------------------------------------------------------
   381 // -----------------------------------------------------------------------------
   386 // TMSServerSession::NotifyClient
   382 // TMSServerSession::NotifyClient
   387 // -----------------------------------------------------------------------------
   383 // -----------------------------------------------------------------------------
   388 //
   384 //
   389 void TMSServerSession::NotifyClient()
   385 void TMSServerSession::NotifyClient(const TInt aCommand, const TInt aStatus)
   390     {
   386     {
       
   387     iMsgBuffer.iRequest = aCommand;
       
   388     iMsgBuffer.iStatus = aStatus;
   391     if (iMsgQueue.Handle() > 0)
   389     if (iMsgQueue.Handle() > 0)
   392         {
   390         {
   393         iMsgQueue.Send(iMsgBuffer);
   391         iMsgQueue.Send(iMsgBuffer);
   394         }
   392         }
   395     }
   393     }