mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h
changeset 16 43d09473c595
parent 14 80975da52420
child 53 eabc8c503852
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h	Mon May 03 12:59:52 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h	Fri May 14 16:22:35 2010 +0300
@@ -31,8 +31,6 @@
 #include <tmscall.h>
 #include <tmsstream.h>
 #include <tmsformat.h>
-#include <tmsdtmf.h>
-#include <tmsringtone.h>
 #include <tmsclientsink.h>
 #include <tmsclientsource.h>
 #include <tmsclientsourceobsrvr.h>
@@ -51,6 +49,12 @@
 #include <tmsilbcformat.h>
 #include <tmspcmformat.h>
 #include <tmsamrformat.h>
+#include <tmsdtmf.h>
+#include <tmsdtmfobsrvr.h>
+#include <tmsringtone.h>
+#include <tmsringtoneobsrvr.h>
+#include <tmsinbandtone.h>
+#include <tmsinbandtoneobsrvr.h>
 
 #include "TimeoutController.h"
 
@@ -63,6 +67,7 @@
 const TInt KErrUnexpectedValue = -2002; // Unexpected value at setting
 const TInt KErrTimeoutController = -2007; // Unexpected notification
 
+const TInt KMicroTimeout = 1000;
 const TInt KShortTimeout = 2000;
 const TInt KMediumTimeout = 10000;
 const TInt KLongTimeout = 100000;
@@ -105,20 +110,43 @@
 _LIT( KTagPublic, "Public");
 _LIT( KTagPrivate, "Private");
 
+_LIT( KTagRTDefault, "RTDefault");
+_LIT( KTagRTFile, "RTFile");
+_LIT( KTagRTBeepOnce, "RTBeepOnce");
+_LIT( KTagRTSilent, "RTSilent");
+_LIT( KTagRTUnsecureVoIP, "RTUnsecureVoIP");
+_LIT( KTagRTSequence, "RTSequence");
+_LIT( KTagRTTts, "RTTts");
+
+_LIT( KTagUserBusy, "UserBusy" );
+_LIT( KTagRadioPathNotFound, "RadioPathNotFound" );
+_LIT( KTagCongestion, "Congestion" );
+_LIT( KTagSpecialInfo, "SpecialInfo" );
+_LIT( KTagReorder, "Reorder" );
+_LIT( KTagAlerting, "Alerting" );
+_LIT( KTagWaiting, "Waiting" );
+_LIT( KTagDataCall, "DataCall" );
+_LIT( KTagNoSequence, "NoSequence" );
+_LIT( KTagBeepSequence, "BeepSequence" );
+
 // MACROS
-//#define ?macro ?macro_def
-// Logging path
+
 #ifdef __WINSCW__
 _LIT( KTmsAudioServicesTestClassLogPath, "\\logs\\testframework\\" );
 _LIT16(KTestFile1, "\\testing\\data\\alarm 1.aac");
 _LIT16(KTestFile2, "\\testing\\data\\alarm.aac");
-_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
+//_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
+_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
 #else
 _LIT( KTmsAudioServicesTestClassLogPath, "c:\\testing\\Log\\" );
 _LIT16(KTestFile1, "c:\\testing\\data\\alarm 1.aac");
 _LIT16(KTestFile2, "c:\\testing\\data\\alarm.aac");
-_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
+//_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
+_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
 #endif
+_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(KTextToSpeak, "THE PHONE IS RINGING");
 
 // Log file
 _LIT( KTmsAudioServicesTestClassLogFile, "CTmsAudioServicesTestClass.txt" );
@@ -150,7 +178,10 @@
     public TMSClientSourceObserver,
     public TMSClientSinkObserver,
     public TMSEffectObserver,
-    public TMSGlobalRoutingObserver
+    public TMSGlobalRoutingObserver,
+    public TMSRingToneObserver,
+    public TMSDTMFObserver,
+    public TMSInbandToneObserver
     {
     enum StreamState
         {
@@ -188,6 +219,13 @@
         EFillBuffer,
         EOutputChanged,
         ESetOutputComplete,
+        ERTInitComplete,
+        ERTPlayComplete,
+        ERTDeinitComplete,
+        EInbToneStarted,
+        EInbToneStopped,
+        EDTMFToneStarted,
+        EDTMFToneStopped
         };
 
 public:
@@ -227,6 +265,15 @@
     void GlobalRoutingEvent(const TMSGlobalRouting& /*routing*/,
             TMSSignalEvent event, TMSAudioOutput output);
 
+    // from TMSRingToneObserver
+    void RingtoneEvent(const TMSRingTone& rt, TMSSignalEvent event);
+
+    // from TMSDTMFObserver
+    void DTMFEvent(const TMSDTMF& dtmf, TMSSignalEvent event);
+
+    // from TMSInbandToneObserver
+    void InbandToneEvent(const TMSInbandTone& inbandtone, TMSSignalEvent event);
+
 private:
 
     /**
@@ -333,10 +380,8 @@
     TInt GetDownlinkVersion(CStifItemParser& aItem);
     TInt CreateUplinkStream(CStifItemParser& aItem);
     TInt GetUplinkVersion(CStifItemParser& aItem);
-    TInt CreateDTMFTonePlayer(CStifItemParser& aItem);
-    TInt DeleteDTMFTonePlayer(CStifItemParser& aItem);
-    TInt CreateRingTonePlayer(CStifItemParser& aItem);
     TInt GetSupportedFormats(CStifItemParser& aItem);
+
     TInt IsCallTypeSupported(CStifItemParser& aItem);
     TInt SetDownlinkFormat(CStifItemParser& aItem);
     TInt SetUplinkFormat(CStifItemParser& aItem);
@@ -352,18 +397,25 @@
     TInt Gain(CStifItemParser& aItem);
     TInt Volume(CStifItemParser& aItem);
 
-    TInt InitDTMFTonePlayer(CStifItemParser& aItem);
+    TInt CreateDTMFTonePlayer(CStifItemParser& aItem);
     TInt DTMFTonePlay(CStifItemParser& aItem);
+    TInt StopDTMFTonePlayer(CStifItemParser& aItem);
+    TInt ContinueDTMFStringSending(CStifItemParser& aItem);
     TInt CloseDTMFPlayer(CStifItemParser& aItem);
-    TInt StopDTMFTonePlayer(CStifItemParser& aItem);
 
+    TInt CreateRingTonePlayer(CStifItemParser& aItem);
     TInt InitRingTonePlayer(CStifItemParser& aItem);
+    TInt PlayRingTone(CStifItemParser& aItem);
+    TInt PlayRingToneNoEvent(CStifItemParser& aItem);
+    TInt PauseRingTone(CStifItemParser& aItem); //IP video call only (10.2)
+    TInt StopRingTone(CStifItemParser& aItem);
+    TInt MuteRingTone(CStifItemParser& aItem);
     TInt CloseRingTonePlayer(CStifItemParser& aItem);
-    TInt PlayRingTone(CStifItemParser& aItem);
-    TInt PauseRingTone(CStifItemParser& aItem);
-    TInt ResumeRingTone(CStifItemParser& aItem);
-    TInt StopRingTone(CStifItemParser& aItem);
-    TInt GetBufferType(CStifItemParser& aItem);
+
+    TInt CreateInbandTonePlayer(CStifItemParser& aItem);
+    TInt StartInbandTone(CStifItemParser& aItem);
+    TInt StopInbandTone(CStifItemParser& aItem);
+    TInt CloseInbandTonePlayer(CStifItemParser& aItem);
 
     //  TInt GetSupportedBitrates( CStifItemParser& aItem );
 
@@ -385,6 +437,7 @@
     void DisplayFormat(TMSFormatType aFormat);
     void GetSupportedBitrates(RArray<TUint>& aBrArr);
     void DisplayDevice(TMSAudioOutput device);
+    TInt GetBufferType(CStifItemParser& aItem);
 
     TInt ConfigEncAudDevice(CStifItemParser& aItem);
 
@@ -407,15 +460,15 @@
     TInt RemoveSinkObserver(CStifItemParser& aItem);
 
     gint CreateVolumeEffect();
-    gint CreateVolumeGlobleEffect();
+    gint CreateVolumeGlobalEffect();
     TInt AddVolumeEffectToStream(CStifItemParser& aItem);
-    TInt AddGlobleVolumeEffectToStream(CStifItemParser& aItem);
-    TInt RemoveGlobleVolumeEffectToStream(CStifItemParser& aItem);
+    TInt AddGlobalVolumeEffectToStream(CStifItemParser& aItem);
+    TInt RemoveGlobalVolumeEffectToStream(CStifItemParser& aItem);
     gint CreateGainEffect();
-    gint CreateGlobleGainEffect();
+    gint CreateGlobalGainEffect();
     TInt AddGainEffectToStream(CStifItemParser& aItem);
-    TInt AddGlobleGainEffectToStream(CStifItemParser& aItem);
-    TInt RemoveGlobleGainEffectToStream(CStifItemParser& aItem);
+    TInt AddGlobalGainEffectToStream(CStifItemParser& aItem);
+    TInt RemoveGlobalGainEffectToStream(CStifItemParser& aItem);
     TInt GetStreamType(CStifItemParser& aItem);
     TInt GetStreamState(CStifItemParser& aItem);
 
@@ -439,6 +492,7 @@
     TMSDTMF* iDTMFTonePlayerDn;
     TMSDTMF* iDTMFTonePlayerUp;
     TMSRingTone* iRingTonePlayer;
+    TMSInbandTone* iInbandTonePlayer;
     TMSAudioOutput iDevice;
 
     // Codec format APIs
@@ -486,8 +540,8 @@
     TBool iRecBufReady;
 
     // For ring tone playback
-    RFile iRTFile;
-    RFs iFs;
+    GString* iRTStr;
+    GString* iTTSStr;
 
     // Active object with a timer to timeout the test case
     CSimpleTimeout * iTimeoutController;
@@ -502,7 +556,6 @@
     RArray<TTmsExpectedEvent> iOcurredEvents;
 
     CActiveSchedulerWait* iActive;
-
     };
 
 #endif //__TMSAUDIOSERVICESTESTCLASS_H