Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

VXIinet.h File Reference

#include "VXIvalue.h"
#include "VXIheaderPrefix.h"
#include "VXIheaderSuffix.h"

VXIinet argument properties

Keys identifying properties in VXIMap for Prefetch( ) and Open( ): VXIinet functions take a VXIMap argument which contains a set of key/value pairs. The listed arguments must be supported by an implementation. Additional arguments can be added to this argument in other implementations. Time durations are specified in milliseconds, see below for valid values for the enumerated type properties.

#define INET_CACHE_CONTROL_MAX_AGE   L"inet.maxage"
 Value for the HTTP 1.1 Cache-Control max-age directive for requests.
#define INET_CACHE_CONTROL_MAX_STALE   L"inet.maxstale"
 Value for the HTTP 1.1 Cache-Control max-stale directive for requests.
#define INET_CACHING   L"inet.caching"
 Type of caching to apply: safe or fast.
#define INET_OPEN_IF_MODIFIED   L"inet.openIfModified"
 Conditional open, used for cases where a cache outside of VXIinet is being maintained and the desired object is already present in that cache, but the user needs to verify whether that cached object is valid for reuse or not.
#define INET_OPEN_LOCAL_FILE   L"inet.openLocalFile"
 Whether to open local files normally or to return a VXIinet_RESULT_LOCAL_FILE error while still returning the stream information if requested.
#define INET_PREFETCH_PRIORITY   L"inet.prefetchPriority"
 Prefetch priority.
#define INET_SUBMIT_METHOD   L"inet.submitMethod"
 Submit method: GET or POST.
#define INET_SUBMIT_MIME_TYPE   L"inet.submitMimeType"
 Submit MIME type.
#define INET_TIMEOUT_OPEN   L"inet.timeoutOpen"
 Open timeout.
#define INET_TIMEOUT_IO   L"inet.timeoutIO"
 Read timeout.
#define INET_TIMEOUT_DOWNLOAD   L"inet.timeoutDownload"
 Total download timeout.
#define INET_URL_BASE   L"inet.urlBase"
 URL base for resolving relative URLs.
#define INET_URL_QUERY_ARGS   L"inet.urlQueryArgs"
 URL Query Arguments.
#define INET_CLOSE_CONNECTION   L"inet.closeConnection"
 This property specifies whether the connection should be closed after the fetch is completed.
#define INET_NEW_CONNECTION   L"inet.newConnection"
 This property specifies whether a new connection should be established regardless of the state of a previously established connection.

VXIinet caching property values

Set of defined caching property values that are used to control when to retrieve information from the cache versus when to do a fetch.

#define INET_CACHING_SAFE   L"safe"
 Safe caching, follows VoiceXML 1 safe fetchhint property.
#define INET_CACHING_FAST   L"fast"
 Fast caching, follows VoiceXML 1 fast fetchhint property.

INET_SUBMIT_METHOD supported property values

Full HTTP 1.1 support could be added to this interface. The current interface only supports the two methods commonly used for sending data back to a web server GET and POST.

#define INET_SUBMIT_METHOD_GET   L"GET"
 HTTP GET.
#define INET_SUBMIT_METHOD_POST   L"POST"
 HTTP POST.

VXIinet property defaults

Default values for properties in the VXIMap argument for Prefetch() and Open(). If the properties are not set in the call to these function the given default value will be assumed.

#define INET_CACHE_CONTROL_MAX_AGE_DEFAULT   NULL
 Cache Control max-age Default - NULL not present by default.
#define INET_CACHE_CONTROL_MAX_STALE_DEFAULT   0
 Cache Control max-stale Default - 0, do not use expired entries.
#define INET_CACHING_DEFAULT   INET_CACHING_FAST
 Caching Default - INET_CACHING_FAST.
#define INET_OPEN_IF_MODIFIED_DEFAULT   NULL
 Open If Modified Default - NULL not present by default.
#define INET_OPEN_LOCAL_FILE_DEFAULT   TRUE
 Open Local File Default - TRUE.
#define INET_PREFETCH_PRIORITY_DEFAULT   INET_PREFETCH_PRIORITY_LOW
 Prefetch priority default - INET_PREFETCH_PRIORITY_LOW.
#define INET_SUBMIT_METHOD_DEFAULT   INET_SUBMIT_METHOD_GET
 Submit method default - INET_SUBMIT_METHOD_GET.
#define INET_SUBMIT_MIME_TYPE_DEFAULT   L"application/x-www-form-urlencoded"
 Submit MIME type default - "application/x-www-form-urlencoded".
#define INET_TIMEOUT_OPEN_DEFAULT   30000
 Open timeout default - 30000 (30 seconds).
#define INET_TIMEOUT_IO_DEFAULT   30000
 Read timeout default - 30000 (30 seconds).
#define INET_TIMEOUT_DOWNLOAD_DEFAULT   30000
 Total download timeout default - 30000 (30 seconds).
#define INET_URL_BASE_DEFAULT   L""
 URL base default - "" (no base).
#define INET_URL_QUERY_ARGS_DEFAULT   NULL
 URL query arguments default - NULL not present by default.

Open flags

Flags for Open( ), may be combined through bitwise or. The Open() call takes a bitwise or of open flags which control the behavior of the returned stream.

#define INET_FLAG_NULL   0x0
 Null flag.
#define INET_FLAG_NONBLOCKING_IO   0x8
 Non-blocking reads/writes.

Open return properties

Keys identifying properties in VXIMap used to return stream information for Open( ). The VXIinet implementation determines information about the file or URI when it opens the URI. These are returned as key/value pairs through a VXIMap. Some values are not guaranteed to be returned after an open, see below.

#define INET_INFO_ABSOLUTE_NAME   L"inet.info.absoluteName"
 Absolute Name, always returned.
#define INET_INFO_MIME_TYPE   L"inet.info.mimeType"
 MIME type, always returned.
#define INET_INFO_SIZE_BYTES   L"inet.info.sizeBytes"
 Size in bytes, always returned.
#define INET_INFO_VALIDATOR   L"inet.info.validator"
 Validator, always returned on a successful Open( ) or when INET_OPEN_IF_MODIFIED was specified and VXIinet_RESULT_NOT_MODIFIED was returned.
#define INET_INFO_HTTP_STATUS   L"inet.info.httpStatus"
 HTTP status code, always returned for successful HTTP Open( ) operations, or HTTP Open( ) operations that fail due to the remote web server returning a HTTP failure code in the HTTP response.
#define INET_INFO_VALIDATOR_STRONG   L"inet.info.validatorStrong"
 INET_INFO_VALIDATOR_STRONG.
#define INET_INFO_EXPIRES_HINT   L"inet.info.expiresHint"
 Expires hint.
#define INET_INFO_DATA_SOURCE   L"inet.info.dataSource"
 an enum of type VXIinetDataSource (see above) in the Inet streamInfo map to indicate the data source: from a local file, from the fetch cache, from the fetch cache but had to revalidate with the web server, or from a full Internet fetch.

INET_COOKIE

Cookie jars are represented by a VXIVector. Each element of the vector is a VXIMap that represents a cookie. The cookie VXIMap will contain zero or more properties, each of which represent properties of the cookie.

The properties of the cookie VXIMap match the cookie attribute names as defined in RFC 2965. The only exceptions are as follows:

  • INET_COOKIE_NAME, name of the cookie as defined in RFC 2965
  • INET_COOKIE_VALUE, value of the cookie as defined in RFC 2965
  • INET_COOKIE_EXPIRES, expiration time for the cookie as calculated off the MaxAge parameter defined in RFC 2965 when the cookie is accepted
  • RFC 2965 Discard attribute: will never be returned in the VXIMap, cookies with this flag set will never be returned by GetCookieJar( )


#define INET_COOKIE_NAME   L"inet.cookie.NAME"
 Cookie name.
#define INET_COOKIE_VALUE   L"inet.cookie.VALUE"
 Cookie value key.
#define INET_COOKIE_EXPIRES   L"inet.cookie.EXPIRES"
 Cookie expires key, calculated off the Max-Age property for the cookie.
#define INET_COOKIE_COMMENT   L"inet.cookie.Comment"
 Cookie comment, optional.
#define INET_COOKIE_COMMENT_URL   L"inet.cookie.CommentURL"
 Cookie comment URL, optional.
#define INET_COOKIE_DOMAIN   L"inet.cookie.Domain"
 Cookie domain key.
#define INET_COOKIE_PATH   L"inet.cookie.Path"
 Cookie path key.
#define INET_COOKIE_PORT   L"inet.cookie.Port"
 Cookie port key, optional.
#define INET_COOKIE_SECURE   L"inet.cookie.Secure"
 Cookie secure key, optional.
#define INET_COOKIE_VERSION   L"inet.cookie.Version"
 Cookie standard version.

Defines

#define VXIINET_API   SYMBOL_IMPORT_DECL

Typedefs

typedef enum VXIinetPrefetchPriority VXIinetPrefetchPriority
 INET_PREFETCH_PRIORITY property values.
typedef enum VXIinetDataSource VXIinetDataSource
 Data source values.
typedef enum VXIinetOpenMode VXIinetOpenMode
 Mode values for Open( ).
typedef enum VXIinetResult VXIinetResult
typedef VXIinetInterface VXIinetInterface
 Abstract interface for accessing Internet functionality including HTTP requests, local file access, URL caching, and cookie access.

Enumerations

enum  VXIinetPrefetchPriority { INET_PREFETCH_PRIORITY_CRITICAL = 40, INET_PREFETCH_PRIORITY_HIGH = 30, INET_PREFETCH_PRIORITY_MEDIUM = 20, INET_PREFETCH_PRIORITY_LOW = 10 }
 INET_PREFETCH_PRIORITY property values. More...
enum  VXIinetDataSource {
  INET_DATA_SOURCE_FILE = 0x0, INET_DATA_SOURCE_HTTP = 0x1, INET_DATA_SOURCE_FTP = 0x2, INET_DATA_SOURCE_CACHE = 0x3,
  INET_DATA_SOURCE_VALIDATED = 0x4
}
 Data source values. More...
enum  VXIinetOpenMode { INET_MODE_READ = 0x0, INET_MODE_WRITE = 0x1 }
 Mode values for Open( ). More...
enum  VXIinetResult {
  VXIinet_RESULT_FATAL_ERROR = -100, VXIinet_RESULT_IO_ERROR = -8, VXIinet_RESULT_OUT_OF_MEMORY = -7, VXIinet_RESULT_SYSTEM_ERROR = -6,
  VXIinet_RESULT_PLATFORM_ERROR = -5, VXIinet_RESULT_BUFFER_TOO_SMALL = -4, VXIinet_RESULT_INVALID_PROP_NAME = -3, VXIinet_RESULT_INVALID_PROP_VALUE = -2,
  VXIinet_RESULT_INVALID_ARGUMENT = -1, VXIinet_RESULT_SUCCESS = 0, VXIinet_RESULT_FAILURE = 1, VXIinet_RESULT_NON_FATAL_ERROR = 2,
  VXIinet_RESULT_NOT_FOUND = 50, VXIinet_RESULT_FETCH_TIMEOUT = 51, VXIinet_RESULT_FETCH_ERROR = 52, VXIinet_RESULT_WOULD_BLOCK = 53,
  VXIinet_RESULT_END_OF_STREAM = 54, VXIinet_RESULT_LOCAL_FILE = 55, VXIinet_RESULT_NOT_MODIFIED = 57, VXIinet_RESULT_UNSUPPORTED = 100
}


Define Documentation

#define VXIINET_API   SYMBOL_IMPORT_DECL
 


Generated on Wed Jun 1 12:50:19 2005 for OpenVXI by  doxygen 1.4.2