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