| Automatic variable substitution. Name/value pairs are automatically inserted into <INPUT> tags by name during output. This makes is a snap to create multi-page forms pre-populated with data from other pages.
Broader support for more web servers. html++ now features a htmlServer base class defining a common interface for interacting with a web server, from which subclasses are derived for specific types of servers. htmlServer expands upon the functionality in previous versions of htmlCgi in that it also provides hooks for sending output to the server rather just through stdout. The htmlCgi and htmlISAPI classes are derived from htmlServer. Future releases will support NSAPI and WAI via similar derived classes.
Page output is now directed to a htmlServer-derived object (e.g., htmlCgi or htmlISAPI) instead of cout. Outputting directly to cout still works if using CGI.
Integrated support for interfacing with ISAPI servers (such as Microsoft IIS) via the new htmlISAPI class. Users can now pass an ISAPI EXTENSION_CONTROL_BLOCK structure directly to html++, and feed html++ objects directly to the server.
New support for automatic encryption and decryption of hidden fields and URL-encoded data. Any Coder-derived class (such as ScrambleCoder or a user-defined class) specified as an htmlServer constructor argument or via the htmlServer::Crypt() method can be used. The NullCoder class is used by default so that data is not encrypted unless enabled by the application.
Added new Coder abstract base class defining a common interface for creating classes that encode and encrypt data. User-defined algorithms can be created by overriding simple methods (e.g., Encode and Decode).
Added NullCoder class for standard pass-through of data.
Added XorCoder class utilizing simple but effective "exclusive-or" technique of encryption.
Added ScrambleCoder class using highly-secure (non-DES) password-based encryption.
Added UrlCoder class for generating/decoding URL-encoded data strings (used internally by the htmlServer::Encode() and htmlServer::Decode() routines). This class is also useful for encoding data containing nulls and other non-printable characters as strings.
Cookie support has been moved from the htmlPage class to the htmlServer base class to facilitate consistent operation with htmlCgi and htmlISAPI.
The htmlServer::GetEnv() and htmlServer::LoadEnvironment() methods are now virtual.
New class hierarchy chart in the Class Reference Guide.
|