qtms/inc/qtmsfactoryimpl.h
changeset 27 cbb1bfb7ebfb
child 32 edd273b3192a
equal deleted inserted replaced
25:d881023c13eb 27:cbb1bfb7ebfb
       
     1 /*
       
     2  * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0"
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description: QT Bindings for TMS
       
    15  *
       
    16  */
       
    17 
       
    18 #ifndef QTMSFACTORYIMPL_H_
       
    19 #define QTMSFACTORYIMPL_H_
       
    20 
       
    21 #include <e32cmn.h>
       
    22 #include <qtms.h>
       
    23 
       
    24 // FORWARD DECLARATIONS
       
    25 namespace TMS {
       
    26 class TMSFactory;
       
    27 }
       
    28 
       
    29 namespace QTMS {
       
    30 
       
    31 // FORWARD DECLARATIONS
       
    32 class QTMSCall;
       
    33 class QTMSFormat;
       
    34 class QTMSEffect;
       
    35 class QTMSBuffer;
       
    36 class QTMSSource;
       
    37 class QTMSSink;
       
    38 class QTMSGlobalRouting;
       
    39 class QTMSRTPSession;
       
    40 class QTMSDTMF;
       
    41 class QTMSRingTone;
       
    42 class QTMSInbandTone;
       
    43 
       
    44 // CLASS DECLARATION
       
    45 class QTMSFactoryImpl
       
    46     {
       
    47 public:
       
    48     QTMSFactoryImpl();
       
    49     virtual ~QTMSFactoryImpl();
       
    50 
       
    51     gint CreateCall(QTMSCallType ctype, QTMSCall*& QTMScall, guint ctxid);
       
    52     gint DeleteCall(QTMSCall*& QTMSct);
       
    53     gint IsCallTypeSupported(QTMSCallType ctype, gboolean& flag);
       
    54     gint GetSupportedFormats(const QTMSStreamType strmtype,
       
    55             FormatVector& fmtlist);
       
    56     gint CreateFormat(QTMSFormatType fmttype, QTMSFormat*& QTMSfmt);
       
    57     gint DeleteFormat(QTMSFormat*& QTMSfmt);
       
    58     gint CreateEffect(QTMSEffectType QTMSeffecttype,
       
    59             QTMSEffect*& QTMSeffect);
       
    60     gint DeleteEffect(QTMSEffect*& QTMSeffect);
       
    61     gint CreateBuffer(QTMSBufferType buffertype, guint size,
       
    62             QTMSBuffer*& QTMSbuffer);
       
    63     gint DeleteBuffer(QTMSBuffer*& QTMSbuffer);
       
    64     gint CreateSource(QTMSSourceType srctype, QTMSSource*& QTMSsrc);
       
    65     gint DeleteSource(QTMSSource*& QTMSsrc);
       
    66     gint CreateSink(QTMSSinkType sinktype, QTMSSink*& QTMSsink);
       
    67     gint DeleteSink(QTMSSink*& QTMSsink);
       
    68     gint CreateGlobalRouting(QTMSGlobalRouting*& globrouting);
       
    69     gint DeleteGlobalRouting(QTMSGlobalRouting*& globrouting);
       
    70     gint CreateDTMF(QTMSStreamType streamid, QTMSDTMF*& dtmf);
       
    71     gint DeleteDTMF(QTMSDTMF*& dtmf);
       
    72     gint CreateRTPSession(QTMSRTPSession*& rtpsession, guint8* sdp,
       
    73             guint mode);
       
    74     gint DeleteRTPSession(QTMSRTPSession*& rtpsession);
       
    75     gint CreateRingTonePlayer(QTMSRingTone*& rt);
       
    76     gint DeleteRingTonePlayer(QTMSRingTone*& rt);
       
    77     gint CreateInbandTonePlayer(QTMSInbandTone*& inbandtone);
       
    78     gint DeleteInbandTonePlayer(QTMSInbandTone*& inbandtone);
       
    79 
       
    80 private:
       
    81     TMS::TMSFactory *iFactory;
       
    82     };
       
    83 
       
    84 } //namespace QTMS
       
    85 
       
    86 #endif