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

📄 sbineturl.h

📁 OSB-PIK-OpenVXI-3.0.0源代码 “中国XML论坛 - 专业的XML技术讨论区--XML在语音技术中的应用”
💻 H
字号:
 /****************License************************************************  *  * Copyright 2000-2003.  ScanSoft, Inc.      *  * Use of this software is subject to notices and obligations set forth   * in the SpeechWorks Public License - Software Version 1.2 which is   * included with this software.   *  * ScanSoft is a registered trademark of ScanSoft, Inc., and OpenSpeech,   * SpeechWorks and the SpeechWorks logo are registered trademarks or   * trademarks of SpeechWorks International, Inc. in the United States   * and other countries.  *  ***********************************************************************/ #ifndef __SBINETURL_H_                   /* Allows multiple inclusions */ #define __SBINETURL_H_   #include "VXItypes.h" #include "VXIvalue.h" #include "VXIinet.h"  #include "SBinetString.hpp"  #define SB_BOUNDARY "osb_inet_multipart_boundary" #define SB_MULTIPART "multipart/form-data; boundary=osb_inet_multipart_boundary" #define SB_URLENCODED "application/x-www-form-urlencoded" #define CRLF "\r\n"  class SBinetURL { public:   enum Protocol {     UNKNOWN_PROTOCOL = 0,     FILE_PROTOCOL = 1,     HTTP_PROTOCOL = 2,     HTTPS_PROTOCOL = 3   };   public:   SBinetURL(const SBinetURL& url)   {     operator=(url);   }    ~SBinetURL()   {}    Protocol getProtocol() const   {     return _protocol;   }    const VXIchar * getAbsolute() const   {     return _absoluteURL.c_str();   }    const VXIchar * getBase() const   {     return _baseURL.c_str();   }    const VXIchar * getPath() const   {     return _strPath.c_str();   }    const VXIchar * getHost() const   {     return _host.c_str();   }    const char * getNAbsolute() const   {     return N_absoluteURL.c_str();   }    const char * getNBase() const   {     return N_baseURL.c_str();   }    const char * getNPath() const   {     return N_strPath.c_str();   }    const char * getNHost() const   {     return N_host.c_str();   }    SBinetURL& operator=(const SBinetURL& url);    bool operator==(const SBinetURL& url);   bool operator!=(const SBinetURL& url)   {     return !operator==(url);   }    static VXIinetResult create(const VXIchar* pszName,                               const VXIchar* pszUrlBase,                               SBinetURL *& url);    VXIinetResult parse(const VXIchar* pszName,                       const VXIchar* pszUrlBase);    void appendQueryArgsToURL(const VXIMap* _queryArgs);    VXIString *getContentTypeFromUrl() const;    SBinetNString queryArgsToNString(const VXIMap* queryArgs) const;    static bool requiresMultipart(const VXIMap* queryArgs);    SBinetNString queryArgsToMultipart(const VXIMap* queryArgs);   public:   int getPort() const   {     return _port;   }   private:   SBinetURL():     _absoluteURL(), _baseURL(), _host(), _strPath(), _protocol(UNKNOWN_PROTOCOL),     _port(-1)   {}    static SBinetNString valueToNString(const VXIValue* value);    // Multipart stuff.   static bool requiresMultipart(const VXIValue* value);   static bool requiresMultipart(const VXIVector* vxivector);    static void appendKeyToMultipart(SBinetNString& result, const char *key);    static void appendValueToMultipart(SBinetNString& result, 				     const SBinetNString& value);    static void appendQueryArgsMapToMultipart(SBinetNString& result,                                             const VXIMap *vximap,                                             SBinetNString& fieldName);    static void appendQueryArgsVectorToMultipart(SBinetNString& result,                                                const VXIVector *vxivector,                                                SBinetNString& fieldName);    static void appendQueryArgsToMultipart(SBinetNString& result,                                          const VXIValue *value,                                          SBinetNString& fieldName);   private:   SBinetString _absoluteURL;   SBinetString _baseURL;   SBinetString _host;   SBinetString _strPath;   SBinetNString N_absoluteURL;   SBinetNString N_baseURL;   SBinetNString N_host;   SBinetNString N_strPath;   Protocol _protocol;   int _port; }; #endif

⌨️ 快捷键说明

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