This is a class to manage large table updates from the server.  Rather than
 downloading the whole update and then updating the sqlite database, we
 update tables as the data is streaming in.
[scriptable, uuid(daf3038a-556c-47d3-a3d2-36caa9a762a0)]
interface nsIUrlClassifierStreamUpdater : nsISupports

Attributes

 The Url to download from.  Should be plain ascii text.
attribute ACString updateUrl

Methods

 Try to download updates from updateUrl.  Only one instance of this
 runs at a time, so we return false if another instance is already
 running.
 @param aRequestTables Comma-separated list of tables included in this
        update.
 @param aRequestBody The body for the request.
 @param aClientKey The client key for checking the update's MAC.
 @param aSuccessCallback Called after a successful update.
 @param aUpdateErrorCallback Called for problems applying the update
 @param aDownloadErrorCallback Called if we get an http error or a
        connection refused error.
boolean downloadUpdates(in ACString aRequestTables, in ACString aRequestBody, in ACString aClientKey, in nsIUrlClassifierCallback aSuccessCallback, in nsIUrlClassifierCallback aUpdateErrorCallback, in nsIUrlClassifierCallback aDownloadErrorCallback)