#ifndef __ZIMTEVENTS_H__ #define __ZIMTEVENTS_H__ #include "zimtcontact.h" class zimtevent { public: enum zimteventtype { message, url, sms, authorization, online, email, notification, zimteventtype_size }; enum zimtdirection { incoming, outgoing, zimtdirection_size }; protected: zimtcontact contact; zimteventtype type; zimtdirection direction; time_t timestamp; string readblock(ifstream &f); public: zimtevent(); zimtevent(const zimtcontact &acont, zimtdirection adir, zimteventtype atype); zimtevent(ifstream &f); virtual ~zimtevent(); zimteventtype gettype() const; zimtdirection getdirection() const; zimtcontact getcontact() const; time_t gettimestamp() const; void settimestamp(time_t atimestamp); void setcontact(const zimtcontact &acontact); zimtevent *getevent() const; virtual string gettext() const; virtual bool empty() const; virtual bool contains(const string &atext) const; virtual void write(ofstream &f) const; virtual void read(ifstream &f); }; class zimtmessage: public zimtevent { protected: string text; public: zimtmessage(const zimtevent &ev); zimtmessage(const zimtcontact &acont, zimtdirection adirection, const string &atext); string gettext() const; bool empty() const; bool contains(const string &atext) const; void write(ofstream &f) const; void read(ifstream &f); }; /* class zimturl: public zimtevent { protected: string url, description; public: zimturl(const zimtevent &ev); zimturl(const zimtcontact &acont, zimtdirection adirection, const string &aurl, const string &adescription); string geturl() const; string getdescription() const; bool empty() const; bool contains(const string &atext) const; void write(ofstream &f) const; void read(ifstream &f); }; */ class zimtrawevent: public zimtevent { public: zimtrawevent(zimteventtype atype, const zimtcontact &acont, zimtdirection adirection); }; #endif //__ZIMTEVENTS_H__