multimediacommsengine/mmcecli/src/mcefactory.cpp
branchrcs
changeset 49 64c62431ac08
parent 0 1bce908db942
equal deleted inserted replaced
44:fb024d5e35fa 49:64c62431ac08
    17 
    17 
    18 
    18 
    19 
    19 
    20 
    20 
    21 #include <s32buf.h>
    21 #include <s32buf.h>
       
    22 #include <mcedefs.h>
    22 
    23 
    23 #include "mceinsession.h"
    24 #include "mceinsession.h"
    24 #include "mceoutsession.h"
    25 #include "mceoutsession.h"
    25 #include "mceaudiostream.h"
    26 #include "mceaudiostream.h"
    26 #include "mcevideostream.h"
    27 #include "mcevideostream.h"
    46 #include "mcedefs.h"
    47 #include "mcedefs.h"
    47 #include "mcevideocodec.h"
    48 #include "mcevideocodec.h"
    48 #include "mcestreambundle.h"
    49 #include "mcestreambundle.h"
    49 #include "mceavsink.h"
    50 #include "mceavsink.h"
    50 #include "mceavccodec.h"
    51 #include "mceavccodec.h"
       
    52 #include "mcemessagestream.h"
       
    53 #include "mcemsrpsource.h"
       
    54 #include "mcemsrpsink.h"
       
    55 #include "mceexternalsource.h"
       
    56 #include "mceexternalsink.h"
       
    57 #include "mcemsrpcodec.h"
       
    58 #include "mcemessagesource.h"
       
    59 #include "mcemessagesink.h"
       
    60 
    51 
    61 
    52 // ============================ MEMBER FUNCTIONS ===============================
    62 // ============================ MEMBER FUNCTIONS ===============================
    53 
    63 
    54 
    64 
    55 // -----------------------------------------------------------------------------
    65 // -----------------------------------------------------------------------------
   252             }
   262             }
   253         case KMceVideo:
   263         case KMceVideo:
   254             {
   264             {
   255             stream = CMceVideoStream::NewLC();
   265             stream = CMceVideoStream::NewLC();
   256             break;
   266             break;
   257             }            
   267             }
       
   268         case KMceMessage:
       
   269             {
       
   270             stream = CMceMessageStream::NewLC();
       
   271             break;
       
   272             }
   258         default:
   273         default:
   259             {
   274             {
   260             break;
   275             break;
   261             }
   276             }
   262         }
   277         }
   322         case KMceFileSource:
   337         case KMceFileSource:
   323             {
   338             {
   324             source = CMceFileSource::NewLC();
   339             source = CMceFileSource::NewLC();
   325             break;
   340             break;
   326             }
   341             }
       
   342         case KMceMSRPSource:
       
   343             {
       
   344             source = CMceMsrpSource::NewLC();
       
   345             break;
       
   346             }
       
   347         case KMceExternalSource:
       
   348             {
       
   349             source = CMceExternalSource::NewLC();
       
   350             break;
       
   351             }
       
   352         case KMceMessageSource:
       
   353             {
       
   354             source = CMceMessageSource::NewLC();
       
   355             break;
       
   356             }     
   327         default:
   357         default:
   328             {
   358             {
   329             break;
   359             break;
   330             }
   360             }
   331         }
   361         }
   384             break;
   414             break;
   385             }
   415             }
   386         case KMceFileSink:
   416         case KMceFileSink:
   387             {
   417             {
   388             sink = CMceFileSink::NewLC();
   418             sink = CMceFileSink::NewLC();
       
   419             break;
       
   420             }
       
   421         case KMceMSRPSink:
       
   422             {
       
   423             sink = CMceMsrpSink::NewLC();
       
   424             break;
       
   425             }
       
   426         case KMceExternalSink:
       
   427             {
       
   428             sink = CMceExternalSink::NewLC();
       
   429             break;
       
   430             }
       
   431         case KMceMessageSink:
       
   432             {
       
   433             sink = CMceMessageSink::NewLC();
   389             break;
   434             break;
   390             }
   435             }
   391         default:
   436         default:
   392             {
   437             {
   393             break;
   438             break;
   596     CleanupStack::PushL( codec );
   641     CleanupStack::PushL( codec );
   597     codec->InternalizeL( aSerCtx );
   642     codec->InternalizeL( aSerCtx );
   598     return codec;    
   643     return codec;    
   599     }
   644     }
   600 
   645 
       
   646 
       
   647 // -----------------------------------------------------------------------------
       
   648 // TMceMessageCodecFactory::CreateLC
       
   649 // -----------------------------------------------------------------------------
       
   650 //
       
   651 CMceMessageCodec* TMceMessageCodecFactory::CreateLC( TBuf8<KMceMaxSdpNameLength> aSdpName )
       
   652     {
       
   653     CMceMessageCodec* codec = CreateL( aSdpName );
       
   654     CleanupStack::PushL( codec );
       
   655 	return codec;     
       
   656     }
       
   657     
       
   658 // -----------------------------------------------------------------------------
       
   659 // TMceMessageCodecFactory::CreateL
       
   660 // -----------------------------------------------------------------------------
       
   661 //
       
   662 CMceMessageCodec* TMceMessageCodecFactory::CreateL( TBuf8<KMceMaxSdpNameLength> aSdpName )
       
   663     {
       
   664     CMceMessageCodec* codec = NULL;
       
   665     if( !aSdpName.CompareF(KMceSDPNameMsrp) )
       
   666         {
       
   667         codec = CMceMsrpCodec::NewL( aSdpName );
       
   668         } 
       
   669     //else if( !aSdpName.CompareF(KMceSDPNameRED) )
       
   670     //    {
       
   671     //    codec = CMceRedCodec::NewL( aSdpName );
       
   672     //    } 
       
   673     else
       
   674         {
       
   675         User::Leave( KErrNotSupported );
       
   676         }
       
   677 	return codec;
       
   678 	        
       
   679     }
       
   680 
       
   681 // -----------------------------------------------------------------------------
       
   682 // TMceMessageCodecFactory::CreateLC
       
   683 // -----------------------------------------------------------------------------
       
   684 //
       
   685 CMceMessageCodec* TMceMessageCodecFactory::CreateLC( MMceComSerializationContext& aSerCtx )
       
   686     {
       
   687     RReadStream& readStream = aSerCtx.ReadStream();
       
   688     
       
   689     MStreamBuf* streamBuf = readStream.Source();
       
   690     TStreamPos pos = streamBuf->TellL( MStreamBuf::ERead );
       
   691     TBuf8<KMceMaxSdpNameLength> sdpName;
       
   692     MceSerial::DecodeL( sdpName, readStream );
       
   693     
       
   694     streamBuf->SeekL( MStreamBuf::ERead, pos );
       
   695     
       
   696     CMceMessageCodec* codec = CreateL( sdpName );
       
   697     CleanupStack::PushL( codec );
       
   698     codec->InternalizeL( aSerCtx );
       
   699     return codec;    
       
   700     }