home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / xcpp1.exe / SRC / STATS.H < prev    next >
C/C++ Source or Header  |  1995-10-12  |  3KB  |  109 lines

  1. /**************************************************************************
  2. ** File: stats.h
  3. **
  4. ** Desc: Prototypes and definitions for StatsThread class.
  5. **
  6. **       This file contains the class prototype and definitions to use
  7. **       the StatsThread class.
  8. **
  9. **
  10. **   DISCLAIMER  
  11. **  
  12. **   Novell, Inc. makes no representations or warranties with respect to
  13. **   any NetWare software, and specifically disclaims any express or
  14. **   implied warranties of merchantability, title, or fitness for a
  15. **   particular purpose.  
  16. **
  17. **   Distribution of any NetWare software is forbidden without the
  18. **   express written consent of Novell, Inc.  Further, Novell reserves
  19. **   the right to discontinue distribution of any NetWare software.
  20. **   
  21. **   Novell is not responsible for lost profits or revenue, loss of use
  22. **   of the software, loss of data, costs of re-creating lost data, the
  23. **   cost of any substitute equipment or program, or claims by any party
  24. **   other than you.  Novell strongly recommends a backup be made before
  25. **   any software is installed.   Technical support for this software
  26. **   may be provided at the discretion of Novell.
  27. **
  28. **
  29. ** Programmers:
  30. **
  31. **    Ini   Who                  Firm
  32. **    ---------------------------------------------------------------------
  33. **    DWH   Dirk W. Howard       Novell Developer Support
  34. **
  35. **
  36. ** History:
  37. **
  38. **    When        Who      What
  39. **    ---------------------------------------------------------------------
  40. **    9-15-1995    DWH      First code.
  41. **
  42. */
  43.  
  44.  
  45. /**************************************************************************
  46. ** Prototypes and definitions
  47. */
  48.  
  49. #include <nwtypes.h>
  50. #include <nwsemaph.h>
  51.  
  52.    /*------------------------------------------------
  53.    ** Macro definitions
  54.    */
  55.    #define TITLE_SIZE            20
  56.    #define BAR_MARGIN            22
  57.    #define MAX_BAR_SIZE          (78 - BAR_MARGIN)
  58.    #define PERCENT_THREAD        1
  59.    #define STATIC_VALUE_THREAD   2
  60.    #define DYNAMIC_VALUE_THREAD  4
  61.  
  62.    /*------------------------------------------------
  63.    ** Class definitions
  64.    */
  65.    class StatsThread
  66.    {
  67.    protected:
  68.       int      myLine;
  69.       char     myTitle[TITLE_SIZE];
  70.       int      myThreadID;
  71.       char     shutdown;
  72.       char     threadType;
  73.       unsigned myInterval;
  74.       long     myLowWater;
  75.       long     myHighWater;
  76.       long  (* myPercentFunc)(void);
  77.       long  (* myValueFunc)(void);
  78.       long  (* myLowWaterFunc)(void);
  79.       long  (* myHighWaterFunc)(void);
  80.  
  81.       static void SubThread( void *arg );
  82.       void  DrawPercentStatsBar( long currentPercent );
  83.       void  DrawValueStatsBar( long currentValue, long lowWater, 
  84.                                long highWater );
  85.       StatsThread(){};
  86.  
  87.    public:
  88.       StatsThread( 
  89.          int line,
  90.          char *title, 
  91.          unsigned interval, 
  92.          long (* percentFunc)(void) );
  93.       StatsThread( 
  94.          int line, 
  95.          char *title, 
  96.          unsigned interval, 
  97.          long (* valFunc)(void), 
  98.          long lowWater, 
  99.          long highWater );
  100.       StatsThread( 
  101.          int line, 
  102.          char *title, 
  103.          unsigned interval, 
  104.          long (* valFunc)(void), 
  105.          long (* lowWaterFunc)(void), 
  106.          long (* highWaterFunc)(void) );
  107.       ~StatsThread();
  108.    };
  109.