⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbineturl.h

📁 Open VXI. This is a open source.
💻 H
字号:
/****************License************************************************ * * Copyright 2001.  SpeechWorks International, Inc. * * Use of this software is subject to notices and obligations set forth * in the SpeechWorks Public License - Software Version 1.1 which is * included with this software. *  * SpeechWorks is a registered trademark, and SpeechWorks Here,  * DialogModules and the SpeechWorks logo are trademarks of SpeechWorks  * International, Inc. in the United States and other countries.  *  *********************************************************************** * * SBinetURL header * * $Id: SBinetURL.h,v 1.13.6.3.2.1 2002/02/19 19:46:46 jerry Exp $ * ***********************************************************************/#ifndef __SBINETURL_H_                   /* Allows multiple inclusions */#define __SBINETURL_H_#include "VXItypes.h"#include "VXIvalue.h"#include "VXIinet.h"#include "SBinetString.hpp"#define DEFAULT_GENERIC_MIME_TYPE    L"application/octet-stream"#define DEFAULT_GENERIC_MIME_TYPE_N   "application/octet-stream"// TODO : This 'SBBoundary' needs to be changed#define SB_BOUNDARY "osb_inet_multipart_boundary"#define SB_MULTIPART "multipart/form-data; boundary=osb_inet_multipart_boundary"class SBinetURL{public:  enum URLScheme {    NULL_SCHEME = 0,    HTTP_SCHEME = 1,    FILE_SCHEME = 2 };public:  SBinetURL();  ~SBinetURL();  URLScheme GetScheme() const;  const VXIchar*  GetAbsolute() const { return m_strAbsoluteUrl.c_str(); }  const char* GetAbsoluteNarrow();   // return absolute url Narrow (for fopen)  const VXIchar*  GetPath() const { return m_strPath.c_str(); }  const char*  GetPathNarrow();  VXIinetResult Parse(const VXIchar* pszName,		      VXIinetOpenMode  eMode,		      VXIint32         nFlags,		      const VXIMap*    pProperties);  void AppendQueryArgs(const VXIMap* m_queryArgs);  HTAssocList* SBinetURL::QueryArgsToHtList(const VXIMap* queryArgs);  VXIinetResult ContentTypeFromUrl(SBinetString* strContentType) const;  int NeedMultipart(const VXIMap* queryArgs);  const char* QueryArgsToMultipart(const VXIMap* queryArgs,VXIulong* plen); private:  void initDoc(int size) { m_doc = ""; }  void appendStr(const char* src) { m_doc += src; }  void appendData(const char* src,int size) {    const char* cp = src;    for(int i=0;i<size;i++){      m_doc += *cp;      cp++;    }  }  const VXIchar* ValueToString(const VXIValue* value, VXIchar* outBuf,			       VXIunsigned outBufLen);  void AppendKeyValuePairToURL( const VXIchar *key,                                const VXIchar *value,                                VXIbool *isFirstArg );  void AppendQueryArgsMap( const VXIMap *map,                           VXIchar *fieldName,                            VXIbool *isFirstArg );  void AppendQueryArgsVector( const VXIVector *vector,                              VXIchar *fieldName,                               VXIbool *isFirstArg );  void AddObjectToHTAssocList( HTAssocList *arglist,                               const VXIchar *key,                               const VXIchar *value );  void QueryArgsMapToHtList( HTAssocList *arglist,                              const VXIMap *map,                              VXIchar *fieldName );  void QueryArgsVectorToHtList( HTAssocList *arglist,                                 const VXIVector *vector,                                 VXIchar *fieldName );  void AppendKeyToMultipart( const VXIchar *key );  void AppendStringValueToMultipart( const VXIchar *value );  void QueryArgsMapToMultipart( const VXIMap *map,                                 VXIchar *fieldName );  void QueryArgsVectorToMultipart( const VXIVector *vector,                                    VXIchar *fieldName );  VXIinetResult WinInetResolveUrl(const VXIchar* pszBaseUrl, 				  const VXIchar* pszUrl, 				  SBinetString*  strAbsoluteUrl,				  URLScheme*     pScheme);  VXIinetResult WWWResolveUrl(const VXIchar* pszBaseUrl, 			      const VXIchar* pszUrl, 			      SBinetString*  strAbsoluteUrl,			      URLScheme*     pScheme);  VXIinetResult NarrowToWideString(const char*    pszNarrow, 				   SBinetString&     strWide);  VXIinetResult WideToNarrowString(const VXIchar* pszWide, 				   SBinetNString& strNarrow);  char *EscapeString( const VXIchar *value );  VXIchar *EscapeStringW( const VXIchar *value ); private:  SBinetString m_strUrl;  SBinetString m_strPath; // path for file://  SBinetNString m_strPathNarrow; // path for file://  SBinetString m_strBaseUrl;  SBinetString m_strAbsoluteUrl;  SBinetNString m_strAbsoluteUrlNarrow;  URLScheme m_scheme;  SBinetNString m_doc;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -