/* */ #ifndef _D_COOKIE_BOX_H_ #define _D_COOKIE_BOX_H_ #include "common.h" #include #include using namespace std; class Cookie { public: string name; string value; string expires; string path; string domain; bool secure; public: Cookie(const string& name, const string& value, const string& expires, const string& path, const string& domain, bool secure):name(name), value(value), expires(expires), path(path), domain(domain), secure(secure) {} Cookie():secure(false) {} ~Cookie() {} string toString() const { return name+"="+value; } void clear() { name = value = expires = path = domain = ""; secure = false; } }; typedef deque Cookies; class CookieBox { private: Cookies cookies; void setField(Cookie& cookie, const string& name, const string& value) const; public: CookieBox(); ~CookieBox(); void clear(); void add(const Cookie& cookie); void add(const string& cookieStr); void parse(Cookie& cookie, const string& cookieStr) const; Cookies criteriaFind(const string& host, const string& dir, bool secure) const; }; #endif // _D_COOKIE_BOX_H_