home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Enter 1999 April / enter_04_1999_1.iso / OS2 / OSMULTI / PROFILE.C < prev    next >
C/C++ Source or Header  |  1998-12-09  |  2KB  |  87 lines

  1. /*
  2.  * profile.c - load/save option settings
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8.  
  9. #define INCL_PM
  10. #include <os2.h>
  11.  
  12. #include "osmulti2.h"
  13.  
  14. /*
  15.  * Data to Load/Save Here
  16.  */
  17.  
  18. extern  int     posRatio ;      /* track.c      */
  19. extern  BOOL    useMsg   ;      /* balloon.c    */
  20. extern  BOOL    useSnd   ;      /* balloon.c    */
  21.  
  22. /*
  23.  * profileLoad - load option setting
  24.  */
  25.  
  26. BOOL    profileLoad(HAB hab)
  27. {
  28.     HINI    hini ;
  29.     BOOL    stat ;
  30.     LONG    len, val ;
  31.  
  32.     if ((hini = PrfOpenProfile(hab, ProfilePath)) == NULLHANDLE) {
  33.         TRACE("profileLoad - failed to open %s\n", ProfilePath) ;
  34.         return FALSE ;
  35.     }
  36.  
  37.     len = sizeof(LONG) ;
  38.     stat = PrfQueryProfileData(hini, ProgramName, "POS_RATIO", &val, &len) ;
  39.     if (stat == TRUE && len == sizeof(LONG)) {
  40.         posRatio = (int) val ;
  41.     }
  42.  
  43.     len = sizeof(LONG) ;
  44.     stat = PrfQueryProfileData(hini, ProgramName, "USE_MSG", &val, &len) ;
  45.     if (stat == TRUE && len == sizeof(LONG)) {
  46.         useMsg = (BOOL) val ;
  47.     }
  48.  
  49.     len = sizeof(LONG) ;
  50.     stat = PrfQueryProfileData(hini, ProgramName, "USE_SND", &val, &len) ;
  51.     if (stat == TRUE && len == sizeof(LONG)) {
  52.         useSnd = (BOOL) val ;
  53.     }
  54.  
  55.     PrfCloseProfile(hini) ;
  56.  
  57.     TRACE("profileLoad Pos %d, Msg %d, Snd %d\n", posRatio, useMsg, useSnd) ;
  58.     
  59.     return TRUE ;
  60. }
  61.  
  62. /*
  63.  * profileSave - save options setting
  64.  */
  65.  
  66. void    profileSave(HAB hab)
  67. {
  68.     HINI    hini ;
  69.     LONG    val  ;
  70.  
  71.     if ((hini = PrfOpenProfile(hab, ProfilePath)) == NULLHANDLE) {
  72.         TRACE("profileSave - failed to open %s\n", ProfilePath) ;
  73.         return ;
  74.     }
  75.  
  76.     TRACE("profileSave Pos %d, Msg %d, Snd %d\n", posRatio, useMsg, useSnd) ;
  77.  
  78.     val = (LONG) posRatio ;
  79.     PrfWriteProfileData(hini, ProgramName, "POS_RATIO", &val, sizeof(LONG)) ;
  80.     val = (LONG) useMsg ;
  81.     PrfWriteProfileData(hini, ProgramName, "USE_MSG", &val, sizeof(LONG)) ;
  82.     val = (LONG) useSnd ;
  83.     PrfWriteProfileData(hini, ProgramName, "USE_SND", &val, sizeof(LONG)) ;
  84.  
  85.     PrfCloseProfile(hini) ;
  86. }
  87.