[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-filesystem-dev
Subject: [Filesystem-dev] CR: RESEND: FW: (HEAD Changes) Porting of HTTP 1.1
From: <Praveen.Thimmashetty () nokia ! com>
Date: 2008-02-05 16:20:05
Message-ID: 2A15C07EF7DF6243A092FB438FD4B366C2D37C () daebe103 ! NOE ! Nokia ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
> ______________________________________________
> From: Thimmashetty Praveen (Nokia-D-MSW/Dallas)
> Sent: Sunday, February 03, 2008 5:57 PM
> To: 'filesystem-dev@helixcommunity.org';
> common-dev@helixcommunity.org
> Subject: CR: (HEAD Changes) Porting of HTTP 1.1 from head to
> Symbian (hxclient_2_1_0_cayennes)
>
>
> "Nokia submits this code under the terms of a commercial contribution
> agreement with RealNetworks, and I am authorized to contribute this
> code under said agreement."
>
> Modified by: Praveen.Thimmashetty@nokia.com
>
> Reviewed by:
>
> Date: 03-February-2008
>
> Project: SymbianMmf
>
> ErrorId: SUB 409-795
>
> Synopsis: CR: Porting of HTTP 1.1 from head to Symbian
> (hxclient_2_1_0_cayennes)
> This CR has changes that needs to go to head. I
> will do the separate CR for hxclient_2_1_0_cayennes changes. Symbian
> will not be using data file system/cache file system. It will just
> make use of Cchunkres to process data from network.
>
> Root Cause of the problem: New Feature
>
> Files Modified:
>
>
> filesystem\http\Umakefil
> filesystem\http\factory.cpp
> filesystem\http\factory.h
> filesystem\http\httpfsys.cpp
> filesystem\http\httpfsys.h
> filesystem\http\pub\http_debug.h
>
> New files added:
> filesystem\http\symbian.pcf
>
>
> Image Size and Heap Use impact: no major impact (added httpfsys.dll
> (112k))
>
> Module Release testing (STIF) : Passed.
>
> Test case(s) Added : No.
>
> Memory leak check performed : Yes. No new leaks introduced.
>
> Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm
>
> Platforms and Profiles Functionality verified: armv5,winscw
>
> Branch: Head
> <<symbian.pcf>> <<diff.txt>> <<http.zip>>
[Attachment #5 (text/html)]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.3">
<TITLE>CR: RESEND: FW: (HEAD Changes) Porting of HTTP 1.1 from head to Symbian \
(hxclient_2_1_0_cayennes) </TITLE> </HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>
<P><FONT SIZE=1 FACE="Tahoma">______________________________________________ </FONT>
<BR><B><FONT SIZE=1 FACE="Tahoma">From: </FONT></B> <FONT SIZE=1 \
FACE="Tahoma">Thimmashetty Praveen (Nokia-D-MSW/Dallas) </FONT>
<BR><B><FONT SIZE=1 FACE="Tahoma">Sent: </FONT></B> <FONT SIZE=1 \
FACE="Tahoma">Sunday, February 03, 2008 5:57 PM</FONT>
<BR><B><FONT SIZE=1 FACE="Tahoma">To: </FONT></B> <FONT SIZE=1 \
FACE="Tahoma">'filesystem-dev@helixcommunity.org'; \
common-dev@helixcommunity.org</FONT>
<BR><B><FONT SIZE=1 FACE="Tahoma">Subject: </FONT></B> \
<FONT SIZE=1 FACE="Tahoma">CR: (HEAD Changes) Porting of HTTP 1.1 from head to \
Symbian (hxclient_2_1_0_cayennes) </FONT> </P>
<BR>
<P><FONT SIZE=2 FACE="Arial">"Nokia submits this code under the terms of a \
commercial contribution agreement with RealNetworks, and I am authorized to \
contribute this code under said agreement."</FONT></P> <UL>
<P><FONT SIZE=2 FACE="Arial">Modified by: Praveen.Thimmashetty@nokia.com</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Reviewed by: </FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Date: 03-February-2008</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Project: SymbianMmf</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial"> \
ErrorId</FONT><B></B><B><FONT FACE="Arial">:</FONT></B> <FONT SIZE=2 FACE="Arial">SUB \
409-795</FONT> <UL>
<P><FONT FACE="Helv"> </FONT> \
<BR><FONT SIZE=2 FACE="Arial">Synopsis: CR: Porting of HTTP 1.1 from head to \
Symbian (hxclient_2_1_0_cayennes)</FONT>
<BR> \
\
<FONT SIZE=2 FACE="Arial">This CR has changes that needs to go to head. I will do the \
separate CR for hxclient_2_1_0_cayennes changes. Symbian will not be using data file \
system/cache file system. It will just make use of Cchunkres to process data from \
network. </FONT></P>
<P> \
<BR><FONT SIZE=2 FACE="Nokia Sans Wide">Root Cause of the problem:</FONT> <FONT \
SIZE=2 FACE="Arial">New Feature</FONT>
<BR><FONT SIZE=2 FACE="Arial"></FONT>
<BR><FONT SIZE=2 FACE="Arial">Files Modified:</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Arial">filesystem\http\Umakefil</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\factory.cpp</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\factory.h</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\httpfsys.cpp</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\httpfsys.h</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\pub\http_debug.h</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">New files added:</FONT>
<BR><FONT SIZE=2 FACE="Arial">filesystem\http\symbian.pcf</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Arial">Image Size and Heap Use impact: no major impact (added \
httpfsys.dll (112k))</FONT> </P>
<P><FONT SIZE=2 FACE="Arial">Module Release testing (STIF) : Passed.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Test case(s) Added : No. </FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Memory leak check performed : Yes. No new leaks \
introduced. </FONT> </P>
<P><FONT SIZE=2 FACE="Arial">Platforms and Profiles Build Verified: \
helix-client-s60-32-mmf-mdf-arm</FONT> </P>
<P><FONT SIZE=2 FACE="Arial">Platforms and Profiles Functionality verified: \
armv5,winscw</FONT> </P>
</UL>
<P><FONT SIZE=2 FACE="Arial"> Branch: Head </FONT>
<BR><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<symbian.pcf>> \
</FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<diff.txt>> \
</FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<http.zip>> </FONT> \
</P>
</BODY>
</HTML>
["symbian.pcf" (application/octet-stream)]
["diff.txt" (text/plain)]
Index: Umakefil
===================================================================
RCS file: /cvsroot/filesystem/http/Umakefil,v
retrieving revision 1.10
diff -w -u -b -r1.10 Umakefil
@@ -57,15 +57,16 @@
# here for testing purposes.
#project.AddDefines("HELIX_FEATURE_HTTP_GZIP")
-project.AddModuleIncludes("common/include")
+project.AddModuleIncludes("common/include","common/util/pub")
project.AddSources("factory.cpp",
- "httpfsys.cpp",
- "cache.cpp",
- "fsdb.cpp")
+ "httpfsys.cpp")
-project.AddModuleLibraries("filesystem/data[datafsys]",
- "protocol/http[httplib]",
+if not project.IsDefined("_SYMBIAN"):
+ project.AddSources("fsdb.cpp",
+ "cache.cpp")
+
+project.AddModuleLibraries("protocol/http[httplib]",
"protocol/common/util[protutillib]",
"common/dbgtool[debuglib]",
"common/fileio[fileiolib]",
@@ -76,6 +77,9 @@
"common/netio[netiolib]",
"common/log/logutil[logutillib]")
+if not project.IsDefined("_SYMBIAN"):
+ project.AddModuleLibraries("filesystem/data[datafsys]") \
+
if project.IsDefined("HELIX_FEATURE_HTTP_GZIP"):
project.AddSources("decoder.cpp")
project.AddModuleLibraries("common/import/zlib[zlib]")
Index: factory.cpp
===================================================================
RCS file: /cvsroot/filesystem/http/factory.cpp,v
retrieving revision 1.10
diff -w -u -b -r1.10 factory.cpp
@@ -107,24 +107,32 @@
#undef HX_THIS_FILE
static const char HX_THIS_FILE[] = __FILE__;
#endif
+#if !defined(_SYMBIAN)
#include "datafsys.h"
+#endif
#include "httpfsys.h"
#include "factory.h"
#include "ihxcookies2.h"
-HX_RESULT (STDAPICALLTYPE *HTTPPluginFactory::m_fpEntryArray[])(IUnknown**)={
+HX_RESULT (STDAPICALLTYPE * const \
HTTPPluginFactory::m_fpEntryArray[])(IUnknown**)={ \
CHTTPFileSystem::HXCreateInstance, +#if !defined(_SYMBIAN)
DataFileSystem::HXCreateInstance,
+#endif
0};
-HX_RESULT (STDAPICALLTYPE *HTTPPluginFactory::m_fpExitArray[])()={
+HX_RESULT (STDAPICALLTYPE * const HTTPPluginFactory::m_fpExitArray[])()={
CHTTPFileSystem::HXShutdown,
+#if !defined(_SYMBIAN)
DataFileSystem::HXShutdown,
+#endif
0};
-HX_RESULT (*HTTPPluginFactory::m_fpUnloadArray[])()={
+HX_RESULT (* const HTTPPluginFactory::m_fpUnloadArray[])()={
CHTTPFileSystem::CanUnload,
+#if !defined(_SYMBIAN)
DataFileSystem::CanUnload,
+#endif
0};
Index: factory.h
===================================================================
RCS file: /cvsroot/filesystem/http/factory.h,v
retrieving revision 1.3
diff -w -u -b -r1.3 factory.h
@@ -68,9 +68,10 @@
LONG32 m_lRefCount;
UINT16 m_usNumOfPlugins;
- static HX_RESULT (STDAPICALLTYPE *m_fpEntryArray[])(IUnknown**);
- static HX_RESULT (STDAPICALLTYPE *m_fpExitArray[])();
- static HX_RESULT (*m_fpUnloadArray[])();
+ static HX_RESULT (STDAPICALLTYPE * const m_fpEntryArray [])(IUnknown**);
+ static HX_RESULT (STDAPICALLTYPE * const m_fpExitArray [])();
+ static HX_RESULT (* const m_fpUnloadArray [])();
+
};
/****************************************************************************
Index: httpfsys.cpp
===================================================================
RCS file: /cvsroot/filesystem/http/httpfsys.cpp,v
retrieving revision 1.113
diff -w -u -b -r1.113 httpfsys.cpp
@@ -113,6 +113,8 @@
#include "httpfsys.h"
#include "ihxcookies2.h"
#include "hxtlogutil.h"
+#include "hxdir.h"
+
#ifdef _MACINTOSH
//#include "../dcondev/dcon.h"
@@ -168,7 +170,9 @@
#include <string.h>
+#if !defined(HELIX_CONFIG_NOSTATICS)
UINT32 g_ulDefTtl;
+#endif
#ifndef USE_TEMP_CACHE_LOCATION
#define DEF_CACHE_DB "cache_db"
@@ -179,8 +183,10 @@
#define HTTP_MAX_BUFFER_BEFORE_PROCESSIDLE (64 * 1024)
+#if !defined(HELIX_CONFIG_NOSTATICS)
CCacheEntry* g_pCacheEntry = NULL;
IHXBuffer* CreateBufferFromValues (IHXValues *pHeaderValues);
+#endif
// default if no timeouts in preferences.
#define DEF_HTTP_SERVER_TIMEOUT (20 * MILLISECS_PER_SECOND)
@@ -229,11 +235,10 @@
#define ICECAST_META_SIZE_MULTIPLE 16 // bytes
-
-const char* CHTTPFileSystem::zm_pDescription = "RealNetworks HTTP File System \
with CHTTP Support";
-const char* CHTTPFileSystem::zm_pCopyright = HXVER_COPYRIGHT;
-const char* CHTTPFileSystem::zm_pMoreInfoURL = HXVER_MOREINFO;
-const char* CHTTPFileSystem::zm_pShortName = "pn-http";
+const char* const CHTTPFileSystem::zm_pDescription = "RealNetworks HTTP File \
System with CHTTP Support"; +const char* const CHTTPFileSystem::zm_pCopyright = \
HXVER_COPYRIGHT; +const char* const CHTTPFileSystem::zm_pMoreInfoURL = \
HXVER_MOREINFO; +const char* const CHTTPFileSystem::zm_pShortName = "pn-http";
/// This name is used to indicate the http server is
/// actually RealServer. If the server team changes
@@ -246,20 +251,17 @@
//#define LOG_DUMP_FILE "c:/temp/avi.txt"
#ifdef SUPPORT_SECURE_SOCKETS
-const char* CHTTPFileSystem::zm_pProtocol = "http|chttp|https";
+const char* const CHTTPFileSystem::zm_pProtocol = "http|chttp|https";
#else
-const char* CHTTPFileSystem::zm_pProtocol = "http|chttp";
+const char* const CHTTPFileSystem::zm_pProtocol = "http|chttp";
#endif
+#if !defined(HELIX_CONFIG_NOSTATICS)
HXBOOL CHTTPFileSystem::m_bSaveNextStream = FALSE;
//CHXString CHTTPFileSystem::m_SaveFileName( "" );
CHXString CHTTPFileSystem::m_SaveFileName;
-
-
-static INT32 g_nRefCount_http = 0;
-
static CChunkyResMap g_ChunkyResMap;
-
+#endif //_SYMBIAN
#define WWW_AUTHENTICATION_RECENT_KEY "authentication.http.realm.recent"
#define PROXY_AUTHENTICATION_RECENT_KEY "proxy-authentication.http.realm.recent"
@@ -291,7 +293,6 @@
CChunkyResMap::~CChunkyResMap()
{
-
delete m_pChunkyResURLMap;
}
@@ -302,7 +303,11 @@
if ( !m_pChunkyResURLMap->Lookup( pURL, (void*&)pChunkyRes ) )
{
+#if !defined(_SYMBIAN)
pChunkyRes = new CChunkyRes(pContext);
+#else
+ pChunkyRes = new CChunkyRes();
+#endif
m_pChunkyResURLMap->SetAt(pURL, pChunkyRes);
}
@@ -402,14 +407,14 @@
{
return HXR_OK;
}
-
+#if !defined(HELIX_CONFIG_NOSTATICS)
if (g_pCacheEntry)
{
g_pCacheEntry->close();
delete g_pCacheEntry;
g_pCacheEntry = NULL;
}
-
+#endif
return HXR_OK;
}
@@ -427,14 +432,17 @@
*/
HX_RESULT CHTTPFileSystem::CanUnload(void)
{
- return (g_nRefCount_http ? HXR_FAIL : HXR_OK);
+ HX_RESULT result = (CHXBaseCountingObject::ObjectsActive() > 0) ? HXR_FAIL : \
HXR_OK; + return (result);
}
BEGIN_INTERFACE_LIST(CHTTPFileSystem)
INTERFACE_LIST_ENTRY(IID_IHXPlugin, IHXPlugin)
INTERFACE_LIST_ENTRY(IID_IHXFileSystemObject, IHXFileSystemObject)
+#if !defined(_SYMBIAN)
INTERFACE_LIST_ENTRY(IID_IHXFileSystemCache, IHXFileSystemCache)
+#endif
INTERFACE_LIST_ENTRY(IID_IHXHTTPAutoStream, IHXHTTPAutoStream)
END_INTERFACE_LIST
@@ -442,12 +450,10 @@
m_pContext(NULL)
, m_pOptions(NULL)
{
- g_nRefCount_http++;
}
CHTTPFileSystem::~CHTTPFileSystem()
{
- g_nRefCount_http--;
HX_RELEASE(m_pContext);
HX_RELEASE(m_pOptions);
}
@@ -585,7 +591,7 @@
-
+#if !defined(_SYMBIAN)
/////////////////////////////////////////////////////////////////////////
// Method:
// CHTTPFileSystem::RefreshCache
@@ -722,7 +728,7 @@
return HXR_OK;
}
-
+#endif //_SYMBIAN
STDMETHODIMP_(void)
CHTTPFileSystem::SetDestinationFile( const char *pFilename )
@@ -833,9 +839,10 @@
{
AddRef();
*ppvObj = (IHXPendingStatus*)(this);
-
+#if !defined _SYMBIAN
//FNH This is probably not needed
ProcessCacheCompletions(FALSE);
+#endif
return HXR_OK;
}
if (IsEqualIID(IID_IHXRequestHandler, riid))
@@ -954,6 +961,9 @@
, m_pDecoder(NULL)
, m_pChunkyRes(NULL)
+#if defined(_SYMBIAN)
+ , m_pChunkyResMap(NULL)
+#endif
, m_pMutex(NULL)
, m_nPort(DEF_HTTP_PORT)
@@ -1120,6 +1130,7 @@
void
CHTTPFileObject::SetReadContentsDone(HXBOOL bReadContentsDone)
{
+ HXLOGL4(HXLOG_HTTP, "CHTTPFileObject::SetReadContentsDone");
m_bReadContentsDone = bReadContentsDone;
#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
if (m_pBytesToDur && bReadContentsDone)
@@ -1304,7 +1315,9 @@
// if (szBaseURL && ::strncmp (szBaseURL, "http:", 5) == 0)
{
+#if !defined _SYMBIAN
CacheSupport_InitObject();
+#endif
}
// buffer ahead amount for throttling download if desired
@@ -1526,8 +1539,13 @@
m_bGetProxyInfoPending = FALSE;
m_pPAC->AbortProxyInfo(this);
}
-
+#if !defined(HELIX_CONFIG_NOSTATICS)
g_ChunkyResMap.RelinquishChunkyRes(m_pChunkyRes, this);
+#else
+ m_pChunkyResMap->RelinquishChunkyRes(m_pChunkyRes, this);
+ delete m_pChunkyResMap;
+ m_pChunkyResMap = NULL;
+#endif
m_pChunkyRes = NULL;
HX_RELEASE(m_pFileSystem);
@@ -1707,6 +1725,7 @@
*/
STDMETHODIMP CHTTPFileObject::Read(ULONG32 ulCount)
{
+ HXLOGL4(HXLOG_HTTP, "CHTTPFileObject::Read");
HXScopeLock lock(m_pMutex);
HX_RESULT lResult = HXR_OK;
@@ -2364,10 +2383,25 @@
*/
HX_RESULT CHTTPFileObject::_InitializeChunkyRes(const char* url)
{
+ HXLOGL4(HXLOG_HTTP, "CHTTPFileObject::_InitializeChunkyRes");
+ HX_RESULT theErr = HXR_OK;
+
if (!m_pChunkyRes)
{
+#if !defined(HELIX_CONFIG_NOSTATICS)
m_pChunkyRes = g_ChunkyResMap.GetChunkyResForURL(url, this, m_pContext);
-
+#else
+ if(!m_pChunkyResMap)
+ {
+ m_pChunkyResMap = new CChunkyResMap;
+ }
+ if(m_pChunkyResMap)
+ {
+ m_pChunkyRes = m_pChunkyResMap->GetChunkyResForURL(url, this, \
m_pContext); + }
+#endif
+ if(m_pChunkyRes)
+ {
HXLOGL1(HXLOG_HTTP, "_InitializeChunkyRes(%s) ==> %lx", NULLOK(url), \
m_pChunkyRes);
if (m_bOnServer || (m_ulMemCacheSize != 0))
@@ -2383,7 +2417,12 @@
m_ulMemCacheContigLengthTrimThreshold = (m_ulMemCacheSize / \
MEM_CACHE_TRIM_THRESHOLD_DENOM); }
}
-
+ }
+ else
+ {
+ HXLOGL1(HXLOG_HTTP, "_InitializeChunkyRes(%s) ==> %lx FAILED", \
NULLOK(url), m_pChunkyRes); + theErr = HXR_OUTOFMEMORY;
+ }
#if defined(HELIX_FEATURE_HTTP_GZIP)
m_pDecoder = new CDecoder;
if (m_pDecoder && m_pChunkyRes)
@@ -2393,7 +2432,7 @@
#endif
}
- return HXR_OK;
+ return theErr;
}
/************************************************************************
@@ -2651,9 +2690,9 @@
CHTTPFileObject::_OpenFileExt()
{
HX_RESULT theErr = HXR_OK;
-
+#if !defined _SYMBIAN
CacheSupport_OpenFile();
-
+#endif
if (m_bCached)
{
m_bInitPending = FALSE;
@@ -4088,8 +4127,9 @@
theErr = _ReOpen();
}
}
-
+#if !defined _SYMBIAN
ProcessCacheCompletions(TRUE);
+#endif
return theErr;
}
@@ -5318,7 +5358,9 @@
if (m_pCacheEntry)
{
+#if !defined _SYMBIAN
CacheSupport_HandleSuccess(pMessage);
+#endif
}
// Find the mime type to support mime reporting...
@@ -5699,6 +5741,7 @@
LOGX((szDbgTemp, " m_pFilename='%s'", m_pFilename));
LOGX((szDbgTemp, " m_pCacheFile='%s'", (char \
*)m_pCacheFile->GetBuffer()));
+#if !defined(HELIX_CONFIG_NOSTATICS)
// Create the cache database if need be
if (g_pCacheEntry == NULL)
{
@@ -5709,6 +5752,7 @@
}
if (m_pCacheEntry == NULL)
m_pCacheEntry = g_pCacheEntry;
+#endif
}
// Strip off any URL parameters and store them
@@ -6034,6 +6078,7 @@
/*
* This supplies the bulk of processing needed by the _OpenFile method
*/
+#if !defined _SYMBIAN
STDMETHODIMP_(void)
CHTTPFileObject::CacheSupport_InitObject (void)
{
@@ -6708,7 +6753,7 @@
return HXR_OK;
}
-
+#endif //_SYMBIAN
STDMETHODIMP_( void )
CHTTPFileObject::SetDestinationFile( const char *pFilename )
{
@@ -7933,7 +7978,9 @@
if (m_pCacheEntry)
{
+#if !defined _SYMBIAN
CacheSupport_ReadDone();
+#endif
}
// Saving a copy of the file if appropriate
@@ -8252,16 +8299,16 @@
pResponseHeaders->AddKeyValue(pHeader->name(),pTmpBuffer);
// Disable http 1.1 support if the server explicitly says to
- if (!strcmpi(pHeader->name(), "Accept-Ranges"))
+ if (!stricmp(pHeader->name(), "Accept-Ranges"))
{
- if (!strcmpi((const char*)pTmpBuffer->GetBuffer(), \
"none")) + if (!stricmp((const \
char*)pTmpBuffer->GetBuffer(), "none")) {
bNotAcceptRanges = TRUE;
}
}
- else if (!strcmpi(pHeader->name(), "Server"))
+ else if (!stricmp(pHeader->name(), "Server"))
{
- if (!strcmpi((const char*)pTmpBuffer->GetBuffer(), \
REALSERVER_RESPONSE_NAME)) + if (!stricmp((const \
char*)pTmpBuffer->GetBuffer(), REALSERVER_RESPONSE_NAME)) {
bRealServer = TRUE;
}
Index: httpfsys.h
===================================================================
RCS file: /cvsroot/filesystem/http/httpfsys.h,v
retrieving revision 1.41
diff -w -u -b -r1.41 httpfsys.h
@@ -60,8 +60,10 @@
#include "hxauto.h"
#include "hxpac.h"
#include "hxnet.h"
-
+#include "hxplugncompat.h"
#include "miscsp.h"
+#include "hxthread.h" // HXMutex
+#include "baseobj.h"
/* forward decl. */
@@ -162,7 +164,9 @@
class CHTTPFileSystem : public CUnknownIMP,
public IHXPlugin,
public IHXFileSystemObject,
+#if !defined(_SYMBIAN)
public IHXFileSystemCache,
+#endif
public IHXHTTPAutoStream
{
DECLARE_UNKNOWN(CHTTPFileSystem)
@@ -228,11 +232,12 @@
STDMETHOD(CreateDir) (THIS_
IUnknown** /*OUT*/ ppDirObject);
-
+#if !defined(_SYMBIAN)
// IHXFileSystemCache methods...
STDMETHOD (RefreshCache) (THIS);
STDMETHOD (EmptyCache) (THIS);
STDMETHOD (MoveCache) (THIS_ const char *path);
+#endif
// IHXHTTPAutoStream methods...
STDMETHOD_( void, SetDestinationFile) ( THIS_ const char *pFilename );
@@ -241,15 +246,19 @@
private:
IUnknown* m_pContext;
IHXValues* m_pOptions;
- static const char* zm_pDescription;
- static const char* zm_pCopyright;
- static const char* zm_pMoreInfoURL;
- static const char* zm_pShortName;
- static const char* zm_pProtocol;
-
+ static const char* const zm_pDescription;
+ static const char* const zm_pCopyright;
+ static const char* const zm_pMoreInfoURL;
+ static const char* const zm_pShortName;
+ static const char* const zm_pProtocol;
+#if !defined(_SYMBIAN)
// Autostreaming support
static HXBOOL m_bSaveNextStream;
static CHXString m_SaveFileName;
+#else
+ HXBOOL m_bSaveNextStream;
+ CHXString m_SaveFileName;
+#endif
};
/////////////////////////////////////////////////////////////////////////////
@@ -542,7 +551,7 @@
HX_RESULT HX_RESULTStatus,
IHXRequest* pIHXRequestResponse
);
-
+#if !defined(_SYMBIAN)
// Support for cache
STDMETHOD_ (IHXBuffer*, CreateBufferFromValues) (THIS_ IHXValues /*IN*/ \
*pHeaderValues);
STDMETHOD_ (IHXValues*, CreateValuesFromBuffer) (THIS_ IHXBuffer *pBuffer);
@@ -551,7 +560,7 @@
STDMETHOD_ (void, CacheSupport_ReadDone) (THIS);
STDMETHOD_ (void, CacheSupport_HandleSuccess) (THIS_ HTTPResponseMessage* \
pMessage);
STDMETHOD (ProcessCacheCompletions) (THIS_ HXBOOL bRedirected);
-
+#endif
// Support for autostreaming
STDMETHOD_( void, SetDestinationFile) ( THIS_ const char *pFilename );
@@ -702,6 +711,7 @@
friend class HTTPFileObjCallback;
friend class HTTPTCPResponse;
+ friend class CChunkyResMap;
HX_RESULT m_LastError;
@@ -744,6 +754,9 @@
HXBOOL m_bTCPReadPending;
HTTPTCPResponse* m_pTCPResponse;
+#if defined(_SYMBIAN)
+ CChunkyResMap* m_pChunkyResMap;
+#endif
char* m_szBaseURL;
@@ -801,7 +814,6 @@
CHXSimpleList m_PendingReadList;
CHXSimpleList m_PreProcessedReadBuffers;
- static CHXSimpleList zm_pList;
int m_nPort;
Index: pub/http_debug.h
===================================================================
RCS file: /cvsroot/filesystem/http/pub/http_debug.h,v
retrieving revision 1.6
diff -w -u -b -r1.6 http_debug.h
@@ -50,6 +50,7 @@
#undef NULLOK
#define NULLOK(x) ((x) ? (x) : "Null")
+#if !defined(_SYMBIAN)
#include "hlxclib/time.h"
#if defined(_UNIX) || defined (_MACINTOSH) || defined(__TCS__)
@@ -64,8 +65,8 @@
(x)->tv_sec = time(NULL); \
(x)->tv_usec = stTime.wMilliseconds * 1000
#endif
-
-#if defined(DEBUG) && defined(ENABLE_LOGGING) && !defined(_OPENWAVE)
+#endif //_SYMBIAN
+#if defined(DEBUG) && defined(ENABLE_LOGGING) && !defined(_OPENWAVE) && \
!defined(_SYMBIAN) # include "hlxclib/fcntl.h"
static FILE* g_fileLog = NULL;
["http.zip" (application/x-zip-compressed)]
_______________________________________________
Filesystem-dev mailing list
Filesystem-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/filesystem-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic