nsIFileURL.idl (1473B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #include "nsIURL.idl" 7 8 interface nsIFile; 9 interface nsIURIMutator; 10 11 /** 12 * nsIFileURL provides access to the underlying nsIFile object corresponding to 13 * an URL. The URL scheme need not be file:, since other local protocols may 14 * map URLs to files (e.g., resource:). 15 */ 16 [scriptable, builtinclass, uuid(e91ac988-27c2-448b-b1a1-3822e1ef1987)] 17 interface nsIFileURL : nsIURL 18 { 19 /** 20 * Get the nsIFile corresponding to this URL. 21 * 22 * - Returns a reference to an immutable object. Callers must clone 23 * before attempting to modify the returned nsIFile object. NOTE: this 24 * constraint might not be enforced at runtime, so beware!! 25 */ 26 readonly attribute nsIFile file; 27 }; 28 29 [scriptable, builtinclass, uuid(a588b6f2-d2b9-4024-84c7-be3368546b57)] 30 interface nsIFileURLMutator : nsISupports 31 { 32 /* 33 * - Marks the inner URI implementation as one that supports nsIFileURL. 34 */ 35 [must_use, noscript] void markFileURL(); 36 37 /* 38 * - Setter clones the nsIFile object (allowing the caller to safely modify 39 * the nsIFile object after setting it on this interface). 40 */ 41 [must_use, noscript] void setFile(in nsIFile aFile); 42 };