Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

puttyengineimp.h

Go to the documentation of this file.
00001 
00010 #ifndef __PUTTYENGINEIMP_H__
00011 #define __PUTTYENGINEIMP_H__
00012 
00013 #include <e32std.h>
00014 #include <stdarg.h>
00015 #include <gdi.h>
00016 extern "C" {
00017 #include "putty.h"
00018 }
00019 #include "puttyengine.h"
00020 #include "puttyclient.h"
00021 #include "epocnet.h"
00022 
00028 class CPuttyEngineImp : public CActive, public MPuttyEngine,
00029                         public MSocketWatcher {
00030 
00031 public:
00032     static CPuttyEngineImp *NewL();
00033     static CPuttyEngineImp *NewLC();
00034     ~CPuttyEngineImp();
00035 
00036     // Methods corresponding to PuTTY callbacks
00037     void putty_fatalbox(char *p, va_list ap);
00038     void putty_connection_fatal(char *p, va_list ap);
00039     void putty_do_text(int x, int y, char *text, int len,
00040                        unsigned long attr, int lattr);
00041     void putty_verify_ssh_host_key(char *host, int port, char *keytype,
00042                                    char *keystr, char *fingerprint);
00043     void putty_askcipher(char *ciphername, int cs);
00044     void putty_palette_set(int n, int r, int g, int b);
00045     void putty_palette_reset();
00046     void putty_do_cursor(int x, int y, char *text, int len, unsigned long attr,
00047                          int lattr);
00048 
00049     // MPuttyEngine methods
00050     virtual void Init(MPuttyClient *aClient, const TDesC &aDataPath);
00051     virtual void Close();
00052     virtual Config *GetConfig();
00053     virtual TInt Connect();
00054     virtual void GetErrorMessage(TDes &aTarget);
00055     virtual void Disconnect();
00056     virtual void SetTerminalSize(TInt aWidth, TInt aHeight);
00057     virtual void RePaintWindow();
00058     virtual void SendKeypress(TKeyCode aCode, TUint aModifiers);
00059     virtual void AddRandomNoise(const TDesC8& aNoise);
00060 
00061     // MSocketWatcher methods
00062     virtual void SocketOpened();
00063     virtual void SocketClosed();
00064 
00065     // Terminal update callback
00066     static TInt UpdateTerminal(TAny *anAny);
00067 
00068 private:
00069     CPuttyEngineImp();
00070     void ConstructL();
00071     virtual void RunL();
00072     virtual void DoCancel();
00073 
00074     enum {
00075         EStateNone = 0,
00076         EStateInitialized,
00077         EStateConnected,
00078         EStateDisconnected,
00079         EStateFatalConnectionError
00080     } iState;
00081 
00082     MPuttyClient *iClient;
00083     char *iConnError;
00084     char *iFatalConnError;
00085     TInt iNumSockets;
00086     TInt iTermWidth, iTermHeight;
00087     CPeriodic *iTermUpdatePeriodic;
00088 
00089     enum {
00090         KNumColors = 24
00091     };
00092 
00093     TRgb iDefaultPalette[KNumColors];
00094     TRgb iPalette[KNumColors];
00095 };
00096 
00097 
00098 #endif

Generated on Sun Feb 9 13:01:29 2003 for PuTTY by doxygen1.2.18