00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <basched.h>
00018 #include <eikenv.h>
00019 #include <coecntrl.h>
00020 #include <eikappui.h>
00021 #include <e32keys.h>
00022 #include <eikconso.h>
00023 #include <eikapp.h>
00024 #include <eikdoc.h>
00025 #include <eikon.rsg>
00026 #include <eikinfo.h>
00027
00028 #include <eikon.hrh>
00029 #include <eikecho.rsg>
00030 #include "ECHOENG.H"
00031
00032 #ifndef _EIKECHO_H_
00033 #define _EIKECHO_H_
00034
00035
00036
00037 const TUid KUidEikEchoApp = {0xE800006A};
00038
00039
00040
00041 const TUint32 KInetAddr = INET_ADDR(10,159,34,198);
00042 _LIT(KInetHostName,"phoenix.doc.ic.ac.uk");
00043
00044
00045 _LIT(KIntFormat,"%d");
00046
00047
00048
00049
00050
00051
00052 class CConsoleControl : public CCoeControl, public MUINotify
00053 {
00054 public:
00055 static CConsoleControl* NewL(CEchoEngine* aEchoEngine);
00056 ~CConsoleControl();
00057 void ConstructL(CEchoEngine* aEchoEngine);
00058
00059
00060 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
00061 void ActivateL();
00062
00063
00064 void PrintNotify(const TDesC& aDes);
00065 void PrintNotify(TInt aInt);
00066 void ErrorNotifyL(const TDesC& aErrMessage, TInt aErrCode);
00067 protected:
00068 CConsoleControl() {}
00069 private:
00070 CEikConsoleScreen* iConsole;
00071 CEchoEngine* iEchoEngine;
00072 };
00073
00074
00075
00076
00077
00078 class CEchoAppUi : public CEikAppUi
00079 {
00080 public:
00081 CEchoAppUi(CEchoEngine* aEchoEngine);
00082 void ConstructL();
00083 void CreateConsoleL();
00084 ~CEchoAppUi();
00085 private:
00086
00087 void HandleCommandL(TInt aCommand);
00088 private:
00089 CConsoleControl* iConsoleControl;
00090 CEchoEngine* iEchoEngine;
00091 };
00092
00093
00094
00095
00096
00097 class CEchoDocument : public CEikDocument
00098 {
00099 public:
00100 CEchoDocument(CEikApplication& aApp);
00101 static CEchoDocument* NewL(CEikApplication& aApp);
00102 ~CEchoDocument();
00103 void ConstructL();
00104 private:
00105
00106 CEikAppUi* CreateAppUiL();
00107 private:
00108 CEchoEngine* iEchoEngine;
00109 };
00110
00111
00112
00113
00114
00115 class CEchoApplication : public CEikApplication
00116 {
00117 private:
00118 CApaDocument* CreateDocumentL();
00119 TUid AppDllUid() const;
00120 };
00121 #endif
00122
00123
00124