Struct xpcom::interfaces::nsICycleCollectorListener [] [src]

#[repr(C)]
pub struct nsICycleCollectorListener { /* fields omitted */ }

interface nsICycleCollectorListener : nsISupports

/**
 * This interface is used to configure some reporting options for the cycle
 * collector. This interface cannot be implemented by JavaScript code, as it
 * is called while the cycle collector is running.
 *
 * To analyze cycle collection data in JS:
 *
 * - Create an instance of @mozilla.org/cycle-collector-logger;1, which
 *   implements this interface.
 *
 * - Set its |disableLog| property to true. This prevents the logger from
 *   printing messages about each method call to a temporary log file.
 *
 * - Set its |wantAfterProcessing| property to true. This tells the logger
 *   to record calls to its methods in memory. The |processNext| method
 *   returns events from this record.
 *
 * - Perform a collection using the logger. For example, call
 *   |nsIDOMWindowUtils|'s |garbageCollect| method, passing the logger as
 *   the |aListener| argument.
 *
 * - When the collection is complete, loop calling the logger's
 *   |processNext| method, passing a JavaScript object that implements
 *   nsICycleCollectorHandler. This JS code is free to allocate and operate
 *   on objects however it pleases: the cycle collector has finished its
 *   work, and the JS code is simply consuming recorded data.
 */

Methods

impl nsICycleCollectorListener
[src]

[src]

Cast this nsICycleCollectorListener to one of its base interfaces.

impl nsICycleCollectorListener
[src]

[src]

nsICycleCollectorListener allTraces ();

[src]

readonly attribute boolean wantAllTraces;

[src]

attribute boolean disableLog;

[src]

attribute boolean disableLog;

[src]

attribute nsICycleCollectorLogSink logSink;

[src]

attribute nsICycleCollectorLogSink logSink;

[src]

attribute boolean wantAfterProcessing;

[src]

attribute boolean wantAfterProcessing;

[src]

boolean processNext (in nsICycleCollectorHandler aHandler);

Methods from Deref<Target = nsISupports>

[src]

Cast this nsISupports to one of its base interfaces.

[src]

void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);

[src]

[noscript,notxpcom] nsrefcnt AddRef ();

[src]

[noscript,notxpcom] nsrefcnt Release ();

Trait Implementations

impl XpCom for nsICycleCollectorListener
[src]

IID: nsIID = nsID(1882936246, 9462, 16582, [158, 169, 174, 178, 220, 83, 209, 112])

[src]

Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more

impl RefCounted for nsICycleCollectorListener
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsICycleCollectorListener
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.