#ifndef DBOX_TEXTPROFILE_H #define DBOX_TEXTPROFILE_H #include #include #include class textprofilet { public: virtual bool readfile(const char *filename); virtual bool writefile(const char *filename); virtual bool readline(std::istream &in); virtual bool writeline(std::ostream &out); virtual const char *get(const char *id) const; virtual char *get_ptr(const char *id); virtual void get(const char *id, char *dest) const; virtual void get(const char *id, std::string &dest) const; virtual void set(const char *id, const char *text); virtual void set(const char *id, const std::string &text); virtual void set(const char *id, unsigned long text); virtual void set(const char *id, signed long text); virtual void set(const char *id, int text); virtual void set(const char *id, bool text); const char *operator|(const char *id) const; virtual void clear(); virtual void initialize(); textprofilet(); textprofilet(const textprofilet &textprofile); // copy constructor virtual ~textprofilet(); unsigned size() { return data_elements; } struct datat { char id[TEXTLEN], data[TEXTLEN]; } *data; protected: unsigned data_space, data_elements; virtual const char *do_get(const char *id) const; virtual char *do_get_ptr(const char *id); virtual void do_set(const char *id, const char *text); }; #endif