// CookieManager.h: Interface of CookieManager Class
#if !defined(AFX_COOKIEMANAGER_H__)
#define AFX_COOKIEMANAGER_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma warning (disable:4786)
#include <string>
#include <list>
#include <cassert>
#include "Cookie.h"
using std::string;
using std::list;
typedef list<Cookie> COOKIE_LIST;
class CookieManager
{
public:
CookieManager() {}
CookieManager(const string& strDomain)
{
m_strDomain = strDomain;
assert(m_strDomain.length());
}
virtual ~CookieManager()
{ clearAll(); }
void addCookie(const string& strCookie)
{ updateCookieList(strCookie); }
void deleteCookie(const string& strCookie);
void purgeCookies();
void clearAll()
{ m_listCookies.clear(); }
void clearSession();
void setDomain(const string& strDomain)
{ m_strDomain = strDomain; }
string getCookieString(const string& strPath, bool bSecure);
string getDomain()
{ return m_strDomain; }
long getCookieCount()
{ return m_listCookies.size(); }
protected:
COOKIE_LIST m_listCookies;
string m_strDomain;
private:
// Helper Methods
void updateCookieList(const Cookie& objCookie);
void addCookie(const Cookie& objCookie);
};
#endif // !defined(AFX_COOKIEMANAGER_H__)
End of Listing