home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / db3.4 / dbparser.h < prev    next >
C/C++ Source or Header  |  1997-02-01  |  2KB  |  83 lines

  1.  
  2. #include "db.h"
  3. #include <intuition/intuition.h>
  4.  
  5.  
  6. enum RFFTAG { UNKNOWN, RFF, TYPE, FLEN, LNAM, NAME,
  7.  SIZE, OFFS, NEXT, TABSIZE, RXFILE, RXSTRING, AUTORXFILE, AUTORXSTRING,
  8.  NEWRECORDRXFILE, NEWRECORDRXSTRING, FTYP, CENT, SFMT, RXPORTNAME, PLACE, ROWS, XPOS, YPOS };
  9.  
  10. typedef enum { N_A, PRO_GLOBAL, PRO_LOCAL, VIEW_GLOBAL, VIEW_LOCAL } Where;
  11.  
  12. /* RFF tag names */
  13.  
  14. #define STR_RFF            "@RFF"
  15. #define STR_TYPE            "TYPE"
  16. #define STR_FLEN            "FLEN"
  17. #define STR_LNAM            "LNAM"
  18. #define STR_NAME            "NAME"
  19. #define STR_SIZE            "SIZE"
  20. #define STR_OFFS            "OFFS"
  21. #define STR_NEXT            "NEXT"
  22. #define STR_TABSIZE        "TABSIZE"
  23. #define STR_RXFILE        "RXFILE"
  24. #define STR_RXSTRING        "RXSTRING"
  25. #define STR_AUTORXFILE    "AUTORXFILE"
  26. #define STR_AUTORXSTRING "AUTORXSTRING"
  27. #define STR_FTYP            "FTYP"
  28. #define STR_CENT            "CENT"
  29. #define STR_SFMT            "SFMT"
  30. #define STR_PLACE            "PLACE"
  31. #define STR_ROWS            "ROWS"
  32. #define STR_XPOS            "XPOS"
  33. #define STR_YPOS            "YPOS"
  34.  
  35.  
  36. /* RFF tag values */
  37. #define STR_INTERNAL "internal"
  38. #define STR_FORM "form"
  39. #define STR_RXMENU "rxmenu"
  40. #define STR_SPACE "space"
  41. #define STR_TAB "tab"
  42. #define STR_PARA "para"
  43. #define STR_CHECKBOX "checkbox"
  44. #define STR_CYCLE "cycle"
  45. #define STR_TEXTFIELD "textfield"
  46.  
  47.  
  48. struct RFFTag {
  49.     struct MinNode mln;
  50.     short int ID;
  51.     char *Name;
  52.     char *Data;
  53. };
  54.  
  55. struct RFFLine {        /* Holds unknown RFF lines */
  56.     struct MinNode mln;
  57.     char *Line;
  58. };
  59.  
  60.  
  61. /* Functions you may call */
  62.  
  63. extern int RFFParse(struct Pro *, BPTR);
  64. extern BOOL RFFOut(struct Pro *, BPTR);
  65.  
  66. struct RFFTag *NewTag(const char *name, int nlen, const char *data, int dlen);
  67. struct RFFTag *FindTag(struct MinList *list, short int id);
  68. struct RFFTag *CreateAndAddTag(struct MinList *list, short int id, char *newdata);
  69. void DeleteTag(struct RFFTag *ot);
  70. struct RFFTag *SearchTags(struct Pro *Pr, struct VisFldInfo *vf, Where *where, short tag1ID, short tag2ID);
  71. struct RFFTag *SearchTag(struct Pro *Pr, struct VisFldInfo *vf, Where *where, short tagID);
  72.  
  73. struct VisFldInfo *GetVisFldInfo(struct Layout *Lay, struct Gadget *g);
  74. struct VisFldInfo *NewVisFldInfo(void);
  75. struct VisFldInfo *CopyVisFldInfo(struct VisFldInfo *vf);
  76. void DeleteVisFldInfo(struct VisFldInfo *vf);
  77.  
  78. int ReadVisTags(struct Pro *Pr, struct VisFldInfo *vf);
  79. void WriteVisTags(struct VisFldInfo *vf);
  80.  
  81. struct FldInfo *GetFldInfo(struct Pro *, short);
  82. void DeleteRFFLine(struct RFFLine *ol);
  83.