DXR will be turned off on Tuesday, December 29th. It will redirect to Searchfox.
See the announcement on Discourse.

DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * 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"

/* XXX we should define device and entry info as well (stats, etc) */

interface nsICacheDeviceInfo;
interface nsICacheDeviceInfo;
interface nsICacheEntryInfo;


[scriptable, uuid(f8c08c4b-d778-49d1-a59b-866fdc500d95)]
interface nsICacheVisitor : nsISupports
{
    /**
    /**
     * Called to provide information about a cache device.
     *
     * @param deviceID - specifies the device being visited.
     * @param deviceInfo - specifies information about this device.
     *
     *
     * @return true to start visiting all entries for this device.
     * @return false to advance to the next device.
     */
    boolean visitDevice(in string               deviceID,
                        in nsICacheDeviceInfo   deviceInfo);
                        in nsICacheDeviceInfo   deviceInfo);

    /**
     * Called to provide information about a cache entry.
     *
     * @param deviceID - specifies the device being visited.
     * @param deviceID - specifies the device being visited.
     * @param entryInfo - specifies information about this entry.
     *
     * @return true to visit the next entry on the current device, or if the
     *   end of the device has been reached, advance to the next device.
     * @return false to advance to the next device.
     * @return false to advance to the next device.
     */
    boolean visitEntry(in string                deviceID,
                       in nsICacheEntryInfo     entryInfo);
};



[scriptable, uuid(31d1c294-1dd2-11b2-be3a-c79230dca297)]
interface nsICacheDeviceInfo : nsISupports
{
    /**
    /**
     * Get a human readable description of the cache device.
     */
    readonly attribute ACString  description;


    /**
     * Get a usage report, statistics, miscellaneous data about
     * the cache device.
     */
    readonly attribute ACString  usageReport;
    readonly attribute ACString  usageReport;

    /**
     * Get the number of stored cache entries.
     */
    readonly attribute unsigned long  entryCount;
    readonly attribute unsigned long  entryCount;

    /**
     * Get the total size of the stored cache entries.
     */
    readonly attribute unsigned long  totalSize;


    /**
     * Get the upper limit of the size of the data the cache can store.
     */
    readonly attribute unsigned long  maximumSize;
};
};


[scriptable, uuid(fab51c92-95c3-4468-b317-7de4d7588254)]
interface nsICacheEntryInfo : nsISupports
{
{
    /**
     * Get the client id associated with this cache entry.
     */
    readonly attribute ACString clientID;

    /**
     * Get the id for the device that stores this cache entry.
     */
    readonly attribute ACString deviceID;


    /**
     * Get the key identifying the cache entry.
     */
    readonly attribute ACString key;


    /**
     * Get the number of times the cache entry has been opened.
     */
    readonly attribute long  fetchCount;


    /**
     * Get the last time the cache entry was opened (in seconds since the Epoch).
     */
     */
    readonly attribute uint32_t  lastFetched;

    /**
     * Get the last time the cache entry was modified (in seconds since the Epoch).
     */
     */
    readonly attribute uint32_t  lastModified;

    /**
     * Get the expiration time of the cache entry (in seconds since the Epoch).
     * Get the expiration time of the cache entry (in seconds since the Epoch).
     */
    readonly attribute uint32_t  expirationTime;

    /**
     * Get the cache entry data size.
     * Get the cache entry data size.
     */
    readonly attribute unsigned long  dataSize;

    /**
     * Find out whether or not the cache entry is stream based.
     * Find out whether or not the cache entry is stream based.
     */
    boolean  isStreamBased();
};