[scriptable, uuid(05b48344-d0a7-427e-934e-9a6e0d5ecced)]
interface nsIMicrosummaryGenerator : nsISupports


readonly attribute boolean loaded

readonly attribute nsIURI localURI

readonly attribute AUTF8String name

readonly attribute boolean needsPageContent

readonly attribute nsIURI uri


 Calculate the interval until the microsummary should be updated for
 the next time, depending on the page content. If the generator doesn't
 specify an interval, null is returned.

 @param   pageContent
          the content of the page being summarized
 @returns the interval in milliseconds until the next update request

long calculateUpdateInterval(in nsIDOMNode aPageContent)
 microsummary-generator equivalence test
 generators equal if their canonical locations equal, see uri attribute.
boolean equals(in nsIMicrosummaryGenerator aOther)
 Generate a microsummary by processing the generator template
 against the page content.  If a generator doesn't need content,
 pass null as the parameter to this method.

 XXX In the future, this should support returning rich text content,
 so perhaps we should make it return a DOM node now and have the caller
 convert that to text if it doesn't support rich content.

 @param   pageContent
          the content of the page being summarized
 @returns the text result of processing the template

AString generateMicrosummary(in nsIDOMNode aPageContent)