home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Applications / Muddweller 1.2 / source code / Main / MUDDoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-17  |  3.7 KB  |  134 lines  |  [TEXT/MPS ]

  1. /* MUDDoc - Implementation of TMUDDoc                                         */
  2.  
  3. #ifndef __MUDDOC__
  4. #define __MUDDOC__
  5.  
  6.         // • Toolbox
  7. #ifndef __CMINTF__
  8. #include "CMIntf.h"
  9. #endif
  10.  
  11. #ifndef ipBadLapErr
  12. #include "MacTCPCommonTypes.h"
  13. #endif
  14.  
  15. #ifndef TCPCreate
  16. #include "TCPPB.h"
  17. #endif
  18.  
  19.  
  20.         // • MacApp
  21. #ifndef __UMacApp__
  22. #include "UMacApp.h"
  23. #endif
  24.  
  25.  
  26.         // • Implementation use
  27. #ifndef __FILTERS__
  28. #include "Filters.h"
  29. #endif
  30.  
  31. #ifndef __LOGWINDOW__
  32. #include "LogWindow.h"
  33. #endif
  34.  
  35. #ifndef __MACROS__
  36. #include "Macros.h"
  37. #endif
  38.  
  39.  
  40. const int kStdLogSize = 50;
  41. const int kStdHistSize = 20;
  42. const int kMaxCmdSize = 32000;
  43.  
  44. const int kRWBufferSize = 2048;
  45. const int kTCPTimeout = 200;
  46.  
  47. struct IOBlock {
  48.     unsigned short wdsLength;
  49.     Ptr wdsPtr;
  50.     short wdsEndmarker;
  51.     long rdBufIn, rdBufOut, rdBufChars;
  52.     long wtBufIn, wtBufOut, wtBufChars, wtCMChars;
  53.     short ioError;
  54.     TCPiopb pb;
  55.     unsigned char rdBuf [kRWBufferSize], wtBuf [kRWBufferSize];
  56. };
  57.  
  58. class TMUDDoc: public TDocument {
  59. public:
  60.     Boolean fUseCTB;
  61.     long fTCPStream, fTCPAddr, fMTPDirID;
  62.     short fTCPPort, fMTPPort, fMTPVRefNum, fFontNum, fFontSize;
  63.     int fLogSize, fHistSize, fTabSize, fSTab, fEndLine, fCurCol;
  64.     int fProtocol, fTileHeight;
  65.     unsigned char fLastPath [50];
  66.     unsigned char fInterrupt, **fUpdateList;
  67.     Str255 fToolName, fHostName, fFontName;
  68.     Str31 fMTPVol, fMTPDir, fPlayer, fPasswd, fCreatorApp;
  69.     unsigned long fTextSig;
  70.     Boolean fConnected, fDoConnect, fSkipCR, fEcho, fDoEcho, fUpdate;
  71.     Boolean fRunning, fClosing, fUseTelnet, fParseVT100, fCvtTab;
  72.     Boolean fAutoScroll, fQuiet;
  73.     short fMaxCmdSize, fLastMacItem;
  74.     VPoint fLoc, fSize;
  75.     ConnHandle fConn;
  76.     Ptr fConfig, fBuffer;
  77.     IOBlock *fBlock;
  78.     TEvtHandler *fIdler;
  79.     TLogWindow *fLogWindow;
  80.     TFilter *fInputFilter, *fEchoFilter;
  81.     TMacroFilter *fMacroFilter;
  82.     TLogFilter *fLogFilter;
  83.     TMacro *fRunList;
  84.     MHandle fLogin, fLogout;
  85.     MHandle fMacroList;
  86.  
  87.     virtual pascal void Break (void);
  88.     virtual pascal void CheckConnection (void);
  89.     virtual pascal void Close (void);
  90.     virtual pascal void CloseConnection (void);
  91.     virtual pascal void Configure (void);
  92.     virtual pascal void Connect (void);
  93.     virtual pascal void Disconnect (void);
  94.     virtual pascal Boolean DoCMEvent (ConnHandle hConn, EventInfo *evtInfo);
  95.     virtual pascal Boolean DoCMMenu (short theMenu, short theItem);
  96.     virtual pascal void DoCMResume (Boolean switchIn);
  97.     virtual pascal Boolean DoIdle (IdlePhase phase);
  98.     virtual pascal void DoInitialState (void);
  99.     virtual pascal void DoMakeViews (Boolean forPrinting);
  100.     virtual pascal TCommand *DoMenuCommand (CmdNumber aCmdNumber);
  101.     virtual pascal void DoNeedDiskSpace (long *dataForkBytes,
  102.         long *rsrcForkBytes);
  103.     virtual pascal void DoRead (short aRefNum, Boolean rsrcExists,
  104.         Boolean forPrinting);
  105.     virtual pascal void DoSetupMenus (void);
  106.     virtual pascal void Download (void);
  107.     virtual pascal void DoWrite (short aRefNum, Boolean makingCopy);
  108.     virtual pascal void Free (void);
  109.     virtual pascal long GrowZone (long needed);
  110.     virtual pascal void IMUDDoc (void);
  111.     virtual pascal void Interrupt (void);
  112.     virtual pascal void OpenConnection (void);
  113.     virtual pascal void RequestName (Str255 path, Str255 name, short *vRefNum);
  114.     virtual pascal void Send (unsigned char *theChars, long count);
  115.     virtual pascal void SendFile (void);
  116.     virtual pascal void SendNoEcho (unsigned char *theChars, long count);
  117.     virtual pascal void Update (void);
  118.     virtual pascal void UpdateAll (void);
  119.     virtual pascal void UpdateFile (TWindow *anUpdater, long dirID,
  120.         Str255 fName, unsigned long mDate, Str255 path);
  121.     virtual pascal void UpdateFrom (TWindow *anUpdater, long dirID,
  122.         Str255 path);
  123.     virtual pascal void Upload (void);
  124.     virtual pascal void UseCTB (void);
  125. };
  126.  
  127.  
  128. pascal OSErr CMtoOSErr (CMErr err);
  129. pascal void FailCMErr (CMErr err);
  130.  
  131. pascal void InitMUDDoc (void);
  132.  
  133. #endif
  134.