examples/MultimediaProtocols/RTPExample/inc/ExampleApp.h

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__

Generated by  doxygen 1.6.2