2002-03-06 10:48:55 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-05-21 15:12:37 +04:00
|
|
|
/* 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/. */
|
2002-03-06 10:48:55 +03:00
|
|
|
|
|
|
|
#include "nsIURL.idl"
|
|
|
|
|
|
|
|
interface nsIFile;
|
2018-02-01 00:40:45 +03:00
|
|
|
interface nsIURIMutator;
|
2002-03-06 10:48:55 +03:00
|
|
|
|
|
|
|
/**
|
2002-10-06 06:20:35 +04:00
|
|
|
* nsIFileURL provides access to the underlying nsIFile object corresponding to
|
|
|
|
* an URL. The URL scheme need not be file:, since other local protocols may
|
|
|
|
* map URLs to files (e.g., resource:).
|
2002-03-06 10:48:55 +03:00
|
|
|
*/
|
2017-11-15 15:34:23 +03:00
|
|
|
[scriptable, builtinclass, uuid(e91ac988-27c2-448b-b1a1-3822e1ef1987)]
|
2002-03-06 10:48:55 +03:00
|
|
|
interface nsIFileURL : nsIURL
|
|
|
|
{
|
|
|
|
/**
|
2018-02-27 18:14:15 +03:00
|
|
|
* Get/Set nsIFile corresponding to this URL.
|
2002-10-06 06:20:35 +04:00
|
|
|
*
|
2018-02-27 18:14:15 +03:00
|
|
|
* - Getter returns a reference to an immutable object. Callers must clone
|
2002-10-06 06:20:35 +04:00
|
|
|
* before attempting to modify the returned nsIFile object. NOTE: this
|
|
|
|
* constraint might not be enforced at runtime, so beware!!
|
2018-02-01 00:40:45 +03:00
|
|
|
*/
|
2018-02-27 18:14:15 +03:00
|
|
|
attribute nsIFile file;
|
2018-02-01 00:40:45 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
[scriptable, builtinclass, uuid(a588b6f2-d2b9-4024-84c7-be3368546b57)]
|
|
|
|
interface nsIFileURLMutator : nsISupports
|
|
|
|
{
|
|
|
|
/*
|
2002-10-06 06:20:35 +04:00
|
|
|
* - Setter clones the nsIFile object (allowing the caller to safely modify
|
|
|
|
* the nsIFile object after setting it on this interface).
|
2002-03-06 10:48:55 +03:00
|
|
|
*/
|
2018-02-01 00:40:45 +03:00
|
|
|
[must_use, noscript] void setFile(in nsIFile aFile);
|
2002-03-06 10:48:55 +03:00
|
|
|
};
|