mmserv/tms/tmscallserver/inc/tmscallcsadpt.h
author hgs
Tue, 21 Sep 2010 11:38:43 -0500
changeset 53 eabc8c503852
parent 36 73253677b50a
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
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#ifndef CALLCSADPT_H
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#define CALLCSADPT_H
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
21
hgs
parents: 20
diff changeset
    21
// INCLUDES
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <TelephonyAudioRouting.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <MTelephonyAudioRoutingObserver.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <e32msgqueue.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <etelmm.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <rmmcustomapi.h>
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "tmsclientserver.h"
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "tmscalladpt.h"
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "tmscsdevsoundobserver.h"
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
namespace TMS {
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
// FORWARD DECLARATIONS
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
class TMSCSUplink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
class TMSCSDownlink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
class TMSTarSettings;
36
hgs
parents: 33
diff changeset
    37
class TMSSyncVol;
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
/*
21
hgs
parents: 20
diff changeset
    40
 * TMSCallCSAdpt class
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
 */
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
class TMSCallCSAdpt : public TMSCallAdpt,
21
hgs
parents: 20
diff changeset
    43
                      public TMSCSDevSoundObserver,
33
hgs
parents: 21
diff changeset
    44
                      public MTelephonyAudioRoutingObserver
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
    {
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
public:
21
hgs
parents: 20
diff changeset
    47
	static TMSCallCSAdpt* NewL();
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
    virtual ~TMSCallCSAdpt();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
    virtual gint PostConstruct();
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
21
hgs
parents: 20
diff changeset
    51
    // From TMSStream
hgs
parents: 20
diff changeset
    52
    virtual gint CreateStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    53
            const TMSStreamType strmType, gint& outStrmId);
hgs
parents: 20
diff changeset
    54
    virtual gint InitStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    55
            const TMSStreamType strmType, const gint strmId,
hgs
parents: 20
diff changeset
    56
            const TMSFormatType frmtType, const gint retryTime,
hgs
parents: 20
diff changeset
    57
            const RMessage2& message);
hgs
parents: 20
diff changeset
    58
    virtual gint StartStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    59
            const TMSStreamType strmType, const gint strmId,
hgs
parents: 20
diff changeset
    60
            const gint retrytime);
hgs
parents: 20
diff changeset
    61
    virtual gint PauseStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    62
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    63
    virtual gint StopStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    64
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    65
    virtual gint DeinitStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    66
            const TMSStreamType strmType, const gint strmId);
hgs
parents: 20
diff changeset
    67
    virtual gint DeleteStream(const TMSCallType callType,
hgs
parents: 20
diff changeset
    68
            const TMSStreamType strmType, const gint strmId);
20
hgs
parents: 14
diff changeset
    69
hgs
parents: 14
diff changeset
    70
    // From TMS effects
53
hgs
parents: 36
diff changeset
    71
    gint GetGlobalMaxVolume(guint& volume);
hgs
parents: 36
diff changeset
    72
    gint SetGlobalVolume(const guint volume);
hgs
parents: 36
diff changeset
    73
    gint GetGlobalVolume(guint& volume);
hgs
parents: 36
diff changeset
    74
    gint GetGlobalMaxGain(guint& gain);
hgs
parents: 36
diff changeset
    75
    gint SetGlobalGain(const guint gain);
hgs
parents: 36
diff changeset
    76
    gint GetGlobalGain(guint& gain);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
20
hgs
parents: 14
diff changeset
    78
    // From TMS audio routing
21
hgs
parents: 20
diff changeset
    79
    virtual gint SetOutput(const TMSAudioOutput output);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    virtual gint GetOutput(TMSAudioOutput& output);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
    virtual gint GetPreviousOutput(TMSAudioOutput& output);
21
hgs
parents: 20
diff changeset
    82
    virtual gint GetAvailableOutputsL(gint& count, CBufFlat*& outputsbuf);
hgs
parents: 20
diff changeset
    83
hgs
parents: 20
diff changeset
    84
    //From TMSCSDevSoundObserver
hgs
parents: 20
diff changeset
    85
    void DownlinkInitCompleted(gint status);
hgs
parents: 20
diff changeset
    86
    void UplinkInitCompleted(gint status);
hgs
parents: 20
diff changeset
    87
    void DownlinkActivationCompleted(gint status);
hgs
parents: 20
diff changeset
    88
    void UplinkActivationCompleted(gint status);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
20
hgs
parents: 14
diff changeset
    90
private:
21
hgs
parents: 20
diff changeset
    91
    TMSCallCSAdpt();
hgs
parents: 20
diff changeset
    92
    void ConstructL();
hgs
parents: 20
diff changeset
    93
hgs
parents: 20
diff changeset
    94
    gint InitUplink(const gint retrytime);
hgs
parents: 20
diff changeset
    95
    gint InitDownlink(const gint retrytime);
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
    void AvailableOutputsChanged(
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
            CTelephonyAudioRouting& aTelephonyAudioRouting);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
    void OutputChanged(CTelephonyAudioRouting& aTelephonyAudioRouting);
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
    void SetOutputComplete(CTelephonyAudioRouting& aTelephonyAudioRouting,
21
hgs
parents: 20
diff changeset
   100
            gint status);
20
hgs
parents: 14
diff changeset
   101
    void NotifyClient(const gint strmId, const gint command,
hgs
parents: 14
diff changeset
   102
            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
   103
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
private:
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
    gint iNextStreamId;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    TMSCSUplink* iCSUplink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
    TMSCSDownlink* iCSDownlink;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
    CTelephonyAudioRouting* iRouting;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    TMSTarSettings* iTarSettings;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
21
hgs
parents: 20
diff changeset
   111
    // Message queues for communication and data transfer back to the client
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
    RMsgQueue<TmsMsgBuf> iMsgQueueUp;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
    RMsgQueue<TmsMsgBuf> iMsgQueueDn;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    TmsMsgBuf iMsgBuffer;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
    gint iUplinkStreamId;
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
    gint iDnlinkStreamId;
36
hgs
parents: 33
diff changeset
   118
    TMSSyncVol* iResetVolNotifier;
14
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
    };
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
} //namespace TMS
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
#endif // CALLCSADPT_H
80975da52420 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124