00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __EXAMPLEAPP_H__
00033 #define __EXAMPLEAPP_H__
00034
00035 #include <e32test.h>
00036 #include <bacline.h>
00037 #include "RTPFileStreamer.h"
00038
00039 _LIT(KTitle,"RTCP App" );
00040 _LIT(KDestAddr,"2130706433" );
00041 _LIT(KDestPort,"9000" );
00042 _LIT(KLocalPort,"9000" );
00043 _LIT(KsFileName,"source.dat" );
00044 _LIT(KdFileName,"target.dat" );
00045 _LIT(KSize,"100" );
00046
00050 class MActiveConsoleNotify
00051 {
00052 public:
00053 virtual void KeyPressed(TChar aKey) =0;
00054 };
00058 class CActiveConsole : public CActive
00059 {
00060 public:
00061 static CActiveConsole* NewL(MActiveConsoleNotify& aNotify,const TDesC& aTitle,const TSize& aSize);
00062 void RequestKey();
00063 inline CConsoleBase& Console() const
00064 {
00065 return *iConsole;
00066 };
00067 ~CActiveConsole();
00068 private:
00069 void RunL();
00070 void DoCancel();
00071 void DrawCursor();
00072 CActiveConsole(MActiveConsoleNotify& aNotify);
00073 void ConstructL(const TDesC& aTitle,const TSize& aSize);
00074 private:
00075 CConsoleBase* iConsole;
00076 MActiveConsoleNotify& iNotify;
00077 };
00081 class CExampleApp : public CBase, public MActiveConsoleNotify, public MFileStreamerObserver
00082 {
00083 public:
00084 static CExampleApp* NewL();
00085
00086 void StartL();
00087 void Stop();
00088 ~CExampleApp();
00089 void KeyPressed(TChar aKey);
00090 void ReadError(TInt aError);
00091 public:
00092 virtual void NotifyPacketSent();
00093 virtual void NotifyPacketReceived();
00094 virtual void NotifyComplete();
00095 virtual void NotifyError();
00096 private:
00097 CExampleApp();
00098 void ConstructL();
00099 void DrawMonitor();
00100 private:
00101 CActiveConsole* iActiveConsole;
00102 CActiveConsole* iMonitorConsole;
00103 TInt iSent;
00104 TInt iRecv;
00105 CRtpFileStreamer* iStreamer;
00106 RSocketServ iSockServ;
00107 };
00108
00109 #endif // __EXAMPLEAPP_H__