mmmw_plat/voip_audio_services_api/inc/voiputilityfactory.h
changeset 55 e267340986c9
parent 12 5a06f39ad45b
equal deleted inserted replaced
52:4ce423f34688 55:e267340986c9
    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 
    18 
    19 #ifndef __VOIPUTILITYFACTORY_H
    19 #ifndef VOIPUTILITYFACTORY_H
    20 #define __VOIPUTILITYFACTORY_H
    20 #define VOIPUTILITYFACTORY_H
    21 
    21 
    22 #include <voipaudiocommon.h>
    22 #include <voipaudiocommon.h>
    23 #include <voipdatabuffer.h>
    23 #include <voipdatabuffer.h>
    24 
    24 
    25 // FORWARD DECLARATIONS
    25 // FORWARD DECLARATIONS
    30 class CVoIPJitterBufferIntfc;
    30 class CVoIPJitterBufferIntfc;
    31 
    31 
    32 /**
    32 /**
    33  *  CVoIPUtilityFactory class
    33  *  CVoIPUtilityFactory class
    34  *
    34  *
    35  *  ?more_complete_description
       
    36  *
       
    37  *  @lib VoIPAudioIntfc.dll
    35  *  @lib VoIPAudioIntfc.dll
    38  *
    36  *
    39  */
    37  */
    40 class CVoIPUtilityFactory
    38 class CVoIPUtilityFactory
    41     {
    39     {
    42 public:
    40 public:
    43     /**
    41     /**
    44      *  TVoIPCallType
    42      *  TVoIPCallType
    45      *  ?description
       
    46  *
       
    47      */
    43      */
    48     enum TVoIPCallType
    44     enum TVoIPCallType
    49         {
    45         {
    50         EVoIPCall,
    46         EVoIPCall,
    51         EPoCCall
    47         EPoCCall
    52         };
    48         };
    53 
    49 
    54 public:
    50 public:
    55 
    51 
    56     /**
    52     /**
    57      * ?description
    53      * CreateFactory
    58      *
       
    59      * @since S60 v5.0
       
    60      * @param CVoIPUtilityFactory*&
    54      * @param CVoIPUtilityFactory*&
    61      * @return TInt
    55      * @return TInt
    62      */
    56      */
    63     IMPORT_C static TInt CreateFactory(CVoIPUtilityFactory*& aFactory);
    57     IMPORT_C static TInt CreateFactory(CVoIPUtilityFactory*& aFactory);
    64 
    58 
    65     /**
    59     /**
    66      * Destructor
    60      * Destructor
    67      *
       
    68      * @since S60 v5.0
       
    69      * @param none
    61      * @param none
    70      * @return none
    62      * @return none
    71      */
    63      */
    72     IMPORT_C ~CVoIPUtilityFactory();
    64     IMPORT_C ~CVoIPUtilityFactory();
    73 
    65 
    74     /**
    66     /**
    75      * ?description
    67      * CreateDownlinkStream
    76      *
       
    77      * @since S60 v5.0
       
    78      * @param TVersion
    68      * @param TVersion
    79      * @param TCallType
    69      * @param TCallType
    80      * @param CVoIPAudioDownlinkStream*&
    70      * @param CVoIPAudioDownlinkStream*&
    81      * @return TInt
    71      * @return TInt
    82      */
    72      */
    83     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    73     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    84             const TVoIPCallType aCallType, CVoIPAudioDownlinkStream*& aDnLink);
    74             const TVoIPCallType aCallType, CVoIPAudioDownlinkStream*& aDnLink);
    85 
    75 
    86     /**
    76     /**
    87      * ?description
    77      * CreateDownlinkStream with jitter buffer management
    88      *
       
    89      * @since S60 v5.0
       
    90      * @param TVersion
    78      * @param TVersion
    91      * @param CVoIPJitterBufferIntfc*&
    79      * @param CVoIPJitterBufferIntfc*&
    92      * @param CVoIPAudioDownlinkStream*&
    80      * @param CVoIPAudioDownlinkStream*&
    93      * @return TInt
    81      * @return TInt
    94      */
    82      */
    95     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    83     IMPORT_C TInt CreateDownlinkStream(const TVersion aVersion,
    96             CVoIPJitterBufferIntfc*& aJBIntfc,
    84             CVoIPJitterBufferIntfc*& aJBIntfc,
    97             CVoIPAudioDownlinkStream*& aDnLink);
    85             CVoIPAudioDownlinkStream*& aDnLink);
    98 
    86 
    99     /**
    87     /**
   100      * ?description
    88      * CreateUplinkStream
   101      *
       
   102      * @since S60 v5.0
       
   103      * @param TVersion
    89      * @param TVersion
   104      * @param TCallType
    90      * @param TCallType
   105      * @param CVoIPAudioUplinkStream*&
    91      * @param CVoIPAudioUplinkStream*&
   106      * @return TInt
    92      * @return TInt
   107      */
    93      */
   108     IMPORT_C TInt CreateUplinkStream(const TVersion aVersion,
    94     IMPORT_C TInt CreateUplinkStream(const TVersion aVersion,
   109             const TVoIPCallType aCallType, CVoIPAudioUplinkStream*& aUpLink);
    95             const TVoIPCallType aCallType, CVoIPAudioUplinkStream*& aUpLink);
   110 
    96 
   111     /**
    97     /**
   112      * ?description
    98      * CreateDTMFTonePlayer
   113      *
       
   114      * @since S60 v5.0
       
   115      * @param CDTMFTonePlayer*&
    99      * @param CDTMFTonePlayer*&
   116      * @return TInt
   100      * @return TInt
   117      */
   101      */
   118     IMPORT_C TInt CreateDTMFTonePlayer(CDTMFTonePlayer*& aDtmfPlayer);
   102     IMPORT_C TInt CreateDTMFTonePlayer(CDTMFTonePlayer*& aDtmfPlayer);
   119 
   103 
   120     /**
   104     /**
   121      * ?description
   105      * CreateBuffer
   122      *
       
   123      * @since S60 v5.0
       
   124      * @param CVoIPDataBuffer*&
   106      * @param CVoIPDataBuffer*&
   125      * @param const CVoIPDataBuffer::TVoIPBufferType
   107      * @param const CVoIPDataBuffer::TVoIPBufferType
   126      * @param const TVoIPCodecFormat aCodecFormat - default EG711 assumes
   108      * @param const TVoIPCodecFormat aCodecFormat - default EG711 assumes
   127      *        request to create 162-byte buffer for G711 codec.
   109      *        request to create 162-byte buffer for G711 codec.
   128      * @return TInt
   110      * @return TInt
   130     IMPORT_C TInt CreateBuffer(CVoIPDataBuffer*& aBuffer,
   112     IMPORT_C TInt CreateBuffer(CVoIPDataBuffer*& aBuffer,
   131             const CVoIPDataBuffer::TVoIPBufferType aType,
   113             const CVoIPDataBuffer::TVoIPBufferType aType,
   132             const TVoIPCodecFormat aCodecFormat = EG711);
   114             const TVoIPCodecFormat aCodecFormat = EG711);
   133 
   115 
   134     /**
   116     /**
   135      * ?description
   117      * GetSupportedDownlinkFormats
   136      *
       
   137      * @since S60 v5.0
       
   138      * @param RArray<TVoIPCodecFormat>&
   118      * @param RArray<TVoIPCodecFormat>&
   139      * @return TInt -
   119      * @return TInt -
   140      */
   120      */
   141     IMPORT_C TInt GetSupportedDownlinkFormats(
   121     IMPORT_C TInt GetSupportedDownlinkFormats(
   142             RArray<TVoIPCodecFormat>& aFormats);
   122             RArray<TVoIPCodecFormat>& aFormats);
   143 
   123 
   144     /**
   124     /**
   145      * ?description
   125      * GetSupportedUplinkFormats
   146      *
       
   147      * @since S60 v5.0
       
   148      * @param RArray<TVoIPCodecFormat>&
   126      * @param RArray<TVoIPCodecFormat>&
   149      * @return TInt -
   127      * @return TInt -
   150      */
   128      */
   151     IMPORT_C TInt GetSupportedUplinkFormats(
   129     IMPORT_C TInt GetSupportedUplinkFormats(
   152             RArray<TVoIPCodecFormat>& aFormats);
   130             RArray<TVoIPCodecFormat>& aFormats);
   153 
   131 
   154 private:
   132 private:
   155 
   133 
   156     /**
   134     /**
   157      * Constructor
   135      * Constructor
   158      *
       
   159      * @since S60 v5.0
       
   160      * @param none
   136      * @param none
   161      * @return none
   137      * @return none
   162      */
   138      */
   163     CVoIPUtilityFactory();
   139     CVoIPUtilityFactory();
   164 
   140 
   165     /**
   141     /**
   166      * Symbian constructor
   142      * Symbian constructor
   167      *
       
   168      * @since S60 v5.0
       
   169      * @param none
   143      * @param none
   170      * @return void
   144      * @return void
   171      */
   145      */
   172     void ConstructL();
   146     void ConstructL();
   173 
   147 
   174 private:
   148 private:
   175 
   149 
   176     CVoIPUtilityFactoryImpl* iVoIPUtilityFactoryImpl;
   150     CVoIPUtilityFactoryImpl* iVoIPUtilityFactoryImpl;
   177 
       
   178     };
   151     };
   179 
   152 
   180 #endif //__VOIPUTILITYFACTORY_H
   153 #endif //VOIPUTILITYFACTORY_H
   181 
   154 
   182 // End of file
   155 // End of file