home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / MMSRC029.ZIP / mmail-0.29 / mmail / resource.h < prev   
Encoding:
C/C++ Source or Header  |  1999-08-22  |  1.9 KB  |  77 lines

  1. /*
  2.  * MultiMail offline mail reader
  3.  * resource class
  4.  
  5.  Copyright (c) 1996 Toth Istvan <stoty@vma.bme.hu>
  6.  Copyright (c) 1999 William McBrine <wmcbrine@clark.net>
  7.  
  8.  Distributed under the GNU General Public License.
  9.  For details, see the file COPYING in the parent directory. */
  10.  
  11. #ifndef RESOURCE_H
  12. #define RESOURCE_H
  13.  
  14. #include <cstdio>
  15.  
  16. enum {
  17.     homeDir, mmHomeDir, PacketDir, WorkDir, UncompressCommand,
  18.     PacketName, UserName, BBSName, SysOpName, ReplyDir, LoginName,
  19.     AliasName, CompressCommand, UpWorkDir, editor, SaveDir,
  20.     AddressFile, TaglineFile, arjUncompressCommand,
  21.     zipUncompressCommand, lhaUncompressCommand, rarUncompressCommand,
  22.     unknownUncompressCommand, arjCompressCommand, zipCompressCommand,
  23.     lhaCompressCommand, rarCompressCommand, unknownCompressCommand,
  24.     sigFile, ColorFile, oldPacketName, noOfStrings
  25. };
  26.  
  27. enum {
  28.     PacketSort = noOfStrings, LetterSort, Charset, UseTaglines,
  29.     AutoSaveReplies, AutoSaveRead, StripSoftCR, BeepOnPers,
  30.     UseLynxNav, UseScrollBars, MaxLines, noOfResources
  31. };
  32.  
  33. class baseconfig
  34. {
  35.  protected:
  36.     const char **names, **comments, **intro;
  37.     int configItemNum;
  38.  
  39.     bool parseConfig(const char *);
  40.     void newConfig(const char *);
  41.     virtual void processOne(int, const char *) = 0;
  42.     virtual const char *configLineOut(int) = 0;
  43.  public:
  44.     virtual ~baseconfig();
  45. };
  46.  
  47. class resource : public baseconfig
  48. {
  49.     static const char *rc_names[], *rc_intro[], *rc_comments[];
  50.     static const int startUp[], defInt[];
  51.  
  52.     char basedir[256];
  53.  
  54.     char *resourceData[noOfStrings];
  55.     int resourceInt[noOfResources - noOfStrings];
  56.  
  57.     void homeInit();
  58.     void mmEachInit(int, const char *);
  59.     void subPath(int, const char *);
  60.     void initinit();
  61.     void mmHomeInit();
  62.     void processOne(int, const char *);
  63.     const char *configLineOut(int);
  64.     const char *fixPath(const char *);
  65.     bool checkPath(const char *, bool);
  66.     bool verifyPaths();
  67.  public:
  68.     resource();
  69.     ~resource();
  70.     const char *get(int) const;
  71.     int getInt(int) const;
  72.     void set(int, const char *);
  73.     void set(int, int);
  74. };
  75.       
  76. #endif
  77.