mmmw_plat/voip_audio_services_api/inc/voiputilityfactory.h
branchRCL_3
changeset 3 4f62049db6ac
parent 0 71ca22bcf22a
equal deleted inserted replaced
0:71ca22bcf22a 3:4f62049db6ac
     1 /*
     1 /*
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
     2  * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3  * All rights reserved.
     4 * This component and the accompanying materials are made available
     4  * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5  * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6  * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8  *
     9 * Initial Contributors:
     9  * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10  * Nokia Corporation - initial contribution.
    11 *
    11  *
    12 * Contributors:
    12  * Contributors:
    13 *
    13  *
    14 * Description:  Defines factory object for creating VoIP downlink and uplink
    14  * Description:  Defines factory object for creating VoIP downlink and uplink
    15 *                streams as well as DTMF tone player.
    15  *                streams as well as DTMF tone player.
    16 *
    16  *
    17 */
    17  */
    18 
       
    19 
    18 
    20 #ifndef __VOIPUTILITYFACTORY_H
    19 #ifndef __VOIPUTILITYFACTORY_H
    21 #define __VOIPUTILITYFACTORY_H
    20 #define __VOIPUTILITYFACTORY_H
    22 
    21 
    23 #include <voipaudiocommon.h>
    22 #include <voipaudiocommon.h>
    28 class CVoIPAudioDownlinkStream;
    27 class CVoIPAudioDownlinkStream;
    29 class CVoIPAudioUplinkStream;
    28 class CVoIPAudioUplinkStream;
    30 class CDTMFTonePlayer;
    29 class CDTMFTonePlayer;
    31 class CVoIPJitterBufferIntfc;
    30 class CVoIPJitterBufferIntfc;
    32 
    31 
    33 
       
    34 /**
    32 /**
    35  *  CVoIPUtilityFactory class
    33  *  CVoIPUtilityFactory class
    36  *
    34  *
    37  *  ?more_complete_description
    35  *  ?more_complete_description
    38  *
    36  *
    39  *  @lib VoIPAudioIntfc.dll
    37  *  @lib VoIPAudioIntfc.dll
    40  *  @since S60 v5.0
    38  *
    41  */
    39  */
    42 class CVoIPUtilityFactory
    40 class CVoIPUtilityFactory
    43     {
    41     {
    44 public:
    42 public:
    45     /**
    43     /**
    46      *  TVoIPCallType
    44      *  TVoIPCallType
    47      *  ?description
    45      *  ?description
    48      *  @since S60 v5.0
    46  *
    49      */
    47      */
    50     enum TVoIPCallType
    48     enum TVoIPCallType
    51         {
    49         {
    52         EVoIPCall,
    50         EVoIPCall,
    53         EPoCCall
    51         EPoCCall
    81      * @param TCallType
    79      * @param TCallType
    82      * @param CVoIPAudioDownlinkStream*&
    80      * @param CVoIPAudioDownlinkStream*&
    83      * @return TInt
    81      * @return TInt
    84      */
    82      */
    85     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    83     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    86                                        const TVoIPCallType aCallType,
    84             const TVoIPCallType aCallType, CVoIPAudioDownlinkStream*& aDnLink);
    87                                        CVoIPAudioDownlinkStream*& aDnLink);
       
    88 
    85 
    89     /**
    86     /**
    90      * ?description
    87      * ?description
    91      *
    88      *
    92      * @since S60 v5.0
    89      * @since S60 v5.0
    94      * @param CVoIPJitterBufferIntfc*&
    91      * @param CVoIPJitterBufferIntfc*&
    95      * @param CVoIPAudioDownlinkStream*&
    92      * @param CVoIPAudioDownlinkStream*&
    96      * @return TInt
    93      * @return TInt
    97      */
    94      */
    98     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    95     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    99                                        CVoIPJitterBufferIntfc*& aJBIntfc,
    96             CVoIPJitterBufferIntfc*& aJBIntfc,
   100                                        CVoIPAudioDownlinkStream*& aDnLink);
    97             CVoIPAudioDownlinkStream*& aDnLink);
   101 
    98 
   102     /**
    99     /**
   103      * ?description
   100      * ?description
   104      *
   101      *
   105      * @since S60 v5.0
   102      * @since S60 v5.0
   107      * @param TCallType
   104      * @param TCallType
   108      * @param CVoIPAudioUplinkStream*&
   105      * @param CVoIPAudioUplinkStream*&
   109      * @return TInt
   106      * @return TInt
   110      */
   107      */
   111     IMPORT_C TInt CreateUplinkStream(const TVersion aVersion,
   108     IMPORT_C TInt CreateUplinkStream(const TVersion aVersion,
   112                                      const TVoIPCallType aCallType,
   109             const TVoIPCallType aCallType, CVoIPAudioUplinkStream*& aUpLink);
   113                                      CVoIPAudioUplinkStream*& aUpLink);
       
   114 
   110 
   115     /**
   111     /**
   116      * ?description
   112      * ?description
   117      *
   113      *
   118      * @since S60 v5.0
   114      * @since S60 v5.0
   130      * @param const TVoIPCodecFormat aCodecFormat - default EG711 assumes
   126      * @param const TVoIPCodecFormat aCodecFormat - default EG711 assumes
   131      *        request to create 162-byte buffer for G711 codec.
   127      *        request to create 162-byte buffer for G711 codec.
   132      * @return TInt
   128      * @return TInt
   133      */
   129      */
   134     IMPORT_C TInt CreateBuffer(CVoIPDataBuffer*& aBuffer,
   130     IMPORT_C TInt CreateBuffer(CVoIPDataBuffer*& aBuffer,
   135 		           			   const CVoIPDataBuffer::TVoIPBufferType aType,
   131             const CVoIPDataBuffer::TVoIPBufferType aType,
   136         		   			   const TVoIPCodecFormat aCodecFormat = EG711);
   132             const TVoIPCodecFormat aCodecFormat = EG711);
   137 
   133 
   138     /**
   134     /**
   139      * ?description
   135      * ?description
   140      *
   136      *
   141      * @since S60 v5.0
   137      * @since S60 v5.0
   142      * @param RArray<TVoIPCodecFormat>&
   138      * @param RArray<TVoIPCodecFormat>&
   143      * @return TInt -
   139      * @return TInt -
   144      */
   140      */
   145     IMPORT_C TInt GetSupportedDownlinkFormats(
   141     IMPORT_C TInt GetSupportedDownlinkFormats(
   146                   RArray<TVoIPCodecFormat>& aFormats);
   142             RArray<TVoIPCodecFormat>& aFormats);
   147 
   143 
   148     /**
   144     /**
   149      * ?description
   145      * ?description
   150      *
   146      *
   151      * @since S60 v5.0
   147      * @since S60 v5.0
   152      * @param RArray<TVoIPCodecFormat>&
   148      * @param RArray<TVoIPCodecFormat>&
   153      * @return TInt -
   149      * @return TInt -
   154      */
   150      */
   155     IMPORT_C TInt GetSupportedUplinkFormats(
   151     IMPORT_C TInt GetSupportedUplinkFormats(
   156                   RArray<TVoIPCodecFormat>& aFormats);
   152             RArray<TVoIPCodecFormat>& aFormats);
   157 
   153 
   158 private:
   154 private:
   159 
   155 
   160     /**
   156     /**
   161      * Constructor
   157      * Constructor