home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / memsz331.zip / Source.zip / PROFILE.H < prev    next >
Text File  |  1996-10-30  |  4KB  |  156 lines

  1. /****************************************************************** PROFILE.H
  2.  *                                                                          *
  3.  *                      Profile Object definitions                          *
  4.  *                                                                          *
  5.  ****************************************************************************/
  6.  
  7. #ifndef PROFILE_H
  8. #define PROFILE_H
  9.  
  10. #include "Items.h"
  11. #include "ReString.h"
  12.  
  13. class Profile {
  14.  
  15.    private:
  16.       HINI   Handle ;               // INI file handle.
  17.       PSZ    Name ;                 // Application Name.
  18.  
  19.    public:
  20.       Profile ( PSZ Name, HAB Anchor, HMODULE Library,
  21.          int DialogID, HWND HelpWindow, BOOL ResetFlag ) ;
  22.  
  23.       ~Profile ( ) ;
  24.  
  25.       HINI QueryHandle ( ) { return ( Handle ) ; }
  26.  
  27.       PSZ QueryName ( ) { return ( Name ) ; }
  28.  
  29.       VOID Reset ( ) {
  30.          PrfWriteProfileData ( Handle, Name, 0, 0, 0 ) ;
  31.       }
  32. } ;
  33.  
  34. #define MAX_DRIVES        (26)
  35.  
  36. enum {
  37.    ITEM_CLOCK,
  38.    ITEM_ELAPSEDTIME,
  39.    ITEM_MEMORYFREE,
  40.    ITEM_VIRTUALFREE,
  41.    ITEM_SWAPFILESIZE,
  42.    ITEM_SWAPDISKFREE,
  43.    ITEM_SWAPFILESLACK,
  44.    ITEM_SPOOLFILESIZE,
  45.    ITEM_CPULOAD,
  46.    ITEM_BATTERY,
  47.    ITEM_TASKCOUNT,
  48.    ITEM_PROCESSCOUNT,
  49.    ITEM_THREADCOUNT,
  50.    ITEM_TOTALFREE,
  51.    ITEM_BASE_COUNT
  52. } ;
  53.  
  54. typedef struct {      // Parameters saved to system.
  55.  
  56.    // The Display Item List - - -
  57.    USHORT ItemCount ;
  58.    Item *Items [ ITEM_BASE_COUNT + MAX_DRIVES ] ;
  59.  
  60.    // Data required for the display item objects to function.
  61.    ULONG           MemoryFree ;
  62.    time_t          MemoryTime ;
  63.    ULONG           IdleCount ;
  64.    ULONG           MaxCount ;
  65.    BYTE            SwapPath [_MAX_PATH] ;
  66.    ULONG           MinFree ;
  67.    ULONG           InitialSwap ;
  68.    PBYTE           SpoolPath ;
  69.    int             idCountry ;
  70.    COUNTRYINFO     CountryInfo ;
  71.    char            szAm [8] ;
  72.    char            szPm [8] ;
  73.    ResourceString *Day ;
  74.    ResourceString *Days ;
  75.    ResourceString *DaysOfWeek ;
  76.    ResourceString *DriveError ;
  77.    ResourceString *BatteryError ;
  78.    ResourceString *BatteryAC ;
  79.    ResourceString *BatteryCharging ;
  80.  
  81.    // Window size and location
  82.    SWP    Position ;
  83.    BOOL   fPosition ;
  84.  
  85.    // User Options
  86.    BOOL   HideControls ;
  87.    BOOL   fHideControls ;
  88.  
  89.    BOOL   Float ;
  90.    BOOL   fFloat ;
  91.  
  92.    BOOL   Animate ;
  93.    BOOL   fAnimate ;
  94.  
  95.    BOOL   TableFormat ;
  96.    BOOL   fTableFormat ;
  97.  
  98.    BOOL   Chime ;
  99.    BOOL   fChime ;
  100.  
  101.    BOOL   ShowRemoteDrives ;
  102.    BOOL   fShowRemoteDrives ;
  103.  
  104.    BOOL   ShowFileSystemNames ;
  105.    BOOL   fShowFileSystemNames ;
  106.  
  107.    BOOL   ShowDiskLabels ;
  108.    BOOL   fShowDiskLabels ;
  109.  
  110.    BOOL   ShowSeconds ;
  111.    BOOL   fShowSeconds ;
  112.  
  113.    BOOL   Hour24 ;
  114.    BOOL   fHour24 ;
  115.  
  116.    USHORT ShowK ;
  117.    BOOL   fShowK ;
  118.  
  119.    USHORT ShowTrueK ;
  120.    BOOL   fShowTrueK ;
  121.  
  122.    USHORT ShowM ;
  123.    BOOL   fShowM ;
  124.  
  125.    BYTE   MonitorPriority ;
  126.    BOOL   fMonitorPriority ;
  127.  
  128.    USHORT TimerInterval ;
  129.    BOOL   fTimerInterval ;
  130.  
  131.    USHORT AnchorCorner ;
  132.    BOOL   fAnchorCorner ;
  133.  
  134.    // Presentation Parameters
  135.    BYTE   FontNameSize [80] ;
  136.    BOOL   fFontNameSize ;
  137.  
  138.    COLOR  BackColor ;
  139.    BOOL   fBackColor ;
  140.  
  141.    COLOR  TextColor ;
  142.    BOOL   fTextColor ;
  143.  
  144.    COLOR  WarningBackground, WarningForeground ;
  145.    BOOL   fWarningBackground, fWarningForeground ;
  146.  
  147.    COLOR  ErrorBackground, ErrorForeground ;
  148.    BOOL   fErrorBackground, fErrorForeground ;
  149.  
  150. } INIDATA, *PINIDATA ;
  151.  
  152. extern int GetIniData ( HINI IniHandle, PINIDATA IniData ) ;
  153. extern void PutIniData ( HINI IniHandle, PINIDATA IniData ) ;
  154.  
  155. #endif
  156.