00001 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 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__
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.