1 #ifndef VMAILMGR__VPWENTRY__H__ 2 #define VMAILMGR__VPWENTRY__H__ 3 4 #include "mystring/mystring.h" 5 #include "misc/strlist.h" 6 7 struct vpwentry 8 { 9 protected: 10 const char* decode_flags(const char*, const char*); 11 const char* decode_base(const char*, const char*); 12 const char* decode_values(const char*, const char*); 13 14 bool from_ver1_record(const mystring& text); 15 bool from_ver2_record(const mystring& text); 16 bool from_old_record(const mystring& text); 17 18 void set_defaults(bool ctime_now, bool set_flags); 19 20 public: 21 mystring name; 22 mystring pass; 23 mystring directory; 24 mystring forwards; 25 mystring personal; 26 unsigned hardquota; 27 unsigned softquota; 28 unsigned msgsize; 29 unsigned msgcount; 30 unsigned ctime; 31 unsigned expiry; 32 bool has_mailbox; 33 bool is_mailbox_enabled; 34 // keystrlist data; 35 36 private: 37 vpwentry(); 38 39 public: 40 static vpwentry* new_from_record(const mystring& name, const mystring& text); 41 42 vpwentry(const mystring&, const mystring&, const mystring&, const mystring&, 43 bool); 44 ~vpwentry(); 45 46 //mystring get(const mystring& var) const { return data.get(var); } 47 //void set(const mystring& var, const mystring& val) 48 // { 49 // return data.set(var, val); 50 // } 51 52 bool authenticate(const mystring& phrase) const; 53 54 bool from_record(const mystring& name, const mystring& text); 55 mystring to_record() const; 56 57 bool export_env() const; 58 }; 59 60 #endif 61