Index: gecko-sdk/idl/nsILocalFile.idl |
=================================================================== |
--- gecko-sdk/idl/nsILocalFile.idl (revision 0) |
+++ gecko-sdk/idl/nsILocalFile.idl (revision 0) |
@@ -0,0 +1,180 @@ |
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
+/* ***** BEGIN LICENSE BLOCK ***** |
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
+ * |
+ * The contents of this file are subject to the Mozilla Public License Version |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
+ * the License. You may obtain a copy of the License at |
+ * http://www.mozilla.org/MPL/ |
+ * |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
+ * for the specific language governing rights and limitations under the |
+ * License. |
+ * |
+ * The Original Code is Mozilla Communicator client code, released |
+ * March 31, 1998. |
+ * |
+ * The Initial Developer of the Original Code is |
+ * Netscape Communications Corporation. |
+ * Portions created by the Initial Developer are Copyright (C) 1998-1999 |
+ * the Initial Developer. All Rights Reserved. |
+ * |
+ * Contributor(s): |
+ * Doug Turner <dougt@netscape.com> |
+ * Darin Fisher <darin@netscape.com> |
+ * |
+ * Alternatively, the contents of this file may be used under the terms of |
+ * either of the GNU General Public License Version 2 or later (the "GPL"), |
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
+ * in which case the provisions of the GPL or the LGPL are applicable instead |
+ * of those above. If you wish to allow use of your version of this file only |
+ * under the terms of either the GPL or the LGPL, and not to allow others to |
+ * use your version of this file under the terms of the MPL, indicate your |
+ * decision by deleting the provisions above and replace them with the notice |
+ * and other provisions required by the GPL or the LGPL. If you do not delete |
+ * the provisions above, a recipient may use your version of this file under |
+ * the terms of any one of the MPL, the GPL or the LGPL. |
+ * |
+ * ***** END LICENSE BLOCK ***** */ |
+ |
+#include "nsIFile.idl" |
+ |
+%{C++ |
+#include "prio.h" |
+#include "prlink.h" |
+#include <stdio.h> |
+%} |
+ |
+[ptr] native PRFileDescStar(PRFileDesc); |
+[ptr] native PRLibraryStar(PRLibrary); |
+[ptr] native FILE(FILE); |
+ |
+/** |
+ * This interface adds methods to nsIFile that are particular to a file |
+ * that is accessible via the local file system. |
+ * |
+ * It follows the same string conventions as nsIFile. |
+ * |
+ * @status FROZEN |
+ */ |
+[scriptable, uuid(aa610f20-a889-11d3-8c81-000064657374)] |
+interface nsILocalFile : nsIFile |
+{ |
+ /** |
+ * initWith[Native]Path |
+ * |
+ * This function will initialize the nsILocalFile object. Any |
+ * internal state information will be reset. |
+ * |
+ * NOTE: This function has a known bug on the macintosh and |
+ * other OSes which do not represent file locations as paths. |
+ * If you do use this function, be very aware of this problem! |
+ * |
+ * @param filePath |
+ * A string which specifies a full file path to a |
+ * location. Relative paths will be treated as an |
+ * error (NS_ERROR_FILE_UNRECOGNIZED_PATH). For |
+ * initWithNativePath, the filePath must be in the native |
+ * filesystem charset. |
+ */ |
+ void initWithPath(in AString filePath); |
+ [noscript] void initWithNativePath(in ACString filePath); |
+ |
+ /** |
+ * initWithFile |
+ * |
+ * Initialize this object with another file |
+ * |
+ * @param aFile |
+ * the file this becomes equivalent to |
+ */ |
+ void initWithFile(in nsILocalFile aFile); |
+ |
+ /** |
+ * followLinks |
+ * |
+ * This attribute will determine if the nsLocalFile will auto |
+ * resolve symbolic links. By default, this value will be false |
+ * on all non unix systems. On unix, this attribute is effectively |
+ * a noop. |
+ */ |
+ attribute PRBool followLinks; |
+ |
+ [noscript] PRFileDescStar openNSPRFileDesc(in long flags, in long mode); |
+ [noscript] FILE openANSIFileDesc(in string mode); |
+ |
+ [noscript] PRLibraryStar load(); |
+ |
+ readonly attribute PRInt64 diskSpaceAvailable; |
+ |
+ /** |
+ * appendRelative[Native]Path |
+ * |
+ * Append a relative path to the current path of the nsILocalFile object. |
+ * |
+ * @param relativeFilePath |
+ * relativeFilePath is a native relative path. For security reasons, |
+ * this cannot contain .. or cannot start with a directory separator. |
+ * For the |appendRelativeNativePath| method, the relativeFilePath |
+ * must be in the native filesystem charset. |
+ */ |
+ void appendRelativePath(in AString relativeFilePath); |
+ [noscript] void appendRelativeNativePath(in ACString relativeFilePath); |
+ |
+ /** |
+ * Accessor to a null terminated string which will specify |
+ * the file in a persistent manner for disk storage. |
+ * |
+ * The character set of this attribute is undefined. DO NOT TRY TO |
+ * INTERPRET IT AS HUMAN READABLE TEXT! |
+ */ |
+ attribute ACString persistentDescriptor; |
+ |
+ /** |
+ * reveal |
+ * |
+ * Ask the operating system to open the folder which contains |
+ * this file or folder. This routine only works on platforms which |
+ * support the ability to open a folder... |
+ */ |
+ void reveal(); |
+ |
+ /** |
+ * launch |
+ * |
+ * Ask the operating system to attempt to open the file. |
+ * this really just simulates "double clicking" the file on your platform. |
+ * This routine only works on platforms which support this functionality. |
+ */ |
+ void launch(); |
+ |
+ /** |
+ * getRelativeDescriptor |
+ * |
+ * Returns a relative file path in an opaque, XP format. It is therefore |
+ * not a native path. |
+ * |
+ * The character set of the string returned from this function is |
+ * undefined. DO NOT TRY TO INTERPRET IT AS HUMAN READABLE TEXT! |
+ * |
+ * @param fromFile |
+ * the file from which the descriptor is relative. |
+ * There is no defined result if this param is null. |
+ */ |
+ ACString getRelativeDescriptor(in nsILocalFile fromFile); |
+ |
+ /** |
+ * setRelativeDescriptor |
+ * |
+ * Initializes the file to the location relative to fromFile using |
+ * a string returned by getRelativeDescriptor. |
+ * |
+ * @param fromFile |
+ * the file to which the descriptor is relative |
+ * @param relative |
+ * the relative descriptor obtained from getRelativeDescriptor |
+ */ |
+ void setRelativeDescriptor(in nsILocalFile fromFile, in ACString relativeDesc); |
+}; |
+ |
Property changes on: gecko-sdk\idl\nsILocalFile.idl |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |