|  | Home · All Classes · Modules

# QAbstractNetworkCache Class Reference
[QtNetwork module]

The QAbstractNetworkCache class provides the interface for cache implementations. More...

Inherits QObject.

Inherited by QNetworkDiskCache.

### Methods

- __init__ (self, QObject parent = None)
- long cacheSize (self)
- clear (self)
- QIODevice data (self, QUrl url)
- insert (self, QIODevice device)
- QNetworkCacheMetaData metaData (self, QUrl url)
- QIODevice prepare (self, QNetworkCacheMetaData metaData)
- bool remove (self, QUrl url)
- updateMetaData (self, QNetworkCacheMetaData metaData)

## Detailed Description

The QAbstractNetworkCache class provides the interface for cache implementations.

QAbstractNetworkCache is the base class for every standard cache that is used be QNetworkAccessManager. QAbstractNetworkCache is an abstract class and cannot be instantiated.

See also QNetworkDiskCache.

## Method Documentation

### QAbstractNetworkCache.__init__ (self, QObject parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs an abstract network cache with the given parent.

### long QAbstractNetworkCache.cacheSize (self)

This method is abstract and should be reimplemented in any sub-class.

Returns the current size taken up by the cache. Depending upon the cache implementation this might be disk or memory size.

In the base class this is a pure virtual function.

See also clear().

### QAbstractNetworkCache.clear (self)

This method is also a Qt slot with the C++ signature `void clear()`.

This method is abstract and should be reimplemented in any sub-class.

Removes all items from the cache. Unless there was failures clearing the cache cacheSize() should return 0 after a call to clear.

In the base class this is a pure virtual function.

See also cacheSize() and remove().

### QIODevice QAbstractNetworkCache.data (self, QUrl url)

This method is abstract and should be reimplemented in any sub-class.

Returns the data associated with url.

It is up to the application that requests the data to delete the QIODevice when done with it.

If there is no cache for url, the url is invalid, or if there is an internal cache error 0 is returned.

In the base class this is a pure virtual function.

See also metaData() and prepare().

### QAbstractNetworkCache.insert (self, QIODevice device)

This method is abstract and should be reimplemented in any sub-class.

Inserts the data in device and the prepared meta data into the cache. After this function is called the data and meta data should be retrievable using data() and metaData().

To cancel a prepared inserted call remove() on the metadata's url.

In the base class this is a pure virtual function.

See also prepare() and remove().

### QNetworkCacheMetaData QAbstractNetworkCache.metaData (self, QUrl url)

This method is abstract and should be reimplemented in any sub-class.

Returns the meta data for the url url.

If the url is valid and the cache contains the data for url, a valid QNetworkCacheMetaData is returned.

In the base class this is a pure virtual function.

See also updateMetaData() and data().

### QIODevice QAbstractNetworkCache.prepare (self, QNetworkCacheMetaData metaData)

This method is abstract and should be reimplemented in any sub-class.

Returns the device that should be populated with the data for the cache item metaData. When all of the data has been written insert() should be called. If metaData is invalid or the url in the metadata is invalid 0 is returned.

The cache owns the device and will take care of deleting it when it is inserted or removed.

To cancel a prepared inserted call remove() on the metadata's url.

In the base class this is a pure virtual function.

See also remove(), updateMetaData(), and insert().

### bool QAbstractNetworkCache.remove (self, QUrl url)

This method is abstract and should be reimplemented in any sub-class.

Removes the cache entry for url, returning true if success otherwise false.

In the base class this is a pure virtual function.

See also clear() and prepare().

### QAbstractNetworkCache.updateMetaData (self, QNetworkCacheMetaData metaData)

This method is abstract and should be reimplemented in any sub-class.

Updates the cache meta date for the metaData's url to metaData

If the cache does not contains a cache item for the url then no action is taken.

In the base class this is a pure virtual function.

See also metaData() and prepare().