home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-07-03 | 2.7 KB | 128 lines | [TEXT/MPCC] |
- /*
- ** CTCPApplication.cp
- **
- ** TurboTCP support library
- ** Application subclass
- **
- ** Copyright © 1993-94, FrostByte Design / Eric Scouten
- **
- */
-
-
- #include "CTCPApplication.h"
-
- #include "UTurboTCP.h"
-
-
- TCL_DEFINE_CLASS_M1(CTCPApplication, CApplication);
-
- // —— constructors ——
-
- /*______________________________________________________________________
- **
- ** constructors
- **
- ** Perform standard application initialization. Nothing too fancy here.
- **
- ** extraMasters (short): how many calls to MoreMasters (I recommend
- ** a higher than usual value here…)
- ** aRainyDayFund (Size): size of TCL’s “rainy day” fund
- ** aCriticalBalance (Size): same as for CApplication::IApplication
- ** aToolboxBalance (Size): same as for CApplication::IApplication
- **
- */
-
- CTCPApplication::CTCPApplication()
-
- { }
-
- CTCPApplication::CTCPApplication(short extraMasters, Size aRainyDayFund,
- Size aCriticalBalance, Size aToolboxBalance)
- : CApplication(extraMasters, aRainyDayFund, aCriticalBalance, aToolboxBalance)
-
- { }
-
- // old-style constructor retained for compatibility
-
- void CTCPApplication::ITCPApplication(short extraMasters, Size aRainyDayFund,
- Size aCriticalBalance, Size aToolboxBalance)
-
- {
- CApplication::IApplication(extraMasters, aRainyDayFund, aCriticalBalance,
- aToolboxBalance);
- }
-
-
- /*______________________________________________________________________
- **
- ** MakeHelpers
- **
- ** Overriden to add the TCP driver to the list of "helpers."
- **
- */
-
- void CTCPApplication::MakeHelpers()
-
- {
- // do standard TCL initialization
-
- CApplication::MakeHelpers();
-
-
- // set some default values
-
- cMaxSleepTime = 90; // don’t want to sleep for very long
- // ALSO, must set the “Background Null Events”
- // checkbox under Set Project Type…
- // (SIZE flags)
-
- maxTCPEvents = 0; // use TurboTCP’s default event count/tick count
- maxTCPTicks = 0; // as defined in UTurboTCP::ProcessNetEvents()
-
-
- // initialize TCP driver
-
- UTurboTCP::InitTCP();
-
- }
-
-
- // —— application shutdown ——
-
- /*______________________________________________________________________
- **
- ** Quit
- **
- ** Dispose of the TCP driver object.
- **
- ** return (Boolean): TRUE if quit was confirmed by each window
- */
-
- Boolean CTCPApplication::Quit()
-
- {
- Boolean reallyQuitting = CApplication::Quit();
- if (reallyQuitting)
- UTurboTCP::CloseTCP();
- return reallyQuitting;
- }
-
-
- // —— foreground/background event trapping ——
-
- /*______________________________________________________________________
- **
- ** Process1Event
- **
- ** Here we tap into the event loop to process TCP completions and notifications, now freed
- ** from interrupt-level constraints on memory management.
- **
- */
-
- void CTCPApplication::Process1Event()
-
- {
- UTurboTCP::ProcessNetEvents(maxTCPEvents, maxTCPTicks);
- CApplication::Process1Event();
- }
-