multimediacommsengine/mmceshared/src/mcecomfactory.cpp
branchrcs
changeset 49 64c62431ac08
parent 0 1bce908db942
equal deleted inserted replaced
44:fb024d5e35fa 49:64c62431ac08
    59 #include "mcecomh263codec.h"
    59 #include "mcecomh263codec.h"
    60 #include "mcecomstreambundle.h"
    60 #include "mcecomstreambundle.h"
    61 #include "mcecomavccodec.h"
    61 #include "mcecomavccodec.h"
    62 #include "mcecomamrwbcodec.h"
    62 #include "mcecomamrwbcodec.h"
    63 #include "mceserial.h"
    63 #include "mceserial.h"
    64 
    64 #include "mcemessagestream.h"
    65 
    65 #include "mcecommessagestream.h"
       
    66 #include "mcemsrpsource.h"
       
    67 #include "mcecommsrpsource.h"
       
    68 #include "mcemsrpsink.h"
       
    69 #include "mcecommsrpsink.h"
       
    70 #include "mceexternalsink.h"
       
    71 #include "mcecomexternalsink.h"
       
    72 #include "mcecomexternalsource.h"
       
    73 #include "mcemessagesink.h"
       
    74 #include "mcemessagesource.h"
       
    75 #include "mcecommessagesink.h"
       
    76 #include "mcecommessagesource.h"
       
    77 #include "mceexternalsource.h"
       
    78 #include "mcemessagecodec.h"
       
    79 #include "mcecommessagecodec.h"
       
    80 #include "mcecommsrpcodec.h"
    66 
    81 
    67 // ============================ MEMBER FUNCTIONS ===============================
    82 // ============================ MEMBER FUNCTIONS ===============================
    68 
    83 
    69 
    84 
    70 // -----------------------------------------------------------------------------
    85 // -----------------------------------------------------------------------------
   259         case KMceVideo:
   274         case KMceVideo:
   260             {
   275             {
   261             stream = CMceComVideoStream::NewLC();
   276             stream = CMceComVideoStream::NewLC();
   262             break;
   277             break;
   263             }
   278             }
       
   279 		case KMceMessage:
       
   280 			{
       
   281 			stream = CMceComMessageStream::NewLC();
       
   282 			break;
       
   283 			}
   264         default:
   284         default:
   265             {
   285             {
   266             break;
   286             break;
   267             }
   287             }
   268         }
   288         }
   327         case KMceFileSource:
   347         case KMceFileSource:
   328             {
   348             {
   329             source = CMceComFileSource::NewLC();
   349             source = CMceComFileSource::NewLC();
   330             break;
   350             break;
   331             }
   351             }
       
   352 		case KMceExternalSource:
       
   353             {
       
   354             source = CMceComExternalSource::NewLC();
       
   355             break;
       
   356             }
       
   357             
       
   358 		case KMceMessageSource:
       
   359 		    {
       
   360 		    source = CMceComMessageSource::NewLC();
       
   361 		    break;
       
   362 		    }
       
   363 			
       
   364 		case KMceMSRPSource:
       
   365             {
       
   366             source = CMceComMsrpSource::NewLC();
       
   367             break;
       
   368             }
   332         default:
   369         default:
   333             {
   370             {
   334             break;
   371             break;
   335             }
   372             }
   336         }
   373         }
   392         case KMceFileSink:
   429         case KMceFileSink:
   393             {
   430             {
   394             sink = CMceComFileSink::NewLC();
   431             sink = CMceComFileSink::NewLC();
   395             break;
   432             break;
   396             }
   433             }
       
   434 		case KMceExternalSink:
       
   435 			{
       
   436 			sink = CMceComExternalSink::NewLC();
       
   437 			break;
       
   438 			}
       
   439 		case KMceMessageSink:
       
   440 		    {
       
   441 		    sink = CMceComMessageSink::NewLC();
       
   442 		    break;
       
   443 		    }
       
   444 		case KMceMSRPSink:
       
   445 			{
       
   446 			sink = CMceComMsrpSink::NewLC();
       
   447 			break;
       
   448 			}
   397         default:
   449         default:
   398             {
   450             {
   399             break;
   451             break;
   400             }
   452             }
   401         }
   453         }
   633     CMceComVideoCodec* codec = CreateLC( sdpName );
   685     CMceComVideoCodec* codec = CreateLC( sdpName );
   634     codec->InternalizeL( aSerCtx );
   686     codec->InternalizeL( aSerCtx );
   635     return codec;
   687     return codec;
   636     
   688     
   637     }
   689     }
       
   690 
       
   691 // -----------------------------------------------------------------------------
       
   692 // TMceComMessageCodecFactory::CreateLC 
       
   693 // -----------------------------------------------------------------------------
       
   694 //
       
   695 CMceComMessageCodec* TMceComMessageCodecFactory::CreateLC( const TBuf8<KMceMaxSdpNameLength> aSdpName )
       
   696     {
       
   697     CMceComMessageCodec* codec = CreateCodecLC( aSdpName );
       
   698     __ASSERT_ALWAYS( codec, User::Leave( KErrNotSupported ) );
       
   699     
       
   700     return codec;
       
   701     
       
   702     }
       
   703 
       
   704 // -----------------------------------------------------------------------------
       
   705 // TMceComMessageCodecFactory::CreateCodecLC 
       
   706 // -----------------------------------------------------------------------------
       
   707 //
       
   708 CMceComMessageCodec* TMceComMessageCodecFactory::CreateCodecLC( const TBuf8<KMceMaxSdpNameLength> aSdpName )
       
   709     {
       
   710     CMceComMessageCodec* codec = NULL; 
       
   711    	
       
   712    	//plain codec 
       
   713     if ( !aSdpName.CompareF(KMceSDPNameMsrp) )
       
   714         {
       
   715         codec = CMceComMsrpCodec::NewLC( aSdpName );
       
   716         }
       
   717    else
       
   718         {
       
   719         codec = NULL;
       
   720         }
       
   721     
       
   722     return codec;
       
   723     
       
   724     }
       
   725 
       
   726 // -----------------------------------------------------------------------------
       
   727 // TMceComMessageCodecFactory::CreateCodecLC 
       
   728 // -----------------------------------------------------------------------------
       
   729 //
       
   730 CMceComMessageCodec* TMceComMessageCodecFactory::CreateCodecLC( TUint /*aPayload*/ )
       
   731     {
       
   732     return NULL;
       
   733     }
       
   734 
       
   735 // -----------------------------------------------------------------------------
       
   736 // TMceComMessageCodecFactory::CreateLC
       
   737 // -----------------------------------------------------------------------------
       
   738 //
       
   739 CMceComMessageCodec* TMceComMessageCodecFactory::CreateLC( MMceComSerializationContext& aSerCtx )
       
   740     {
       
   741     RReadStream& readStream = aSerCtx.ReadStream();
       
   742     
       
   743     MStreamBuf* streamBuf = readStream.Source();
       
   744     TStreamPos pos = streamBuf->TellL( MStreamBuf::ERead );
       
   745     TBuf8<KMceMaxSdpNameLength> sdpName;
       
   746     MceSerial::DecodeL( sdpName, readStream );
       
   747     streamBuf->SeekL( MStreamBuf::ERead, pos );
       
   748     
       
   749     CMceComMessageCodec* codec = CreateLC( sdpName );
       
   750     codec->InternalizeL( aSerCtx );
       
   751     return codec;
       
   752     
       
   753     }