WebClientSocket.h

00001 #pragma once
00002 
00003 class CWebServer;
00004 
00005 class CWebClientSocket : public CAsyncSocket
00006 {
00007         CWebServer* m_pWebServer;
00008         CMainFrame* m_pMainFrame;
00009 
00010         CString m_hdr;
00011 
00012         struct cookie_attribs {CString path, expire, domain;};
00013         CAtlMap<CString, cookie_attribs, CStringElementTraits<CString> > m_cookieattribs;
00014 
00015         void Clear();
00016         void Header();
00017 
00018 protected:
00019         void OnReceive(int nErrorCode);
00020         void OnClose(int nErrorCode);
00021 
00022 public:
00023         CWebClientSocket(CWebServer* pWebServer, CMainFrame* pMainFrame);
00024         virtual ~CWebClientSocket();
00025 
00026         bool SetCookie(CString name, CString value = _T(""), __time64_t expire = -1, CString path = _T("/"), CString domain = _T(""));
00027 
00028         typedef CAtlMap<CString, CString, CStringElementTraits<CString>, CStringElementTraits<CString> > CAtlStringMap;
00029 
00030         CString m_sessid;
00031         CString m_cmd, m_path, m_query, m_ver;
00032         CStringA m_data;
00033         CAtlStringMap m_hdrlines;
00034         CAtlStringMap m_get, m_post, m_cookie;
00035         CAtlStringMap m_request;
00036 
00037         bool OnCommand(CStringA& hdr, CStringA& body, CStringA& mime);
00038         bool OnIndex(CStringA& hdr, CStringA& body, CStringA& mime);
00039         bool OnBrowser(CStringA& hdr, CStringA& body, CStringA& mime);
00040         bool OnControls(CStringA& hdr, CStringA& body, CStringA& mime);
00041         bool OnStatus(CStringA& hdr, CStringA& body, CStringA& mime);
00042     bool OnError404(CStringA& hdr, CStringA& body, CStringA& mime);
00043     bool OnPlayer(CStringA& hdr, CStringA& body, CStringA& mime);
00044     bool OnSnapShotJpeg(CStringA& hdr, CStringA& body, CStringA& mime);
00045     bool OnConvRes(CStringA& hdr, CStringA& body, CStringA& mime);
00046 };

Generated on Tue Dec 13 14:47:05 2005 for guliverkli by  doxygen 1.4.5