mmserv/tms/tmscallserver/inc/tmscallipadpt.h
author hgs
Tue, 21 Sep 2010 11:38:43 -0500
changeset 53 eabc8c503852
parent 33 5e8b14bae8c3
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors:
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: Telephony Multimedia Service
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 */
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
21
hgs
parents: 20
diff changeset
    18
#ifndef CALLIPADAPT_H
hgs
parents: 20
diff changeset
    19
#define CALLIPADAPT_H
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
// INCLUDES
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <e32msgqueue.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <mmcccodecinformation.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "tmsclientserver.h"
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include "tmsshared.h"
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "tmscalladpt.h"
21
hgs
parents: 20
diff changeset
    27
#include "tmsipcallstream.h"
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
namespace TMS {
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
// FORWARD DECLARATIONS
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
class TMSIPDownlink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
class TMSIPUplink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
21
hgs
parents: 20
diff changeset
    35
/*
hgs
parents: 20
diff changeset
    36
 * TMSCallIPAdpt class
hgs
parents: 20
diff changeset
    37
 */
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
class TMSCallIPAdpt : public TMSCallAdpt,
33
hgs
parents: 21
diff changeset
    39
                      public TMSIPDevSoundObserver
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
    {
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
public:
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
    static TMSCallIPAdpt* NewL();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
    virtual ~TMSCallIPAdpt();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
    virtual gint PostConstruct();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
20
hgs
parents: 14
diff changeset
    46
    // From TMSStream
21
hgs
parents: 20
diff changeset
    47
    virtual gint CreateStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    48
            const TMSStreamType strmType, gint& outStrmId);
hgs
parents: 20
diff changeset
    49
    virtual gint InitStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    50
            const TMSStreamType strmType, const gint strmId,
hgs
parents: 20
diff changeset
    51
            const TMSFormatType frmtType, const gint retryTime,
hgs
parents: 20
diff changeset
    52
            const RMessage2& message);
hgs
parents: 20
diff changeset
    53
    virtual gint StartStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    54
            const TMSStreamType strmType, const gint strmId,
hgs
parents: 20
diff changeset
    55
            const gint retrytime);
hgs
parents: 20
diff changeset
    56
    virtual gint PauseStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    57
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    58
    virtual gint StopStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    59
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    60
    virtual gint DeinitStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    61
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    62
    virtual gint DeleteStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    63
            const TMSStreamType strmType, const gint strmId);
53
hgs
parents: 33
diff changeset
    64
hgs
parents: 33
diff changeset
    65
    // From TMS effects
hgs
parents: 33
diff changeset
    66
    gint GetMaxVolume(guint& volume);
hgs
parents: 33
diff changeset
    67
    gint SetVolume(const guint volume);
hgs
parents: 33
diff changeset
    68
    gint GetVolume(guint& volume);
hgs
parents: 33
diff changeset
    69
    gint GetMaxGain(guint& gain);
hgs
parents: 33
diff changeset
    70
    gint SetGain(const guint gain);
hgs
parents: 33
diff changeset
    71
    gint GetGain(guint& gain);
hgs
parents: 33
diff changeset
    72
hgs
parents: 33
diff changeset
    73
    // From TMS audio routing
hgs
parents: 33
diff changeset
    74
     virtual gint SetOutput(const TMSAudioOutput output);
hgs
parents: 33
diff changeset
    75
     virtual gint GetOutput(TMSAudioOutput& output);
hgs
parents: 33
diff changeset
    76
     virtual gint GetPreviousOutput(TMSAudioOutput& output);
hgs
parents: 33
diff changeset
    77
     virtual gint GetAvailableOutputsL(gint& count, CBufFlat*& outputsbuf);
hgs
parents: 33
diff changeset
    78
hgs
parents: 33
diff changeset
    79
    gint DataXferBufferEmptied(const TMSCallType callType,
21
hgs
parents: 20
diff changeset
    80
            const TMSStreamType strmType, const gint strmId);
53
hgs
parents: 33
diff changeset
    81
    gint DataXferBufferFilled(const TMSCallType callType,
21
hgs
parents: 20
diff changeset
    82
            const TMSStreamType strmType, const gint strmId,
hgs
parents: 20
diff changeset
    83
            const guint datasize);
53
hgs
parents: 33
diff changeset
    84
    gint GetDataXferBufferHndl(const TMSCallType callType,
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
            const TMSStreamType strmType, const gint strmId,
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
            const guint32 key, RChunk& chunk);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
20
hgs
parents: 14
diff changeset
    88
    // From TMS formats
53
hgs
parents: 33
diff changeset
    89
    gint GetCodecMode(const TMSFormatType fmttype,
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
            const TMSStreamType strmtype, gint& mode);
53
hgs
parents: 33
diff changeset
    91
    gint SetCodecMode(const TMSFormatType fmttype,
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
            const TMSStreamType strmtype, const gint mode);
53
hgs
parents: 33
diff changeset
    93
    gint GetSupportedBitRatesCount(guint& count);
hgs
parents: 33
diff changeset
    94
    gint GetSupportedBitRates(CBufFlat*& brbuffer);
hgs
parents: 33
diff changeset
    95
    gint GetBitRate(guint& bitrate);
hgs
parents: 33
diff changeset
    96
    gint SetBitRate(const guint bitrate);
hgs
parents: 33
diff changeset
    97
    gint GetVAD(const TMSFormatType fmttype, gboolean& vad);
hgs
parents: 33
diff changeset
    98
    gint SetVAD(const TMSFormatType fmttype, const gboolean vad);
hgs
parents: 33
diff changeset
    99
    gint GetCNG(const TMSFormatType fmttype, gboolean& cng);
hgs
parents: 33
diff changeset
   100
    gint SetCNG(const TMSFormatType fmttype, const gboolean cng);
hgs
parents: 33
diff changeset
   101
    gint GetPlc(const TMSFormatType fmttype, gboolean& plc);
hgs
parents: 33
diff changeset
   102
    gint SetPlc(const TMSFormatType fmttype, const gboolean plc);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
20
hgs
parents: 14
diff changeset
   104
    // From TMS codec formats
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
    gint SetIlbcCodecMode(const gint mode, const TMSStreamType strmtype);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    gint GetIlbcCodecMode(gint& mode, const TMSStreamType strmtype);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
    gint SetG711CodecMode(const gint mode, const TMSStreamType strmtype);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
    gint GetG711CodecMode(gint& mode, const TMSStreamType strmtype);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
20
hgs
parents: 14
diff changeset
   110
    void SetFormat(const gint strmId, const guint32 aFormat);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
20
hgs
parents: 14
diff changeset
   112
    void BufferFilledL(guint dataSize);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
    void BufferEmptiedL();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    gint GetDataXferChunkHndl(const TMSStreamType strmType,
20
hgs
parents: 14
diff changeset
   115
            const guint32 key, RChunk& chunk);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
21
hgs
parents: 20
diff changeset
   117
    //From TMSIPDevSoundObserver
hgs
parents: 20
diff changeset
   118
    void DownlinkInitCompleted(gint status);
hgs
parents: 20
diff changeset
   119
    void UplinkInitCompleted(gint status);
hgs
parents: 20
diff changeset
   120
    void DownlinkStarted(gint status);
hgs
parents: 20
diff changeset
   121
    void UplinkStarted(gint status);
hgs
parents: 20
diff changeset
   122
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
private:
21
hgs
parents: 20
diff changeset
   124
    TMSCallIPAdpt();
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
    void ConstructL();
21
hgs
parents: 20
diff changeset
   126
hgs
parents: 20
diff changeset
   127
    gint OpenDownlink(const RMessage2& message, const gint retrytime);
hgs
parents: 20
diff changeset
   128
    gint OpenUplink(const RMessage2& message, const gint retrytime);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    void GetSupportedBitRatesL(CBufFlat*& brbuffer);
21
hgs
parents: 20
diff changeset
   131
    void NotifyClient(const gint strmId, const gint command,
hgs
parents: 20
diff changeset
   132
            const gint status = KErrNone, const gint64 int64 = TInt64(0));
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
private:
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
    gint iNextStreamId;
21
hgs
parents: 20
diff changeset
   136
    TMSIPUplink* iIPUplink;
hgs
parents: 20
diff changeset
   137
    TMSIPDownlink* iIPDownlink;
33
hgs
parents: 21
diff changeset
   138
21
hgs
parents: 20
diff changeset
   139
    // Message queues for communication and data transfer back to the client
hgs
parents: 20
diff changeset
   140
    RMsgQueue<TmsMsgBuf> iMsgQueueUp;
hgs
parents: 20
diff changeset
   141
    RMsgQueue<TmsMsgBuf> iMsgQueueDn;
hgs
parents: 20
diff changeset
   142
    TmsMsgBuf iMsgBuffer;
hgs
parents: 20
diff changeset
   143
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
    gint iUplinkStreamId;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
    gint iDnlinkStreamId;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
    TMMFPrioritySettings iPriority;
20
hgs
parents: 14
diff changeset
   148
    guint32 iUpFourCC;
hgs
parents: 14
diff changeset
   149
    guint32 iDnFourCC;
hgs
parents: 14
diff changeset
   150
    gint iMaxVolume;
hgs
parents: 14
diff changeset
   151
    gint iMaxGain;
hgs
parents: 14
diff changeset
   152
    RArray<guint> iArrBitrates;
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
    RArray<TFourCC> iCodecs;
20
hgs
parents: 14
diff changeset
   154
    gint iCodecsCount;
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
    };
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
} //namespace TMS
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
21
hgs
parents: 20
diff changeset
   159
#endif //CALLIPADPT_H
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
// End of file