/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIURI;
interface nsIFile;

[scriptable, uuid(6cc7c253-93b6-482b-8e9d-1e04d8e9d655)]
interface nsICacheStorageVisitor : nsISupports
{
  /**
   */
  void onCacheStorageInfo(in uint32_t aEntryCount,
                          in uint64_t aConsumption,
                          in uint64_t aCapacity,
                          in nsIFile aDiskDirectory);

  /**
   */
  void onCacheEntryInfo(in nsIURI aURI,
                        in ACString aIdEnhance,
                        in int64_t aDataSize,
                        in long aFetchCount,
                        in uint32_t aLastModifiedTime,
                        in uint32_t aExpirationTime,
                        in boolean aPinned);

  /**
   */
  void onCacheEntryVisitCompleted();
};