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

📄 sbinet.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 _SBINET_H #define _SBINET_H  #include "VXIinet.h"                   /* For VXIinet base interface */ #include "VXIlog.h"                    /* For VXIlog interface */ #include "VXIcache.h"                  /* For VXIcache interface */  #include "VXIheaderPrefix.h" #ifdef SBINET_EXPORTS #define SBINET_API SYMBOL_EXPORT_DECL #else #define SBINET_API SYMBOL_IMPORT_DECL #endif #ifdef __cplusplus extern "C" { #endif  /**  * @name SBinet  * @memo SBinet implementation of VXIinet  * @doc  * SBinet interface, and implementation of the VXIinet abstract  * interface for Internet functionality including HTTP requests, local  * file access, URL caching, memory buffer caching, and cookie  * access. <p>  *  * The interface is a synchronous interface based on the ANSI/ISO C  * standard file I/O interface, the only exception is that pre-fetches are  * asynchronous. The client of the interface may use this in an  * asynchronous manner by using non-blocking I/O operations, creating  * threads, or by invoking this from a separate server process. <p>  *  * This implementation currently does NOT support INET_MODE_WRITE for  * http:// access (HTTP PUT), and only supports http://, file://, and  * OS dependant paths.  *  * There is one Internet interface per thread/line.  */    /*@{*/  /**  * Default value for the User Agent Name parameter of SBinetInit()  */ #define SBINET_USER_AGENT_NAME_DEFAULT \               L"OpenVXITestApp/" VXI_CURRENT_VERSION_STR   /**  * Global platform initialization of SBinet  *  * @param log              VXI Logging interface used for error/diagnostic  *                         logging, only used for the duration of this  *                         function call  * @param reserved1        Reserved for future use  * @param reserved2        Reserved for future use  * @param reserved3        Reserved for future use  * @param reserved4        Reserved for future use  * @param proxyServer      Name of the proxy server to use for HTTP access,  *                         pass a server name or IP address, or NULL to  *                         do direct HTTP access.  * @param proxyPort        Port number for accessing the proxy server.  * @param userAgentName    HTTP user agent name sent in all HTTP messages.  *                         Must be of the form <app>/<version> with no  *                         spaces, such as "OpenVXI/1.0". When using the  *                         OpenVXI application name or a derrivative, use  *                         use VXI_CURRENT_VERSION_STR for the version.  * @param extensionRules   Rules for mapping file extensions to MIME content  *                         types, used for that purpose when accessing  *                         local files and file:// URLs. Each key in the  *                         map must be an extension (period followed by the  *                         extension such as ".txt") with the value being  *                         the MIME content type for that extension.  Copied  *                         internally so the pointer that is passed in still  *                         belongs to the caller.  * @param reserved         Reserved VXIVector, pass NULL  *  * @result VXIinet_RESULT_SUCCESS on success  */ SBINET_API VXIinetResult SBinetInit (VXIlogInterface  *log, 				     const VXIunsigned diagLogBase, 				     const VXIchar    *reserved1, 				     const VXIint      reserved2, 				     const VXIint      reserved3, 				     const VXIint      reserved4, 				     const VXIchar    *proxyServer, 				     const VXIulong    proxyPort, 				     const VXIchar    *userAgentName, 				     const VXIMap     *extensionRules, 				     const VXIVector  *reserved);   /*  Properties used in the VXIMap configParams arguments to SBinetInitEx. */    /* Rules for mapping file extensions to MIME content types, used for that    * purpose when accessing local files and file:// URLs. The associated value    * is a VXIMap whose keys must be an extension (period followed by the    * extension such as ".txt") with the value being the MIME content type for    * that extension.    */ #define SBINET_EXTENSION_RULES       L"com.speechworks.inet.extension.rules"    /* Rules for determining the proxy to use for given domains.  The associated    * value is a VXIVector whose entries are VXIString representing a key-value    * pair delimited by a vertical bar ('|') the key (left of the vertical bar)    * represents partial URLs to which a proxy applies, and the value is of the    * form of proxy:port representing the proxy/port combination to be used for    * the corresponding domain.  The partial URLs are of the form domain/path    * where the left of the slash ('/') represents a domain (and must start    * with a dot '.' or be empty) and the part after the slash represents paths    * on this domain.  If the slash is omitted, then all paths in this domain    * apply.  Each entry are verified for a match in the order in which they    * appear in the VXIVector.  Also, if nothing is specified in the proxy    * field (after the vertical bar), it means that no proxy is used     An entry matches a URL if its domain is a suffix of the URL's domain and    its path is a prefix of the URL's path.      For Example:  Assuming the following vector    1)   ".speechworks.com/specialPath | proxy1:port1"    2)   ".speechworks.com             |"    3)   ".com                         | proxy1:port1"    4)   "                             | proxy2:port2"      The following URL would use the following proxy.     www.speechworks.com                           -> no proxy (rule 2)    www.speechworks.com/specialPath/index.html    -> proxy1:port1 (rule1)    www.foo.bar.com                               -> proxy1:port1 (rule3)    www.mit.edu                                   -> proxy2:port2 (rule4)     Also note that if order of rule-1 and rule-2 were reversed, than the    ".speechworks.com/specialPath" rule would never be triggered as it is more    specific than the ".speechworks.com" rule.    */ #define SBINET_PROXY_RULES           L"com.speechworks.inet.proxy.rules"    /* Default timeout for fetching a page when not explicitely specified    * through the INET_TIMEOUT_DOWNLOAD property in the properties VXIMap    * argument of the VXIinterface::Open() function.  This value must be a    * VXIInteger and the units are expressed in milliseconds.  If not    * specified, the default timeout used is 60000 (1 minute).    */ #define SBINET_PAGE_LOADING_TIMEOUT  L"com.speechworks.inet.pageLoadingTimeout"    /* Default value for SBINET_PAGE_LOADING_TIMEOUT */ #define SBINET_PAGE_LOADING_TIMEOUT_DEFAULT  60000    /* Properties used to estimate the cache lifetime of URIs that only have the    * Last-Modified header defined.    *    * SBINET_FRESHNESS_FRACTION must be a VXIFloat between 0 and 1.    *    * SBINET_FRESHNESS_LIFETIME must be a VXIInteger whose units are in    * milliseconds.    *    * The freshness lifetime of an HTTP document having only Last-Modified    * information is computed as the minimum between the amount of time since    * the last modification multiplied by SBINET_FRESHNESS_FRACTION and    * SBINET_FRESHNESS_LIFETIME.    *    *    * freshness = MIN((now - lastMod) * SBINET_FRESHNESS_FRACTION,    *                 SBINET_FRESHNESS_LIFETIME)    *    * Default values are 0.1 for SBINET_FRESHNESS_FRACTION and 86400 (24 hours)    * for SBINET_FRESHNESS_LIFETIME.    */ #define SBINET_FRESHNESS_FRACTION    L"com.speechworks.inet.freshnessFraction" #define SBINET_FRESHNESS_LIFETIME    L"com.speechworks.inet.freshnessLifetime"    /* Default value for SBINET_FRESHNESS_FRACTION */ #define SBINET_FRESHNESS_FRACTION_DEFAULT 0.1    /* Default value for SBINET_FRESHNESS_LIFETIME */ #define SBINET_FRESHNESS_LIFETIME_DEFAULT 86400    /* If returned paged from web server do not contain any caching information    * nor any Last-Modified header, this is the amount of time (number of    * seconds) that the page will be considered fresh before a new HTTP request    * is performed for this page.  This value must be a VXIInteger and defaults    * to 0 (immediate expiration) if not specified.    */ #define SBINET_MAX_LIFETIME          L"com.speechworks.inet.maxLifetime"    /* Default value for SBINET_MAX_LIFETIME */ #define SBINET_MAX_LIFETIME_DEFAULT 0    /* Number of milliseconds that a POST-request should wait for a response.    * This value must be a VXIInteger.  Default value is 5000 (5 seconds).    */ #define SBINET_POST_CONTINUE_TIMEOUT L"com.speechworks.inet.postContinueTimeout"    /* Default value for SBINET_POST_CONTINUE_TIMEOUT */ #define SBINET_POST_CONTINUE_TIMEOUT_DEFAULT  5000    /* Property specifiying tsent in all HTTP messages.  If specified, it must    * be a VXIString of the form <app>/<version> with no spaces, such as    * "OpenVXI/1.0". When using the OpenVXI application name or a derivative,    * use use VXI_CURRENT_VERSION_STR for the version.  Default value is    * specified by SBINET_USER_AGENT_NAME_DEFAULT.    */ #define SBINET_USER_AGENT_NAME L"com.speechworks.inet.userAgentName"    /*    * Properties allowing to disable persistent connections.  If this property    * is specified and is a VXIInteger with a value of 0, then a new connection    * is established, by default, for each HTTP request.  If this property is    * not specified or is not a VXIInteger with a value of 0, then persistent    * connections are enabled.  This property is overridden by the    * INET_CLOSE_CONNECTION and the INET_NEW_CONNECTION properties that can    * be passed to the Open() method of the VXIinet interface.    */ #define SBINET_PERSISTENT_CONNECTIONS L"com.speechworks.inet.usePersistentConnections"    /* Default MIME type returned when it was not possible to determine the    * MIME type of a file URI from its extension or when an HTTP server    * does not return MIME type information.    */ #define SBINET_DEFAULT_MIME_TYPE L"com.speechworks.inet.defaultMimeType"  /**  * Global platform initialization (extended version) of SBinet.  *  * @param log              VXI Logging interface used for error/diagnostic  *                         logging, only used for the duration of this  *                         function call  * @param diagLogBase      VXI Diagnostic Logging Base tag.  * @param configParams     Map containing configuration parameters used to  *                         initialize SBinet.  These parameters are the  *                         properties defined above.  Once the function returns,  *                         this Map can safely be destroyed as it is the  *                         responsibility of SBinet to copy any data  *                         it might require after initialization.  *  * @result VXIinet_RESULT_SUCCESS on success  */ SBINET_API VXIinetResult SBinetInitEx(VXIlogInterface  *log,                                       const VXIunsigned diagLogBase,                                       const VXIMap     *configParams);  /**  * Global platform shutdown of SBinet  *  * @param log    VXI Logging interface used for error/diagnostic logging,  *               only used for the duration of this function call  *  * @result VXIinet_RESULT_SUCCESS on success  */ SBINET_API VXIinetResult SBinetShutDown (VXIlogInterface  *log);  /**  * Create a new inet service handle  *  * @param log     VXI Logging interface used for error/diagnostic  *                logging, must remain a valid pointer throughout the  *                lifetime of the resource (until SBinetDestroyResource( )  *                is called)  * @param cache   VXI Cache interface used for HTTP document caching,  *                must remain a valid pointer throughout the lifetime of  *                the resource (until SBinetDestroyResource( ) is called)  *  * @result VXIinet_RESULT_SUCCESS on success  */ SBINET_API VXIinetResult SBinetCreateResource (VXIlogInterface     *log, 				    VXIcacheInterface   *cache,                                     VXIinetInterface   **inet);  /**  * Destroy the interface and free internal resources. Once this is  *  called, the logging interface passed to SBinetCreateResource( )  *  may be released as well.  *  * @result VXIinet_RESULT_SUCCESS on success  */ SBINET_API VXIinetResult SBinetDestroyResource (VXIinetInterface **inet);    /*@}*/  #ifdef __cplusplus } #endif  #include "VXIheaderSuffix.h"  #endif  /* include guard */

⌨️ 快捷键说明

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