/******************************************************************************/ /* File : HPschema.h */ /* Schema : bdeschema.sch */ /* GENCPP Version : Chgen V 12 - Sathya */ /******************************************************************************/ #ifndef __HPSCHEMA_H__ #define __HPSCHEMA_H__ #include "bdeschema.h" #ifdef USE_STL #include #endif /* USE_STL */ class HL ; #ifndef USE_STL class HP : public RC /* [b]endpoint = link segment origin with drawing style attributes */ { private : hcg_key HLid; /* unique parent link row id */ float HPx; /* x coordinate of bendpoint */ float HPy; /* y coordinate of bendpoint */ int is_visible; /* zero ==> outgoing segment is NOT visible*/ char hsegpattern[5]; /* arrow/width/dashed drawing patern */ public : HL *HLid_pp; void *HLid_fpp; void *HLid_bpp; HP *prev_ptr; HP *next_ptr; void set_HLid (hcg_key id); void set_HPx (float value); void set_HPy (float value); void set_is_visible (int value); void set_hsegpattern (char *value); hcg_key get_HLid (); float get_HPx (); float get_HPy (); int get_is_visible (); char* get_hsegpattern (); HP* 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 HP : public RC { private : hcg_key HLid; /* unique parent link row id */ float HPx; /* x coordinate of bendpoint */ float HPy; /* y coordinate of bendpoint */ int is_visible; /* zero ==> outgoing segment is NOT visible*/ char hsegpattern[5]; /* arrow/width/dashed drawing patern */ HL *HLid_pp; /* Parent */ public : void set_HLid (hcg_key id); void set_HPx (float value); void set_HPy (float value); void set_is_visible (int value); void set_hsegpattern (char *value); hcg_key get_HLid (); float get_HPx (); float get_HPy (); int get_is_visible (); char* get_hsegpattern (); void setParent_HLid(HL *currentRow); /* Initializes parent */ HL *getParent_HLid(); /* 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); HP(); /* Constructor */ ~HP(); /* 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 HPtable /* [b]endpoint = link segment origin with drawing style 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 */ HP *getPrevRow(HP *curr); /* Returns prev iterator */ HP *getNextRow(HP *curr); /* Returns next iterator */ HP *getLastRow(); /* Returns last iterator */ list::iterator Terminator(); /* Returns list terminator */ bool isFirstRow(HP * curr); /* True if curr is iterator to first row */ bool isLastRow(HP * curr); /* True if curr is iterator to last row */ void insertRow(HP *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); */ HPtable(char *abbrev, char *name); /* Constructor */ ~HPtable(); /* Destructor */ }; #endif /* USE_STL */ #endif /* __HPSCHEMA_H__ */