webengine/wmlengine/src/hed/src/UrlRequest.c
changeset 74 91031d3aab7d
parent 68 92a765b5b3e7
child 85 e358f2276d3f
--- a/webengine/wmlengine/src/hed/src/UrlRequest.c	Mon May 03 13:32:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,350 +0,0 @@
-/*
-* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#include "nw_hed_urlrequesti.h"
-
-#include "nw_text_ucs2.h"
-#include "urlloader_urlloaderint.h"
-#include "BrsrStatusCodes.h"
-
-/* ------------------------------------------------------------------------- *
-   private static methods
- * ------------------------------------------------------------------------- */
-
-/* ------------------------------------------------------------------------- */
-static void NW_HED_UrlRequest_DeleteUrl (NW_HED_UrlRequest_t *thisObj)
-{
-  NW_Object_Delete (thisObj->url);
-
-  if (thisObj->ownRawUrl)
-    NW_Mem_Free ((NW_Ucs2*) thisObj->rawUrl);
-
-  thisObj->url = NULL;
-  thisObj->rawUrl = NULL;
-  thisObj->ownRawUrl = NW_FALSE;
-}
-
-/* ------------------------------------------------------------------------- *
-   static data
- * ------------------------------------------------------------------------- */
-
-/* ------------------------------------------------------------------------- */
-const
-NW_HED_UrlRequest_Class_t NW_HED_UrlRequest_Class = {
-  { /* NW_Object_Core          */
-    /* super                   */ &NW_Object_Dynamic_Class,
-    /* queryInterface          */ _NW_Object_Base_QueryInterface
-  },
-  { /* NW_Object_Base          */
-    /* interfaceList           */ NULL
-  },
-  { /* NW_Object_Dynamic       */
-    /* instanceSize            */ sizeof (NW_HED_UrlRequest_t),
-    /* construct               */ _NW_HED_UrlRequest_Construct,
-    /* destruct                */ _NW_HED_UrlRequest_Destruct
-  },
-  { /* NW_HED_UrlRequest       */
-    /* unused                  */ NW_Object_Unused
-  }
-};
-
-/* ------------------------------------------------------------------------- *
-   virtual methods
- * ------------------------------------------------------------------------- */
-
-/* ------------------------------------------------------------------------- */
-TBrowserStatusCode
-_NW_HED_UrlRequest_Construct (NW_Object_Dynamic_t* dynamicObject,
-                                va_list* argp)
-{
-  NW_HED_UrlRequest_t* thisObj;
-  TBrowserStatusCode status = KBrsrSuccess;
-
-  /* parameter assertions */
-  NW_ASSERT (dynamicObject != NULL);
-  NW_ASSERT (NW_Object_IsInstanceOf (dynamicObject, &NW_HED_UrlRequest_Class));
-  NW_ASSERT (argp != NULL);
-
-  /* for convenience */
-  thisObj = NW_HED_UrlRequestOf (dynamicObject);
-
-  /* set the member variables */
-  thisObj->url = (NW_Text_t*) va_arg (*argp, const NW_Text_t*);
-  NW_ASSERT (thisObj->url != NULL);
-  NW_ASSERT (NW_Object_IsInstanceOf (thisObj->url, &NW_Text_Abstract_Class));
-  
-  thisObj->url = NW_Text_Copy (thisObj->url, NW_TRUE);
-  if (!thisObj->url) {
-    status = KBrsrOutOfMemory;
-  }
-  
-  thisObj->method = (NW_Uint8) va_arg (*argp, NW_Uint32);
-  thisObj->header = (NW_Http_Header_t*) va_arg (*argp, NW_Http_Header_t*);
-  thisObj->body = (NW_Buffer_t*) va_arg (*argp, const NW_Buffer_t*);
-  thisObj->reason = (NW_Uint8) va_arg (*argp, NW_Uint32);
-  thisObj->loadMode = (NW_HED_UrlRequest_LoadMode_t) va_arg (*argp, NW_HED_UrlRequest_LoadMode_t);
-  thisObj->loadType = (NW_Uint8) va_arg (*argp, NW_Uint32);  
-  /* successful completion */
-  return status;
-}
-
-/* ------------------------------------------------------------------------- */
-void
-_NW_HED_UrlRequest_Destruct (NW_Object_Dynamic_t* dynamicObject)
-{
-  NW_HED_UrlRequest_t* thisObj;
-
-  /* parameter assertions */
-  NW_ASSERT (dynamicObject != NULL);
-  NW_ASSERT (NW_Object_IsInstanceOf (dynamicObject, &NW_HED_UrlRequest_Class));
-
-  /* for convenience */
-  thisObj = NW_HED_UrlRequestOf (dynamicObject);
-
-  NW_HED_UrlRequest_DeleteUrl (thisObj);
-  UrlLoader_HeadersFree (thisObj->header);
-  NW_Buffer_Free (thisObj->body);
-}
-
-/* ------------------------------------------------------------------------- *
-   final functions
- * ------------------------------------------------------------------------- */
-
-/* ------------------------------------------------------------------------- */
-TBrowserStatusCode
-NW_HED_UrlRequest_UpdateUrl (NW_HED_UrlRequest_t* thisObj, const NW_Text_t* newUrl)
-{
-  NW_Text_t* url;
-  TBrowserStatusCode status = KBrsrSuccess;
-
-  url = NW_Text_Copy (newUrl, NW_TRUE);
-  if (url) {
-    /* delete the old value */
-    NW_HED_UrlRequest_DeleteUrl (thisObj);
-
-    thisObj->url = url;
-  }
-  else {
-    status = KBrsrOutOfMemory;
-  }
-
-  return status;
-}
-
-/* ------------------------------------------------------------------------- */
-const NW_Text_t*
-NW_HED_UrlRequest_GetUrl (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-  NW_ASSERT (thisObj->url);
-
-  return thisObj->url;
-}
-
-/* ------------------------------------------------------------------------- */
-const NW_Ucs2*
-NW_HED_UrlRequest_GetRawUrl (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_Text_Length_t length;
-  NW_HED_UrlRequest_t* uReq = (NW_HED_UrlRequest_t*) thisObj;
-
-  if (uReq->rawUrl != NULL)
-    return uReq->rawUrl;
-
-  /* convert the url to Unicode and get the storage */
-  uReq->rawUrl = (NW_Ucs2*) NW_Text_GetUCS2Buffer (uReq->url, 
-        NW_Text_Flags_NullTerminated | NW_Text_Flags_Aligned,
-        &length, &uReq->ownRawUrl);
-
-  return uReq->rawUrl;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Uint8
-NW_HED_UrlRequest_GetMethod (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->method;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Uint8
-NW_HED_UrlRequest_GetLoadType (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->loadType;
-}
-
-/* ------------------------------------------------------------------------- */
-const NW_Http_Header_t*
-NW_HED_UrlRequest_GetHeader (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->header;
-}
-
-/* ------------------------------------------------------------------------- */
-const NW_Buffer_t*
-NW_HED_UrlRequest_GetBody (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->body;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Cache_Mode_t
-NW_HED_UrlRequest_GetCacheMode (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->cacheMode;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Bool
-NW_HED_UrlRequest_IsTopLevelRequest (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return (NW_Bool) (thisObj->reason != NW_HED_UrlRequest_Reason_DocLoadChild && thisObj->reason != NW_HED_UrlRequest_Reason_DocLoadHead);
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Bool
-NW_HED_UrlRequest_IsHistoricRequest (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  switch (thisObj->reason)
-  {
-    case NW_HED_UrlRequest_Reason_ShellPrev:
-    case NW_HED_UrlRequest_Reason_ShellNext:
-    case NW_HED_UrlRequest_Reason_ShellReload:
-    case NW_HED_UrlRequest_Reason_DocPrev:
-    case NW_HED_UrlRequest_Reason_RestorePrev:
-    case NW_HED_UrlRequest_Reason_RestoreNext:
-      return NW_TRUE;
-
-    case NW_HED_UrlRequest_Reason_ShellLoad:
-    case NW_HED_UrlRequest_Reason_DocLoad:
-    case NW_HED_UrlRequest_Reason_DocLoadChild:
-    case NW_HED_UrlRequest_Reason_Undefined:
-      return NW_FALSE;
-  }
-
-  return NW_FALSE;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Bool
-NW_HED_UrlRequest_Equal (const NW_HED_UrlRequest_t* urlRequest1, 
-    const NW_HED_UrlRequest_t* urlRequest2)
-{
-  /* TODO update to check more than just the url */
-  return (NW_Bool) (NW_Text_Compare (urlRequest1->url,
-                                     urlRequest2->url) ? NW_FALSE : NW_TRUE);
-}
-
-/* ------------------------------------------------------------------------- */
-TBrowserStatusCode
-NW_HED_UrlRequest_SetMethod (NW_HED_UrlRequest_t* thisObj, NW_Uint8 method)
-{
-  NW_ASSERT (thisObj);
-
-  thisObj->method = method;
-  return KBrsrSuccess;
-}
-
-/* ------------------------------------------------------------------------- */
-TBrowserStatusCode
-NW_HED_UrlRequest_SetReason (NW_HED_UrlRequest_t* thisObj, NW_Uint8 reason)
-{
-  NW_ASSERT (thisObj);
-
-  thisObj->reason = reason;
-  return KBrsrSuccess;
-}
-
-/* ------------------------------------------------------------------------- */
-TBrowserStatusCode
-NW_HED_UrlRequest_SetCacheMode (NW_HED_UrlRequest_t* thisObj, NW_Cache_Mode_t cacheMode)
-{
-  NW_ASSERT (thisObj);
-
-  thisObj->cacheMode = cacheMode;
-  return KBrsrSuccess;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_Uint8
-NW_HED_UrlRequest_GetReason (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_ASSERT (thisObj);
-
-  return thisObj->reason;
-}
-
-/* ------------------------------------------------------------------------- */
-NW_HED_UrlRequest_t*
-NW_HED_UrlRequest_Clone (const NW_HED_UrlRequest_t* thisObj)
-{
-  NW_Http_Header_t* header = NULL;
-  NW_Buffer_t*      body = NULL;
-  NW_HED_UrlRequest_t* urlReq;
-
-  if (thisObj->header != NULL)  {
-//R->ul    NW_THROWIF_NULL (header = UrlLoader_HeadersCopy (thisObj->header));
-  }
-   
-  if (thisObj->body != NULL)
-    {
-    NW_THROWIF_NULL (body = NW_Buffer_New (0));
-    NW_THROWIF_ERROR (NW_Buffer_CopyBuffers (body, thisObj->body));
-    }
-
-  NW_THROWIF_NULL (urlReq = NW_HED_UrlRequest_New (thisObj->url, thisObj->method, 
-      header, body, thisObj->reason, thisObj->loadMode, thisObj->loadType));
-
-  return urlReq;
-
-NW_CATCH_ERROR
-  UrlLoader_HeadersFree (header);
-  NW_Buffer_Free (body);
-
-  return NULL;
-}
-
-/* ------------------------------------------------------------------------- *
-   convenience functions
- * ------------------------------------------------------------------------- */
-
-/* ------------------------------------------------------------------------- */
-NW_HED_UrlRequest_t*
-NW_HED_UrlRequest_New (NW_Text_t* url, NW_Uint8 method,
-    NW_Http_Header_t* header, NW_Buffer_t* body, NW_Uint8 reason, NW_HED_UrlRequest_LoadMode_t loadMode, NW_Uint8 loadType)
-{
-  NW_ASSERT (url);
-  
-  return (NW_HED_UrlRequest_t*) NW_Object_New (&NW_HED_UrlRequest_Class, 
-      url, (NW_Uint32)method, header, body, (NW_Uint32)reason, loadMode, (NW_Uint32)loadType);
-}
-