# Using the W3C Sample Code Library

This guide describes the "user's view" of the W3C Sample Code Library. It concentrates on describing the API and how the application programmer can use the Library. It also describes who is responsible for memory management, how to initialize modules etc. Reading this guide should be sufficient in order to use the Library without being aware of exactly what is going on underneath the interface.

## Getting Started

Get an introduction to how to get started writing the first application using libwww. You may also want to have a look at the quick overview if this is all you are interested in.

## The Core

The libwww core is the set of modules that must be included in every application. It is a registry for handling protocol access, document parsers which all are registerered dynamically using an open set of application modules.

- The Request Class
- Request Preferences
- The Anchor Class
- The Link Class
- The Response Class
- BEFORE and AFTER Filters
- The Stream Class
- The Host Class
- The Transport Class
- The Protocol Class
- Bindings to the local File system
- Protocol Headers and Extensions
- The Error Class
- User Dialogs and Progress Notifications
- The Event Manager
- Basic Timers

## Application Modules and Filters

In the libwww distribution file you will find many modules that actually does much more than libwww core itself. The application can register the precise set of modules that provides the desired functionality. This section discusses the application modules and what functionality they provide.

- Application Profiles
- The Persistent Cache Manager
- Proxy Server and Gateway Filter
- Rule File Filter and Rule File Syntax
- Request Log Filter
- History List Manager
- HTML Parser Stream

## Utility Modules

The Library contains a set of basic utility modules which are used throughour all the Library code. The APIs defined by the WWWUtil interface provides basic memory management and container modules. You can see a list of the utility modules in the Library Internals

- Dynamic Memory Management
- Trace Messages and Preprocessor Defines