/******************************************************************************/ /* File : HLschema.h */ /* Schema : bdeschema.sch */ /* GENCPP Version : Chgen V 12 - Sathya */ /******************************************************************************/ #ifndef __HLSCHEMA_H__ #define __HLSCHEMA_H__ #include "bdeschema.h" #ifdef USE_STL #include #endif /* USE_STL */ class HN ; class HN ; class HI ; class HP ; #ifndef USE_STL class HL : public RC /* HL - link information for Data Flow Diagram nodes */ { private : hcg_key HNid1; /* source node ID */ hcg_key HNid2; /* destination node ID */ int HPcount; /* bend point count (>=2) for link */ int allvisible; /* all link segments visible */ public : HN *HNid1_pp; void *HNid1_fpp; void *HNid1_bpp; HN *HNid2_pp; void *HNid2_fpp; void *HNid2_bpp; HI *HIid_fcp; HI *HIid_bcp; HP *HPid_fcp; HP *HPid_bcp; HL *prev_ptr; HL *next_ptr; void set_HNid1 (hcg_key id); void set_HNid2 (hcg_key id); void set_HPcount (int value); void set_allvisible (int value); hcg_key get_HNid1 (); hcg_key get_HNid2 (); int get_HPcount (); int get_allvisible (); HL* 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 HL : public RC { private : hcg_key HNid1; /* source node ID */ hcg_key HNid2; /* destination node ID */ int HPcount; /* bend point count (>=2) for link */ int allvisible; /* all link segments visible */ HN *HNid1_pp; /* Parent */ HN *HNid2_pp; /* Parent */ list HIid_children; /* Child list */ list HPid_children; /* Child list */ public : void set_HNid1 (hcg_key id); void set_HNid2 (hcg_key id); void set_HPcount (int value); void set_allvisible (int value); hcg_key get_HNid1 (); hcg_key get_HNid2 (); int get_HPcount (); int get_allvisible (); void insertChild_HIid(HI *childRow); /* Adds a child to list */ void removeChild_HIid(list::iterator rowIter); /* Remove child */ list::iterator getFirstChild_HIid(); /* Returns 1st child */ list::iterator getLastChild_HIid(); /* Returns last child */ list::iterator HIid_Terminator(); /* Returns terminator */ void insertChild_HPid(HP *childRow); /* Adds a child to list */ void removeChild_HPid(list::iterator rowIter); /* Remove child */ list::iterator getFirstChild_HPid(); /* Returns 1st child */ list::iterator getLastChild_HPid(); /* Returns last child */ list::iterator HPid_Terminator(); /* Returns terminator */ void setParent_HNid1(HN *currentRow); /* Initializes parent */ HN *getParent_HNid1(); /* Returns parent */ void setParent_HNid2(HN *currentRow); /* Initializes parent */ HN *getParent_HNid2(); /* 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); HL(); /* Constructor */ ~HL(); /* 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 HLtable /* HL - link information for Data Flow Diagram nodes */ { 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 */ HL *getPrevRow(HL *curr); /* Returns prev iterator */ HL *getNextRow(HL *curr); /* Returns next iterator */ HL *getLastRow(); /* Returns last iterator */ list::iterator Terminator(); /* Returns list terminator */ bool isFirstRow(HL * curr); /* True if curr is iterator to first row */ bool isLastRow(HL * curr); /* True if curr is iterator to last row */ void insertRow(HL *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); */ HLtable(char *abbrev, char *name); /* Constructor */ ~HLtable(); /* Destructor */ }; #endif /* USE_STL */ #endif /* __HLSCHEMA_H__ */