/******************************************************************************/ /* File : TTschema.h */ /* Schema : bdeschema.sch */ /* GENCPP Version : Chgen V 12 - Sathya */ /******************************************************************************/ #ifndef __TTSCHEMA_H__ #define __TTSCHEMA_H__ #include "bdeschema.h" #ifdef USE_STL #include #endif /* USE_STL */ class SV ; class TS ; class TA ; #ifndef USE_STL class TT : public RC /* tt_type - table description and child-set of attributes*/ { private : hcg_key SVid; /* SVid is foreign key */ char ttabb[6]; /* 2 or 4 UCLetters */ char ttname[31]; /* table name */ char descr[81]; /* descriptive comment (table purpose) */ public : SV *SVid_pp; void *SVid_fpp; void *SVid_bpp; TS *TSid_fcp; TS *TSid_bcp; TA *TAid_fcp; TA *TAid_bcp; TT *prev_ptr; TT *next_ptr; void set_SVid (hcg_key id); void set_ttabb (char *value); void set_ttname (char *value); void set_descr (char *value); hcg_key get_SVid (); char* get_ttabb (); char* get_ttname (); char* get_descr (); TT* create_row(); void link_row () ; void parse_row (char *buffer, int idx, hcg_key hcg_k) ; void add_row (char *viewname) ; void delete_row () ; void dump_table (char *viewname, char *file_name, int new_version, char *modestr) ; void dump_row (char *viewname, char *file_name, int new_version, char *modestr) ; void add_row_log(char *); void log_do_add_row (char *, char *, int); void log_do_set_int_row (const char *, const int ); void log_do_set_flt_row (const char *, const int ); void log_do_set_key_row (const char *, hcg_key ); void log_do_set_str_row (const char *, const char * ); } ; #else class TT : public RC { private : hcg_key SVid; /* SVid is foreign key */ char ttabb[6]; /* 2 or 4 UCLetters */ char ttname[31]; /* table name */ char descr[81]; /* descriptive comment (table purpose) */ SV *SVid_pp; /* Parent */ list TSid_children; /* Child list */ list TAid_children; /* Child list */ public : void set_SVid (hcg_key id); void set_ttabb (char *value); void set_ttname (char *value); void set_descr (char *value); hcg_key get_SVid (); char* get_ttabb (); char* get_ttname (); char* get_descr (); void insertChild_TSid(TS *childRow); /* Adds a child to list */ void removeChild_TSid(list::iterator rowIter); /* Remove child */ list::iterator getFirstChild_TSid(); /* Returns 1st child */ list::iterator getLastChild_TSid(); /* Returns last child */ list::iterator TSid_Terminator(); /* Returns terminator */ void insertChild_TAid(TA *childRow); /* Adds a child to list */ void removeChild_TAid(list::iterator rowIter); /* Remove child */ list::iterator getFirstChild_TAid(); /* Returns 1st child */ list::iterator getLastChild_TAid(); /* Returns last child */ list::iterator TAid_Terminator(); /* Returns terminator */ void setParent_SVid(SV *currentRow); /* Initializes parent */ SV *getParent_SVid(); /* Returns parent */ void link_row () ; void parse_row (char *buffer, int idx, hcg_key hcg_k); void add_row (char *viewname); list::iterator delete_row (list::iterator rowIter); /* Deletes the row */ /* Prints a row to a file */ void dump_row (char *viewname, char *file_name, int new_version, char *modestr); /* Prints a row to terminal */ void dump_row (char *viewname, int new_version, char *modestr); TT(); /* Constructor */ ~TT(); /* Destructor */ void add_row_log(char *); void log_do_add_row (char *, char *, int); void log_do_set_int_row (const char *, const int ); void log_do_set_flt_row (const char *, const int ); void log_do_set_key_row (const char *, hcg_key ); void log_do_set_str_row (const char *, const char * ); } ; class TTtable /* tt_type - table description and child-set of attributes*/ { private : char abbrev[5]; /* 2-char abbreviation */ char *name; /* Table name */ list row; /* List of rows */ public : char *getAbbrev(); /* Returns table abbreviation */ char *getName(); /* Returns table name */ unsigned int getRowCount(); /* Returns number of rows in table */ list::iterator getFirstRow(); /* Returns iterator to first row */ TT *getPrevRow(TT *curr); /* Returns prev iterator */ TT *getNextRow(TT *curr); /* Returns next iterator */ TT *getLastRow(); /* Returns last iterator */ list::iterator Terminator(); /* Returns list terminator */ bool isFirstRow(TT * curr); /* True if curr is iterator to first row */ bool isLastRow(TT * curr); /* True if curr is iterator to last row */ void insertRow(TT *newRow); /* Inserts a row at end of table */ list::iterator removeRow(list::iterator i); /* Removes row from table */ /* Prints out entire table to file */ void dump_table(char *viewname, char *file_name, int new_version, char *modestr); /* Prints out entire table to terminal */ /* void dump_table(char *viewname, int new_version, char *modestr); */ TTtable(char *abbrev, char *name); /* Constructor */ ~TTtable(); /* Destructor */ }; #endif /* USE_STL */ #endif /* __TTSCHEMA_H__ */