Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  nsINestedURI.idl   Sprache: unbekannt

 
/* -*- Mode: C++; tab-width: 2; 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"

interface nsIURI;

/**
 * nsINestedURI is an interface that must be implemented by any nsIURI
 * implementation which has an "inner" URI that it actually gets data
 * from.
 *
 * For example, if URIs for the scheme "sanitize" have the structure:
 *
 *   sanitize:http://example.com
 *
 * and opening a channel on such a sanitize: URI gets the data from
 * http://example.com, sanitizes it, and returns it, then the sanitize: URI
 * should implement nsINestedURI and return the http://example.com URI as its
 * inner URI.
 */
[scriptable, builtinclass, uuid(6de2c874-796c-46bf-b57f-0d7bd7d6cab0)]
interface nsINestedURI : nsISupports
{
  /**
   * The inner URI for this nested URI.  This must not return null if the
   * getter succeeds; URIs that have no inner must not QI to this interface.
   * Dynamically changing whether there is an inner URI is not allowed.
   *
   * Modifying the returned URI must not in any way modify the nested URI; this
   * means the returned URI must be either immutable or a clone.
   */
  readonly attribute nsIURI innerURI;

  /**
   * The innermost URI for this nested URI.  This must not return null if the
   * getter succeeds.  This is equivalent to repeatedly calling innerURI while
   * the returned URI QIs to nsINestedURI.
   *
   * Modifying the returned URI must not in any way modify the nested URI; this
   * means the returned URI must be either immutable or a clone.
   */
  readonly attribute nsIURI innermostURI;
};

[scriptable, builtinclass, uuid(ca3d6c03-4eee-4271-a97a-d16c0a0b2c5c)]
interface nsINestedURIMutator : nsISupports
{
  /*
   *  - Creates a new URI with the given innerURI.
   */
  [must_use, noscript] void init(in nsIURI innerURI);
};

[scriptable, builtinclass, uuid(c6357a3b-c2bb-4b4b-9278-513377398a38)]
interface nsINestedAboutURIMutator : nsISupports
{
  /*
   *  - Creates a new URI with the given innerURI and base.
   */
  [must_use, noscript] void initWithBase(in nsIURI innerURI, in nsIURI baseURI);
};

[scriptable, builtinclass, uuid(3bd44535-08ea-478f-99b9-85fa1084e820)]
interface nsIJSURIMutator : nsISupports
{
  /*
   *  - Inits the URI by setting the base URI
   *  - It is the caller's responsibility to also call SetSpec afterwards,
   *    otherwise we will return an incomplete URI (with only a base)
   */
  [must_use, noscript] void setBase(in nsIURI aBaseURI);
};

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge