webengine/wmlengine/src/utils/include/nw_loadreq.h
changeset 0 dd21522fd290
child 37 cb62a4f66ebe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/utils/include/nw_loadreq.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 1999 - 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: 
+*
+*/
+
+
+#ifndef NW_LOADREQ_H
+#define NW_LOADREQ_H
+
+/*
+** Includes
+*/
+#include "nwx_defs.h"
+
+#include "nw_nvpair.h"
+#include "nwx_buffer.h"
+#include "nwx_http_header.h"
+#include "urlloader_urlresponse.h"
+#include "nw_hed_appservices.h"
+#include "BrsrStatusCodes.h"
+/*
+** Type Declarations
+*/
+
+/*
+** Preprocessor Macro Definitions
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Global Function Declarations
+*/
+
+/*****************************************************************
+
+  Name: NW_LoadReq_Create
+
+  Description:  
+    Create loader data structures for an Http load request.
+    Helper routine to create request for the loaders. 
+
+  Parameters:   
+    url             - in: url to load.
+    postMethodFlag  - in: flag indicating HTTP POST method or not.
+    referer         - in: referer to the url.
+    acceptCharset   - in: character set gateway will accept.
+    postfields      - in: postdata name/value pairs.
+                      Note: Not const because have to change to iterate over.
+    enctype         - in: urlencoded or multipart/form-data.
+    docCharset      - in: charset encoding for document.
+    header          - in/out: if empty (NULL) a new header is created.
+                              if not empty, a copy is made and added to.
+    resultUrl       - out: url created for request
+    method          - out: post or get.
+    body            - out: body for load request.
+    appServices ?
+    appCtx ?
+
+  Return Value: KBrsrSuccess
+                KBrsrFailure
+                KBrsrUnsupportedFormCharset
+                KBrsrOutOfMemory
+
+  Notes:
+     cacheMode not needed for this helper function.
+
+******************************************************************/
+TBrowserStatusCode NW_LoadReq_Create ( const NW_Ucs2 *url,
+                                const NW_Bool postMethodFlag, 
+                                const NW_Ucs2 *referer, 
+                                const NW_Ucs2 *acceptCharset,
+                                NW_NVPair_t   *postfields,  /* Can't be const. */
+                                const NW_Ucs2 *enctype,
+                                const NW_Http_CharSet_t docCharset,
+                                NW_Http_Header_t **header,  /* Start output params */
+                                NW_Ucs2       **resultUrl,
+                                NW_Uint8      *method,
+                                NW_Buffer_t   **body,
+                                NW_HED_AppServices_t * appServices,
+                                void * appCtx);
+
+
+/************************************************************************
+ 
+  Function: NW_LoadReq_BuildQuery
+
+  Description:  Construct a query from the url and escaped_postdata, 
+                and places the result in *query.  It is the caller's 
+                responsibility to delete the resulting string.
+ 
+                If the number of postfields is 0, the query is just a 
+                new copy the original url. This prevents us from 
+                appending a lone '?' at the end of a 'canned' query 
+                url like 
+ 
+                "http://waplabdc/foo.wml?name=bar;value=foo"
+ 
+  Parameters:   url        - in: pointer to the URL
+                postfields - in: pointer to the postfield data
+                resultUrl - out: constructed result URL.
+                appServices ?
+                appCtx ?
+    
+  Return Value: KBrsrSuccess
+                KBrsrFailure
+                KBrsrOutOfMemory
+                  
+**************************************************************************/
+TBrowserStatusCode NW_LoadReq_BuildQuery(const NW_Ucs2 *url,
+                                  NW_NVPair_t *postfields, 
+                                  NW_Ucs2 **resultUrl,
+                                  NW_HED_AppServices_t * appServices,
+                                  void * appCtx);
+
+/**
+* Checks the encoding type to see if it is for a multipart request.
+* @since 2.5
+* @param aEncodingType Ptr to encoding type string to be checked.
+* @return   NW_TRUE if multipart.
+*           NW_FALSE if not multipart.
+*/
+NW_Bool NW_LoadReq_IsMultipart( const NW_Ucs2* aEncodingType );
+
+/**
+* Determines whether or not the current part of the multipart post is for a
+* file to be uploaded or not.
+* @param aValue Ptr to value of the variable.
+* @return   NW_TRUE if the part is for file to be uploaded.
+*           NW_FALSE if not a file.
+*/
+NW_Bool NW_LoadReq_IsUploadFile( const NW_Ucs2 *aValue );
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* NW_NVPAIR_H */
+
+