[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: &nbsp;</FONT></B> <FONT SIZE=1 \
FACE="Tahoma">Thimmashetty Praveen (Nokia-D-MSW/Dallas)&nbsp; </FONT>

<BR><B><FONT SIZE=1 FACE="Tahoma">Sent:&nbsp;&nbsp;</FONT></B> <FONT SIZE=1 \
FACE="Tahoma">Sunday, February 03, 2008 5:57 PM</FONT>

<BR><B><FONT SIZE=1 FACE="Tahoma">To:&nbsp;&nbsp;&nbsp;&nbsp;</FONT></B> <FONT SIZE=1 \
FACE="Tahoma">'filesystem-dev@helixcommunity.org'; \
common-dev@helixcommunity.org</FONT>

<BR><B><FONT SIZE=1 FACE="Tahoma">Subject:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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">&quot;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.&quot;</FONT></P> <UL>
<P><FONT SIZE=2 FACE="Arial">Modified by:&nbsp; 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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
ErrorId</FONT><B></B><B><FONT FACE="Arial">:</FONT></B> <FONT SIZE=2 FACE="Arial">SUB \
409-795</FONT> <UL>
<P><FONT FACE="Helv">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT> \


<BR><FONT SIZE=2 FACE="Arial">Synopsis:&nbsp; CR: Porting of HTTP 1.1 from head to \
Symbian (hxclient_2_1_0_cayennes)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

<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>&nbsp;

<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) :&nbsp; Passed.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Test case(s) Added&nbsp; :&nbsp; No. </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Memory leak check performed : Yes.&nbsp; 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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Branch: Head </FONT>

<BR><FONT FACE="Arial" SIZE=2 COLOR="#000000"> &lt;&lt;symbian.pcf&gt;&gt; \
</FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> &lt;&lt;diff.txt&gt;&gt; \
</FONT><FONT FACE="Arial" SIZE=2 COLOR="#000000"> &lt;&lt;http.zip&gt;&gt; </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