#ifndef DBOX_TEXTPROFILE_H
#define DBOX_TEXTPROFILE_H
#include <string>
#include <iostream.h>
#include <libdbox.h>
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
syntax highlighted by Code2HTML, v. 0.9.1