--- a/mmappfw_plat/qt_telephony_multimedia_service_api/tsrc/qtmscstest/qtmscstest.cpp Tue Aug 31 15:41:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1109 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description: QTMS CS test
- *
- */
-#include <QObject>
-#include <QtTest/QtTest>
-#include "qtestmains60.h"
-
-#include <qtms.h>
-#include <qtmsfactory.h>
-#include <qtmscall.h>
-#include <qtmsstream.h>
-#include <tmsstreamobsrvr.h>
-#include <qtmsformat.h>
-
-#include <qtmspcmformat.h>
-#include <qtmsamrformat.h>
-#include <qtmsilbcformat.h>
-#include <qtmsg711format.h>
-#include <qtmsg729format.h>
-
-#include <qtmsclientsink.h>
-#include <qtmsclientsource.h>
-#include <qtmsvolumeeffect.h>
-#include <qtmsgaineffect.h>
-#include <qtmsglobalvoleffect.h>
-#include <qtmsglobalgaineffect.h>
-#include <qtmsglobalrouting.h>
-
-#include <qtmsbuffer.h>
-#include <qtmsdtmf.h>
-#include <qtmsringtone.h>
-#include <qtmsinbandtone.h>
-#include <tmsbuffer.h>
-
-using namespace QTMS;
-_LIT8(KRTBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\
-\x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B");
-_LIT16(KTestFile1, "c:\\data\\sounds\\digital\\test_8khz.wav");
-
-class QTmsCsTest: public QObject
-{
-Q_OBJECT
-private slots:
- void initTestCase();
- void CSCallSetup();
-
- void CreateUplink();
- void CreateDnlink();
- void CreateMicSource();
- void AddMicSourceToStream();
- void CreateModemSink();
- void AddModemSinkToStream();
- void CreateModemSource();
- void AddModemSourceToStream();
- void CreateSpeakerSink();
- void AddSpeakerSinkToStream();
-
- void CreateStreamVol();
- void CreateStreamGain();
-
- void InitUplink();
- void InitDnlink();
-
- void StartUplink();
- void StopUplink();
- void StartDnlink();
-
- void StreamVol();
- void StreamGain();
- // void StopDnlink();
-
- void CreateGlobalVol();
- void CreateGlobalGain();
- void CreateRouting_data();
- void CreateRouting();
-
- void CreateInband_data();
- void CreateInband();
- void CreateDnlinkDtmf();
- void CreateUplinkDtmf();
-
- void CreateRingTone();
-
- void InitRingTonePlayerFromProfiles();
- void PlayRingTone();
- void PauseRingTone();
- void MuteRingTone();
- void StopRingTone();
- void CloseRingTonePlayer();
-
- void CloseUplink();
- void CloseDownlink();
- void cleanupTestCase();
-public slots:
- //From TMSStreamObserver
- void TMSStreamEvent(const QTMSStream& stream, QTMSSignalEvent event);
- //From TMSClientSinkObserver
- void EffectsEvent(const QTMSEffect& tmseffect, QTMSSignalEvent event);
- //From TMSGlobalRoutingObserver
- void GlobalRoutingEvent(const QTMSGlobalRouting& routing, QTMSSignalEvent event,
- QTMSAudioOutput output);
- //From TMSRingToneObserver
- void RingtoneEvent(const QTMSRingTone& rt, QTMSSignalEvent event);
- //From TMSDTMFObserver
- void DTMFEvent(const QTMSDTMF& dtmf, QTMSSignalEvent event);
- //From TMSInbandToneObserver
- void InbandToneEvent(const QTMSInbandTone& inbandtone, QTMSSignalEvent event);
-
-private:
- void InitRingToneSequencePlayer();
- void InitRingTonePlayerFromFile();
- void StopDnlink();
- void GetAvailableOutput();
- void DisplayDevice(QTMSAudioOutput device);
-
-private:
- QTMSFactory *m_Factory;
- QTMSCall *m_Call;
- QTMSDTMF *m_Dnlnkdtmf;
- QTMSDTMF *m_Uplnkdtmf;
- QTMSStream *m_Dnlink;
- QTMSStream *m_Uplink;
- QTMSSource *m_MicSource;
- QTMSSource *m_ModemSource;
- QTMSSink *m_SpeakerSink;
- QTMSSink *m_ModemSink;
- QTMSEffect *m_Vol;
- QTMSEffect *m_Gain;
- QTMSEffect *m_GlobalVol;
- QTMSEffect *m_GlobalGain;
- QTMSGlobalRouting *m_Routing;
- QTMSInbandTone *m_InbandTonePlayer;
- QTMSRingTone *m_RingTonePlayer;
- GString* m_RTStr;
- GString* m_TTSStr;
- QSignalSpy *m_UplinkSpy;
- QSignalSpy *m_DnlinkSpy;
- QSignalSpy *m_InbandSpy;
- QSignalSpy *m_RoutingSpy;
- OutputVector m_Availableoutputs;
-
-};
-
-void QTmsCsTest::initTestCase()
-{
- qDebug("Start QTms CS tests");
-
- g_setenv("G_SLICE", "always-malloc", 1);
- m_Factory = NULL;
- m_Call = NULL;
- m_Dnlink = NULL;
- m_Uplink = NULL;
- m_MicSource = NULL;
- m_ModemSource = NULL;
- m_SpeakerSink = NULL;
- m_ModemSink = NULL;
- m_Vol = NULL;
- m_Gain = NULL;
- m_GlobalVol = NULL;
- m_GlobalGain = NULL;
- m_Routing = NULL;
- m_Dnlnkdtmf = NULL;
- m_Uplnkdtmf = NULL;
- m_InbandTonePlayer = NULL;
- m_RingTonePlayer = NULL;
- m_UplinkSpy = NULL;
- m_DnlinkSpy = NULL;
-
- QTMSVer *ver(NULL);
- gint status;
- status = QTMSFactory::CreateFactory(m_Factory, *ver);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- qRegisterMetaType<QTMSSignalEvent> ("QTMSSignalEvent");
- qRegisterMetaType<QTMSAudioOutput> ("QTMSAudioOutput");
-
-}
-
-void QTmsCsTest::cleanupTestCase()
-{
- qDebug("End QTms tests");
-
- StopDnlink();
-
- m_Factory->DeleteSource(m_MicSource);
- m_Factory->DeleteSource(m_ModemSource);
- m_Factory->DeleteSink(m_ModemSink);
- m_Factory->DeleteSink(m_SpeakerSink);
-
- m_Factory->DeleteDTMF(m_Dnlnkdtmf);
- m_Factory->DeleteInbandTonePlayer(m_InbandTonePlayer);
- m_Factory->DeleteRingTonePlayer(m_RingTonePlayer);
-
- m_Factory->DeleteEffect(m_Vol);
- m_Factory->DeleteEffect(m_Gain);
- m_Factory->DeleteEffect(m_GlobalVol);
- m_Factory->DeleteEffect(m_GlobalGain);
-
- m_Factory->DeleteGlobalRouting(m_Routing);
-
- m_Call->DeleteStream(m_Uplink);
- m_Call->DeleteStream(m_Dnlink);
-
- m_Factory->DeleteCall(m_Call);
-
- delete m_Factory;
-
-}
-
-void QTmsCsTest::CSCallSetup()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Factory && !m_Call) {
- gboolean issupported(FALSE);
- m_Factory->IsCallTypeSupported(QTMS_CALL_CS, issupported);
- QVERIFY(issupported == TRUE);
- status = m_Factory->CreateCall(QTMS_CALL_CS, m_Call, 0);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTMSCallType calltype = m_Call->GetCallType();
- QVERIFY(calltype == QTMS_CALL_CS);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::CreateUplink()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Call) {
- status = m_Call->CreateStream(QTMS_STREAM_UPLINK, m_Uplink);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- m_UplinkSpy = new QSignalSpy(m_Uplink,
- SIGNAL(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)));
-
- QVERIFY( m_UplinkSpy->isValid() );
-
- //QCOMPARE(m_UplinkSpy->count(), 0 );
-
-
- connect(m_Uplink, SIGNAL(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)), this,
- SLOT(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)));
-
- }
-}
-
-void QTmsCsTest::CreateDnlink()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Call) {
- status = m_Call->CreateStream(QTMS_STREAM_DOWNLINK, m_Dnlink);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- m_DnlinkSpy = new QSignalSpy(m_Dnlink,
- SIGNAL(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)));
-
- QVERIFY( m_DnlinkSpy->isValid() );
-
- //QCOMPARE(m_DnlinkSpy->count(), 0 );
-
- connect(m_Dnlink, SIGNAL(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)), this,
- SLOT(TMSStreamEvent(const QTMSStream&, QTMSSignalEvent)));
- }
-}
-
-void QTmsCsTest::CreateModemSink()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_ModemSink) {
- status = m_Factory->CreateSink(QTMS_SINK_MODEM, m_ModemSink);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::CreateModemSource()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_ModemSource) {
- status = m_Factory->CreateSource(QTMS_SOURCE_MODEM, m_ModemSource);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::AddModemSinkToStream()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Uplink && m_ModemSink) {
- status = m_Uplink->AddSink(m_ModemSink);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::AddModemSourceToStream()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Dnlink && m_ModemSource) {
- status = m_Dnlink->AddSource(m_ModemSource);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::CreateMicSource()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_MicSource) {
- status = m_Factory->CreateSource(TMS_SOURCE_MIC, m_MicSource);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::AddMicSourceToStream()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Uplink && m_MicSource) {
- status = m_Uplink->AddSource(m_MicSource);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::CreateSpeakerSink()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_SpeakerSink) {
- status = m_Factory->CreateSink(QTMS_SINK_SPEAKER, m_SpeakerSink);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::AddSpeakerSinkToStream()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Dnlink && m_SpeakerSink) {
- status = m_Dnlink->AddSink(m_SpeakerSink);
- qDebug("QTMS speaker sink added to stream");
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-}
-
-void QTmsCsTest::InitUplink()
-{
- QVERIFY(m_Uplink->Init() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_UplinkSpy->count(), 1 );
-}
-
-void QTmsCsTest::InitDnlink()
-{
- QVERIFY(m_Dnlink->Init() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_DnlinkSpy->count(), 1 );
-}
-
-void QTmsCsTest::StartUplink()
-{
- QVERIFY(m_Uplink->Start() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_UplinkSpy->count(), 2 );
-}
-
-void QTmsCsTest::StartDnlink()
-{
- QVERIFY(m_Dnlink->Start() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_DnlinkSpy->count(), 2 );
-}
-void QTmsCsTest::StopUplink()
-{
- QVERIFY(m_Uplink->Stop() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_UplinkSpy->count(), 3 );
-}
-
-void QTmsCsTest::StopDnlink()
-{
- QVERIFY(m_Dnlink->Stop() == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(m_DnlinkSpy->count(), 3 );
-}
-
-void QTmsCsTest::CloseUplink()
-{
- m_Uplink->Deinit();
- QTest::qWait(1000);
- if (m_Uplink) {
- if (m_Gain) {
- QVERIFY(m_Uplink->RemoveEffect(m_Gain)== QTMS_RESULT_SUCCESS);
- }
- if (m_MicSource) {
- QVERIFY(m_Uplink->RemoveSource(m_MicSource)== QTMS_RESULT_SUCCESS);
- }
- if (m_ModemSink) {
- QVERIFY(m_Uplink->RemoveSink(m_ModemSink)== QTMS_RESULT_SUCCESS);
- }
- }
-}
-
-void QTmsCsTest::CloseDownlink()
-{
- m_Dnlink->Deinit();
- QTest::qWait(1000);
- if (m_Dnlink) {
- if (m_Vol) {
- QVERIFY(m_Dnlink->RemoveEffect(m_Vol)== QTMS_RESULT_SUCCESS);
- }
- if (m_ModemSource) {
- QVERIFY(m_Dnlink->RemoveSource(m_ModemSource)== QTMS_RESULT_SUCCESS);
- }
- if (m_SpeakerSink) {
- QVERIFY(m_Dnlink->RemoveSink(m_SpeakerSink) == QTMS_RESULT_SUCCESS);
- }
- }
-
-}
-
-void QTmsCsTest::CreateStreamVol()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_Vol) {
- status = m_Factory->CreateEffect(QTMS_EFFECT_VOLUME, m_Vol);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- connect(static_cast<QTMSVolumeEffect*> (m_Vol),
- SIGNAL(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)), this,
- SLOT(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)));
-
- if (m_Dnlink) {
- status = m_Dnlink->AddEffect(m_Vol);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- }
-}
-
-void QTmsCsTest::StreamVol()
-{
- gint status(QTMS_RESULT_SUCCESS);
- guint maxvol(0);
- if (m_Vol) {
- status = static_cast<QTMSVolumeEffect*> (m_Vol)->GetMaxLevel(maxvol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- status = static_cast<QTMSVolumeEffect*> (m_Vol)->SetLevel(maxvol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
-
- guint vol(0);
- status = static_cast<QTMSVolumeEffect*> (m_Vol)->GetLevel(vol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- QCOMPARE(vol,maxvol);
- }
-}
-
-void QTmsCsTest::CreateStreamGain()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_Gain) {
- status = m_Factory->CreateEffect(QTMS_EFFECT_GAIN, m_Gain);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- connect(static_cast<QTMSGainEffect*> (m_Gain),
- SIGNAL(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)), this,
- SLOT(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)));
-
- if (m_Uplink) {
- status = m_Uplink->AddEffect(m_Gain);
- }
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- }
-}
-
-void QTmsCsTest::StreamGain()
-{
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Gain) {
- guint maxgain(0);
- static_cast<QTMSGainEffect*> (m_Gain)->GetMaxLevel(maxgain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- static_cast<QTMSGainEffect*> (m_Gain)->SetLevel(maxgain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
-
- guint gain(0);
- static_cast<QTMSGainEffect*> (m_Gain)->GetLevel(gain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- QCOMPARE(gain,maxgain);
- }
-
-}
-
-void QTmsCsTest::CreateGlobalVol()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_GlobalVol) {
- status = m_Factory->CreateEffect(QTMS_EFFECT_GLOBAL_VOL, m_GlobalVol);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- connect(static_cast<QTMSGlobalVolEffect*> (m_GlobalVol),
- SIGNAL(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)), this,
- SLOT(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)));
-
- guint maxvol(0);
- status = static_cast<QTMSGlobalVolEffect*> (m_GlobalVol)->GetMaxLevel(maxvol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- status = static_cast<QTMSGlobalVolEffect*> (m_GlobalVol)->SetLevel(maxvol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
-
- guint vol(0);
- status = static_cast<QTMSGlobalVolEffect*> (m_GlobalVol)->GetLevel(vol);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- QCOMPARE(vol,maxvol);
-
- }
-}
-
-void QTmsCsTest::CreateGlobalGain()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory && !m_GlobalGain) {
- status = m_Factory->CreateEffect(QTMS_EFFECT_GLOBAL_GAIN, m_GlobalGain);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- connect(static_cast<QTMSGlobalGainEffect*> (m_GlobalGain),
- SIGNAL(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)), this,
- SLOT(EffectsEvent(const QTMSEffect&,QTMSSignalEvent)));
-
- guint maxgain(0);
- static_cast<QTMSGlobalGainEffect*> (m_GlobalGain)->GetMaxLevel(maxgain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- static_cast<QTMSGlobalGainEffect*> (m_GlobalGain)->SetLevel(maxgain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
-
- guint gain(0);
- static_cast<QTMSGlobalGainEffect*> (m_GlobalGain)->GetLevel(gain);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- QCOMPARE(gain,maxgain);
-
- }
-}
-
-void QTmsCsTest::CreateRouting_data()
-{
- gint status;
- if (m_Factory && !m_Routing) {
- status = m_Factory->CreateGlobalRouting(m_Routing);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- m_RoutingSpy = new QSignalSpy(m_Routing,
- SIGNAL(GlobalRoutingEvent(const QTMSGlobalRouting&,
- QTMSSignalEvent,
- QTMSAudioOutput)));
-
- QVERIFY( m_RoutingSpy->isValid() );
-
- // QCOMPARE(m_RoutingSpy->count(), 0 );
- connect(m_Routing, SIGNAL(GlobalRoutingEvent(const QTMSGlobalRouting&,
- QTMSSignalEvent,QTMSAudioOutput)), this,
- SLOT(GlobalRoutingEvent(const QTMSGlobalRouting&,
- QTMSSignalEvent,QTMSAudioOutput)));
- }
-
- //Populate data and test based on available output
- GetAvailableOutput();
-}
-
-void QTmsCsTest::CreateRouting()
-{
- gint status(QTMS_RESULT_SUCCESS);
- QFETCH(QTMSAudioOutput, routing);
-
- if (m_Routing) {
- status = m_Routing->SetOutput(routing);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-#ifndef __WINSCW__
- QTest::qWait(1000);
- // QCOMPARE(m_RoutingSpy->count(), 1 );
-#endif
- QTMSAudioOutput current;
- status = m_Routing->GetOutput(current);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QCOMPARE(routing,current);
-
- QTMSAudioOutput previous;
- status = m_Routing->GetPreviousOutput(previous);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- qDebug("Previous routing:");
- DisplayDevice(previous);
- }
-}
-
-void QTmsCsTest::GetAvailableOutput()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Routing) {
- status = m_Routing->GetAvailableOutputs(m_Availableoutputs);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- qDebug("Available outputs: %d", m_Availableoutputs.size());
- std::vector<guint>::iterator iteroutputs = m_Availableoutputs.begin();
- for (; iteroutputs < m_Availableoutputs.end(); iteroutputs++) {
- DisplayDevice(*iteroutputs);
- }
- }
-}
-
-void QTmsCsTest::DisplayDevice(QTMSAudioOutput device)
-{
- QTest::addColumn<QTMSAudioOutput>("routing");
-
- switch (device) {
- case QTMS_AUDIO_OUTPUT_NONE:
- {
- qDebug("none");
- QTest::newRow("None") << QTMS_AUDIO_OUTPUT_NONE;
- }
- break;
- case QTMS_AUDIO_OUTPUT_PUBLIC:
- {
- qDebug("Public");
- QTest::newRow("Public") << QTMS_AUDIO_OUTPUT_PUBLIC;
- }
- break;
- case QTMS_AUDIO_OUTPUT_PRIVATE:
- {
- qDebug("Private");
- QTest::newRow("Private") << QTMS_AUDIO_OUTPUT_PRIVATE;
- }
- break;
- case QTMS_AUDIO_OUTPUT_HANDSET:
- {
- qDebug("Handset");
- QTest::newRow("Handset") << QTMS_AUDIO_OUTPUT_HANDSET;
- }
- break;
- case QTMS_AUDIO_OUTPUT_LOUDSPEAKER:
- {
- qDebug("Loudspeaker");
- QTest::newRow("Loud speaker") << QTMS_AUDIO_OUTPUT_LOUDSPEAKER;
- }
- break;
- case QTMS_AUDIO_OUTPUT_WIRED_ACCESSORY:
- {
- qDebug("Wired accessory");
- QTest::newRow("Wired accessory") << QTMS_AUDIO_OUTPUT_WIRED_ACCESSORY;
- }
- break;
- case QTMS_AUDIO_OUTPUT_ACCESSORY:
- {
- qDebug("Accessory");
- QTest::newRow("Accessory") << QTMS_AUDIO_OUTPUT_ACCESSORY;
- }
- break;
- case QTMS_AUDIO_OUTPUT_ETTY:
- {
- qDebug("TTY");
- QTest::newRow("ETTY") << QTMS_AUDIO_OUTPUT_ETTY;
- }
- break;
- default:
- break;
- }
-}
-
-void QTmsCsTest::CreateDnlinkDtmf()
-{
- gint status(QTMS_RESULT_SUCCESS);
- GString* dtmfstring(NULL);
-
- status = m_Factory->CreateDTMF(QTMS_STREAM_DOWNLINK, m_Dnlnkdtmf);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- if (m_Dnlnkdtmf) {
- QSignalSpy dtmfspy(m_Dnlnkdtmf, SIGNAL(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)));
-
- QVERIFY( dtmfspy.isValid() );
-
- //QCOMPARE(dtmfspy.count(), 0 );
-
- connect(m_Dnlnkdtmf, SIGNAL(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)), this,
- SLOT(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)));
-
- dtmfstring = g_string_new("4723");
- status = m_Dnlnkdtmf->SetTone(dtmfstring);
-
- m_Dnlnkdtmf->Start();
- QTest::qWait(1000);
- g_string_free(dtmfstring, TRUE);
- //QCOMPARE(dtmfspy.count(), 1 );
-
- status = m_Dnlnkdtmf->Stop();
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(dtmfspy.count(), 2 );
-
- }
-}
-
-void QTmsCsTest::CreateUplinkDtmf()
-{
- gint status(QTMS_RESULT_SUCCESS);
- GString* dtmfstring(NULL);
-
- status = m_Factory->CreateDTMF(QTMS_STREAM_UPLINK, m_Uplnkdtmf);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- if (m_Uplnkdtmf) {
- QSignalSpy uplinkdtmfspy(m_Uplnkdtmf, SIGNAL(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)));
-
- QVERIFY( uplinkdtmfspy.isValid() );
-
- //QCOMPARE(dtmfspy.count(), 0 );
-
- connect(m_Uplnkdtmf, SIGNAL(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)), this,
- SLOT(DTMFEvent(const QTMSDTMF&,QTMSSignalEvent)));
-
- dtmfstring = g_string_new("4723");
- status = m_Uplnkdtmf->SetTone(dtmfstring);
-
- m_Uplnkdtmf->Start();
- QTest::qWait(1000);
- g_string_free(dtmfstring, TRUE);
- //QCOMPARE(dtmfspy.count(), 1 );
-
- m_Uplnkdtmf->ContinueDTMFStringSending(FALSE);
-
- status = m_Uplnkdtmf->Stop();
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- //QCOMPARE(dtmfspy.count(), 2 );
-
- }
-}
-
-void QTmsCsTest::CreateInband_data()
-{
-
- gint status(QTMS_RESULT_SUCCESS);
- if (m_Factory && !m_InbandTonePlayer) {
- status = m_Factory->CreateInbandTonePlayer(m_InbandTonePlayer);
-
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- m_InbandSpy = new QSignalSpy(m_InbandTonePlayer,
- SIGNAL(InbandToneEvent(const QTMSInbandTone&,QTMSSignalEvent)));
-
- QVERIFY( m_InbandSpy->isValid() );
-
- //QCOMPARE(m_InbandSpy->count(), 0 );
- connect(m_InbandTonePlayer,
- SIGNAL(InbandToneEvent(const QTMSInbandTone&, QTMSSignalEvent)), this,
- SLOT(InbandToneEvent(const QTMSInbandTone&, QTMSSignalEvent)));
- }
-
- QTest::addColumn<QTMSInbandToneType>("inbandTone");
-
- QTest::newRow("Busy") << QTMS_INBAND_USER_BUSY;
- QTest::newRow("Path not avail") << QTMS_INBAND_RADIO_PATH_NOT_AVAIL;
- QTest::newRow("Congestion") << QTMS_INBAND_CONGESTION;
- QTest::newRow("Special info") << QTMS_INBAND_SPECIAL_INFO;
- QTest::newRow("Reorder") << QTMS_INBAND_REORDER;
- QTest::newRow("Remote alerting") << QTMS_INBAND_REMOTE_ALEARTING;
- QTest::newRow("call waiting") << QTMS_INBAND_CALL_WAITING;
- QTest::newRow("data call") << QTMS_INBAND_DATA_CALL;
- QTest::newRow("no sequence") << QTMS_INBAND_NO_SEQUENCE;
- QTest::newRow("beep sequence") << QTMS_INBAND_BEEP_SEQUENCE;
-
-}
-
-void QTmsCsTest::CreateInband()
-{
- gint status(QTMS_RESULT_SUCCESS);
- QFETCH(QTMSInbandToneType, inbandTone);
-
- if (m_InbandTonePlayer) {
- status = m_InbandTonePlayer->Start(inbandTone);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- // QCOMPARE(m_InbandSpy->count(), 1 );
-
- status = m_InbandTonePlayer->Stop();
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- // QCOMPARE(m_InbandSpy->count(), 2 );
- }
-}
-
-void QTmsCsTest::CreateRingTone()
-{
- gint status(QTMS_RESULT_SUCCESS);
-
- if (m_Factory) {
- status = m_Factory->CreateRingTonePlayer(m_RingTonePlayer);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
-
- connect(m_RingTonePlayer, SIGNAL(RingtoneEvent(const QTMSRingTone&,QTMSSignalEvent)), this,
- SLOT(RingtoneEvent(const QTMSRingTone&,QTMSSignalEvent)));
- }
-
-}
-
-void QTmsCsTest::InitRingTonePlayerFromProfiles()
-{
- if (m_RingTonePlayer) {
- gint status = m_RingTonePlayer->Init(QTMS_RINGTONE_DEFAULT);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- }
-
-}
-
-void QTmsCsTest::InitRingTonePlayerFromFile()
-{
- if (m_RingTonePlayer) {
- TBuf<sizeof(KTestFile1)> buf(KTestFile1);
- m_RTStr = g_string_new_len((gchar*) buf.Ptr(), buf.Length() * 2);
- gint status = m_RingTonePlayer->Init(QTMS_RINGTONE_FILE, m_RTStr);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- g_string_free(m_RTStr, TRUE);
- m_RTStr = NULL;
- }
-
-}
-
-void QTmsCsTest::InitRingToneSequencePlayer()
-{
- if (m_RingTonePlayer) {
- TBuf8<sizeof(KRTBeepSequence)> buf(KRTBeepSequence);
- m_RTStr = g_string_new_len((gchar*) buf.Ptr(), buf.Length());
- gint status = m_RingTonePlayer->Init(QTMS_RINGTONE_SEQUENCE, m_RTStr);
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- g_string_free(m_RTStr, TRUE);
- }
-}
-
-void QTmsCsTest::PlayRingTone()
-{
- if (m_RingTonePlayer) {
- gint status = m_RingTonePlayer->Play();
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- }
-}
-
-void QTmsCsTest::PauseRingTone()
-{
- if (m_RingTonePlayer) {
- gint status = m_RingTonePlayer->Pause(); //pause audio for video RT only
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- }
-}
-
-void QTmsCsTest::StopRingTone()
-{
- if (m_RingTonePlayer) {
- gint status = m_RingTonePlayer->Stop();
- QVERIFY(status == QTMS_RESULT_SUCCESS);
- QTest::qWait(1000);
- }
-}
-
-void QTmsCsTest::MuteRingTone()
-{
- if (m_RingTonePlayer) {
- m_RingTonePlayer->Mute();
- }
-}
-
-void QTmsCsTest::CloseRingTonePlayer()
-{
- if (m_Factory && m_RingTonePlayer) {
- m_RingTonePlayer->Deinit();
- m_Factory->DeleteRingTonePlayer(m_RingTonePlayer);
- }
-}
-
-void QTmsCsTest::EffectsEvent(const QTMSEffect& tmseffect, QTMSSignalEvent event)
-{
- QTMSEffectType effecttype;
- const_cast<QTMSEffect&> (tmseffect).GetType(effecttype);
-
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
-
- switch (effecttype) {
- case TMS_EFFECT_GLOBAL_VOL:
- {
- switch (event.type) {
- case TMS_EVENT_EFFECT_VOL_CHANGED:
- qDebug("Global vol effect change");
- break;
- default:
- break;
- }
- }
- break;
- case TMS_EFFECT_GLOBAL_GAIN:
- {
- switch (event.type) {
- case TMS_EVENT_EFFECT_GAIN_CHANGED:
- qDebug("Global gain effect change");
- break;
- default:
- break;
- }
- }
- break;
- case TMS_EFFECT_VOLUME:
- qDebug("Stream vol effect change");
- break;
- case TMS_EFFECT_GAIN:
- qDebug("Stream gain effect change");
- break;
- default:
- break;
- }
-}
-
-void QTmsCsTest::GlobalRoutingEvent(const QTMSGlobalRouting& /*routing*/, QTMSSignalEvent event,
- QTMSAudioOutput /*output*/)
-{
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
- switch (event.type) {
- case TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED:
- qDebug("Available outputs changed");
- break;
- case TMS_EVENT_ROUTING_OUTPUT_CHANGED:
- qDebug("output changed");
- break;
- case TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE:
- qDebug("set output complete");
- break;
- default:
- break;
- }
-
-}
-
-void QTmsCsTest::TMSStreamEvent(const QTMSStream& stream, QTMSSignalEvent event)
-{
-
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
-
- gint streamId;
- streamId = const_cast<QTMSStream&> (stream).GetStreamId();
- qDebug("StreamID %d", streamId);
- gint state;
- state = const_cast<QTMSStream&> (stream).GetState();
- QVERIFY(state == event.curr_state);
-
- switch (const_cast<QTMSStream&> (stream).GetStreamType()) {
- case QTMS_STREAM_UPLINK:
- {
- switch (event.type) {
- case QTMS_EVENT_STREAM_STATE_CHANGED:
- {
- switch (event.curr_state) {
- case QTMS_STREAM_INITIALIZED:
- {
- qDebug("Uplink initialized ");
- break;
- }
- case QTMS_STREAM_UNINITIALIZED:
- qDebug("Uplink uninitialized ");
- break;
- case QTMS_STREAM_PAUSED:
- qDebug("Uplink paused ");
- break;
- case QTMS_STREAM_STARTED:
- qDebug("Uplink started ");
- break;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
- }
- case QTMS_STREAM_DOWNLINK:
- {
- switch (event.type) {
- case QTMS_EVENT_STREAM_STATE_CHANGED:
- {
- switch (event.curr_state) {
- case QTMS_STREAM_INITIALIZED:
- {
- qDebug("Downlink initialized ");
- break;
- }
- case QTMS_STREAM_UNINITIALIZED:
- qDebug("Downlink uninitialized ");
- break;
- case QTMS_STREAM_PAUSED:
- qDebug("Downlink paused ");
- break;
- case QTMS_STREAM_STARTED:
- qDebug("Downlink started ");
- break;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
-}
-
-void QTmsCsTest::RingtoneEvent(const QTMSRingTone& /*rt*/, QTMSSignalEvent event)
-{
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
- switch (event.type) {
- case TMS_EVENT_RINGTONE_OPEN_COMPLETE:
- qDebug("RT Open Complete");
- break;
- case TMS_EVENT_RINGTONE_PLAY_COMPLETE:
- qDebug("RT Play Complete");
- break;
- default:
- break;
- }
-}
-
-void QTmsCsTest::DTMFEvent(const QTMSDTMF& /*dtmf*/, QTMSSignalEvent event)
-{
- if (event.reason != QTMS_RESULT_SUCCESS) {
- QEXPECT_FAIL("","Need to be in call, expect uplink dtmf to fail", Continue);
- }
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
-
- switch (event.type) {
- case QTMS_EVENT_DTMF_TONE_STARTED:
- qDebug("DTMF Started");
- break;
- case QTMS_EVENT_DTMF_TONE_STOPPED:
- qDebug("DTMF Stopped");
- break;
- default:
- break;
- }
-}
-
-void QTmsCsTest::InbandToneEvent(const QTMSInbandTone& /*inbandtone*/, QTMSSignalEvent event)
-{
- QVERIFY(event.reason == QTMS_RESULT_SUCCESS);
- switch (event.type) {
- case QTMS_EVENT_INBAND_TONE_STARTED:
- qDebug("Inband Tone Started");
- break;
- case QTMS_EVENT_INBAND_TONE_STOPPED:
- qDebug("Inband Tone Stopped");
- break;
- default:
- break;
- }
-}
-
-QTEST_MAIN_S60(QTmsCsTest)
-
-#include "qtmscstest.moc"
-