/gecko_api/include/nsIFile.h

http://firefox-mac-pdf.googlecode.com/ · C Header · 828 lines · 406 code · 103 blank · 319 comment · 0 complexity · e8d36a10141b678b1a54648d5f0311e7 MD5 · raw file

  1. /*
  2. * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/tinderbox/XR-Trunk/Darwin_8.8.4_Depend/mozilla/xpcom/io/nsIFile.idl
  3. */
  4. #ifndef __gen_nsIFile_h__
  5. #define __gen_nsIFile_h__
  6. #ifndef __gen_nsISupports_h__
  7. #include "nsISupports.h"
  8. #endif
  9. /* For IDL files that don't want to include root IDL files. */
  10. #ifndef NS_NO_VTABLE
  11. #define NS_NO_VTABLE
  12. #endif
  13. class nsISimpleEnumerator; /* forward declaration */
  14. /* starting interface: nsIFile */
  15. #define NS_IFILE_IID_STR "c8c0a080-0868-11d3-915f-d9d889d48e3c"
  16. #define NS_IFILE_IID \
  17. {0xc8c0a080, 0x0868, 0x11d3, \
  18. { 0x91, 0x5f, 0xd9, 0xd8, 0x89, 0xd4, 0x8e, 0x3c }}
  19. /**
  20. * This is the only correct cross-platform way to specify a file.
  21. * Strings are not such a way. If you grew up on windows or unix, you
  22. * may think they are. Welcome to reality.
  23. *
  24. * All methods with string parameters have two forms. The preferred
  25. * form operates on UCS-2 encoded characters strings. An alternate
  26. * form operates on characters strings encoded in the "native" charset.
  27. *
  28. * A string containing characters encoded in the native charset cannot
  29. * be safely passed to javascript via xpconnect. Therefore, the "native
  30. * methods" are not scriptable.
  31. *
  32. * @status FROZEN
  33. */
  34. class NS_NO_VTABLE NS_SCRIPTABLE nsIFile : public nsISupports {
  35. public:
  36. NS_DECLARE_STATIC_IID_ACCESSOR(NS_IFILE_IID)
  37. /**
  38. * Create Types
  39. *
  40. * NORMAL_FILE_TYPE - A normal file.
  41. * DIRECTORY_TYPE - A directory/folder.
  42. */
  43. enum { NORMAL_FILE_TYPE = 0U };
  44. enum { DIRECTORY_TYPE = 1U };
  45. /**
  46. * append[Native]
  47. *
  48. * This function is used for constructing a descendent of the
  49. * current nsIFile.
  50. *
  51. * @param node
  52. * A string which is intended to be a child node of the nsIFile.
  53. * For the |appendNative| method, the node must be in the native
  54. * filesystem charset.
  55. */
  56. /* void append (in AString node); */
  57. NS_SCRIPTABLE NS_IMETHOD Append(const nsAString & node) = 0;
  58. /* [noscript] void appendNative (in ACString node); */
  59. NS_IMETHOD AppendNative(const nsACString & node) = 0;
  60. /**
  61. * Normalize the pathName (e.g. removing .. and . components on Unix).
  62. */
  63. /* void normalize (); */
  64. NS_SCRIPTABLE NS_IMETHOD Normalize(void) = 0;
  65. /**
  66. * create
  67. *
  68. * This function will create a new file or directory in the
  69. * file system. Any nodes that have not been created or
  70. * resolved, will be. If the file or directory already
  71. * exists create() will return NS_ERROR_FILE_ALREADY_EXISTS.
  72. *
  73. * @param type
  74. * This specifies the type of file system object
  75. * to be made. The only two types at this time
  76. * are file and directory which are defined above.
  77. * If the type is unrecongnized, we will return an
  78. * error (NS_ERROR_FILE_UNKNOWN_TYPE).
  79. *
  80. * @param permissions
  81. * The unix style octal permissions. This may
  82. * be ignored on systems that do not need to do
  83. * permissions.
  84. */
  85. /* void create (in unsigned long type, in unsigned long permissions); */
  86. NS_SCRIPTABLE NS_IMETHOD Create(PRUint32 type, PRUint32 permissions) = 0;
  87. /**
  88. * Accessor to the leaf name of the file itself.
  89. * For the |nativeLeafName| method, the nativeLeafName must
  90. * be in the native filesystem charset.
  91. */
  92. /* attribute AString leafName; */
  93. NS_SCRIPTABLE NS_IMETHOD GetLeafName(nsAString & aLeafName) = 0;
  94. NS_SCRIPTABLE NS_IMETHOD SetLeafName(const nsAString & aLeafName) = 0;
  95. /* [noscript] attribute ACString nativeLeafName; */
  96. NS_IMETHOD GetNativeLeafName(nsACString & aNativeLeafName) = 0;
  97. NS_IMETHOD SetNativeLeafName(const nsACString & aNativeLeafName) = 0;
  98. /**
  99. * copyTo[Native]
  100. *
  101. * This will copy this file to the specified newParentDir.
  102. * If a newName is specified, the file will be renamed.
  103. * If 'this' is not created we will return an error
  104. * (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
  105. *
  106. * copyTo may fail if the file already exists in the destination
  107. * directory.
  108. *
  109. * copyTo will NOT resolve aliases/shortcuts during the copy.
  110. *
  111. * @param newParentDir
  112. * This param is the destination directory. If the
  113. * newParentDir is null, copyTo() will use the parent
  114. * directory of this file. If the newParentDir is not
  115. * empty and is not a directory, an error will be
  116. * returned (NS_ERROR_FILE_DESTINATION_NOT_DIR). For the
  117. * |CopyToNative| method, the newName must be in the
  118. * native filesystem charset.
  119. *
  120. * @param newName
  121. * This param allows you to specify a new name for
  122. * the file to be copied. This param may be empty, in
  123. * which case the current leaf name will be used.
  124. */
  125. /* void copyTo (in nsIFile newParentDir, in AString newName); */
  126. NS_SCRIPTABLE NS_IMETHOD CopyTo(nsIFile *newParentDir, const nsAString & newName) = 0;
  127. /* [noscript] void CopyToNative (in nsIFile newParentDir, in ACString newName); */
  128. NS_IMETHOD CopyToNative(nsIFile *newParentDir, const nsACString & newName) = 0;
  129. /**
  130. * copyToFollowingLinks[Native]
  131. *
  132. * This function is identical to copyTo with the exception that,
  133. * as the name implies, it follows symbolic links. The XP_UNIX
  134. * implementation always follow symbolic links when copying. For
  135. * the |CopyToFollowingLinks| method, the newName must be in the
  136. * native filesystem charset.
  137. */
  138. /* void copyToFollowingLinks (in nsIFile newParentDir, in AString newName); */
  139. NS_SCRIPTABLE NS_IMETHOD CopyToFollowingLinks(nsIFile *newParentDir, const nsAString & newName) = 0;
  140. /* [noscript] void copyToFollowingLinksNative (in nsIFile newParentDir, in ACString newName); */
  141. NS_IMETHOD CopyToFollowingLinksNative(nsIFile *newParentDir, const nsACString & newName) = 0;
  142. /**
  143. * moveTo[Native]
  144. *
  145. * A method to move this file or directory to newParentDir.
  146. * If a newName is specified, the file or directory will be renamed.
  147. * If 'this' is not created we will return an error
  148. * (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
  149. * If 'this' is a file, and the destination file already exists, moveTo
  150. * will replace the old file.
  151. *
  152. * moveTo will NOT resolve aliases/shortcuts during the copy.
  153. * moveTo will do the right thing and allow copies across volumes.
  154. * moveTo will return an error (NS_ERROR_FILE_DIR_NOT_EMPTY) if 'this' is
  155. * a directory and the destination directory is not empty.
  156. * moveTo will return an error (NS_ERROR_FILE_ACCESS_DENIED) if 'this' is
  157. * a directory and the destination directory is not writable.
  158. *
  159. * @param newParentDir
  160. * This param is the destination directory. If the
  161. * newParentDir is empty, moveTo() will rename the file
  162. * within its current directory. If the newParentDir is
  163. * not empty and does not name a directory, an error will
  164. * be returned (NS_ERROR_FILE_DESTINATION_NOT_DIR). For
  165. * the |moveToNative| method, the newName must be in the
  166. * native filesystem charset.
  167. *
  168. * @param newName
  169. * This param allows you to specify a new name for
  170. * the file to be moved. This param may be empty, in
  171. * which case the current leaf name will be used.
  172. */
  173. /* void moveTo (in nsIFile newParentDir, in AString newName); */
  174. NS_SCRIPTABLE NS_IMETHOD MoveTo(nsIFile *newParentDir, const nsAString & newName) = 0;
  175. /* [noscript] void moveToNative (in nsIFile newParentDir, in ACString newName); */
  176. NS_IMETHOD MoveToNative(nsIFile *newParentDir, const nsACString & newName) = 0;
  177. /**
  178. * This will try to delete this file. The 'recursive' flag
  179. * must be PR_TRUE to delete directories which are not empty.
  180. *
  181. * This will not resolve any symlinks.
  182. */
  183. /* void remove (in boolean recursive); */
  184. NS_SCRIPTABLE NS_IMETHOD Remove(PRBool recursive) = 0;
  185. /**
  186. * Attributes of nsIFile.
  187. */
  188. /* attribute unsigned long permissions; */
  189. NS_SCRIPTABLE NS_IMETHOD GetPermissions(PRUint32 *aPermissions) = 0;
  190. NS_SCRIPTABLE NS_IMETHOD SetPermissions(PRUint32 aPermissions) = 0;
  191. /* attribute unsigned long permissionsOfLink; */
  192. NS_SCRIPTABLE NS_IMETHOD GetPermissionsOfLink(PRUint32 *aPermissionsOfLink) = 0;
  193. NS_SCRIPTABLE NS_IMETHOD SetPermissionsOfLink(PRUint32 aPermissionsOfLink) = 0;
  194. /**
  195. * File Times are to be in milliseconds from
  196. * midnight (00:00:00), January 1, 1970 Greenwich Mean
  197. * Time (GMT).
  198. */
  199. /* attribute PRInt64 lastModifiedTime; */
  200. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTime(PRInt64 *aLastModifiedTime) = 0;
  201. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTime(PRInt64 aLastModifiedTime) = 0;
  202. /* attribute PRInt64 lastModifiedTimeOfLink; */
  203. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink) = 0;
  204. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink) = 0;
  205. /**
  206. * WARNING! On the Mac, getting/setting the file size with nsIFile
  207. * only deals with the size of the data fork. If you need to
  208. * know the size of the combined data and resource forks use the
  209. * GetFileSizeWithResFork() method defined on nsILocalFileMac.
  210. */
  211. /* attribute PRInt64 fileSize; */
  212. NS_SCRIPTABLE NS_IMETHOD GetFileSize(PRInt64 *aFileSize) = 0;
  213. NS_SCRIPTABLE NS_IMETHOD SetFileSize(PRInt64 aFileSize) = 0;
  214. /* readonly attribute PRInt64 fileSizeOfLink; */
  215. NS_SCRIPTABLE NS_IMETHOD GetFileSizeOfLink(PRInt64 *aFileSizeOfLink) = 0;
  216. /**
  217. * target & path
  218. *
  219. * Accessor to the string path. The native version of these
  220. * strings are not guaranteed to be a usable path to pass to
  221. * NSPR or the C stdlib. There are problems that affect
  222. * platforms on which a path does not fully specify a file
  223. * because two volumes can have the same name (e.g., mac).
  224. * This is solved by holding "private", native data in the
  225. * nsIFile implementation. This native data is lost when
  226. * you convert to a string.
  227. *
  228. * DO NOT PASS TO USE WITH NSPR OR STDLIB!
  229. *
  230. * target
  231. * Find out what the symlink points at. Will give error
  232. * (NS_ERROR_FILE_INVALID_PATH) if not a symlink.
  233. *
  234. * path
  235. * Find out what the nsIFile points at.
  236. *
  237. * Note that the ACString attributes are returned in the
  238. * native filesystem charset.
  239. *
  240. */
  241. /* readonly attribute AString target; */
  242. NS_SCRIPTABLE NS_IMETHOD GetTarget(nsAString & aTarget) = 0;
  243. /* [noscript] readonly attribute ACString nativeTarget; */
  244. NS_IMETHOD GetNativeTarget(nsACString & aNativeTarget) = 0;
  245. /* readonly attribute AString path; */
  246. NS_SCRIPTABLE NS_IMETHOD GetPath(nsAString & aPath) = 0;
  247. /* [noscript] readonly attribute ACString nativePath; */
  248. NS_IMETHOD GetNativePath(nsACString & aNativePath) = 0;
  249. /* boolean exists (); */
  250. NS_SCRIPTABLE NS_IMETHOD Exists(PRBool *_retval) = 0;
  251. /* boolean isWritable (); */
  252. NS_SCRIPTABLE NS_IMETHOD IsWritable(PRBool *_retval) = 0;
  253. /* boolean isReadable (); */
  254. NS_SCRIPTABLE NS_IMETHOD IsReadable(PRBool *_retval) = 0;
  255. /* boolean isExecutable (); */
  256. NS_SCRIPTABLE NS_IMETHOD IsExecutable(PRBool *_retval) = 0;
  257. /* boolean isHidden (); */
  258. NS_SCRIPTABLE NS_IMETHOD IsHidden(PRBool *_retval) = 0;
  259. /* boolean isDirectory (); */
  260. NS_SCRIPTABLE NS_IMETHOD IsDirectory(PRBool *_retval) = 0;
  261. /* boolean isFile (); */
  262. NS_SCRIPTABLE NS_IMETHOD IsFile(PRBool *_retval) = 0;
  263. /* boolean isSymlink (); */
  264. NS_SCRIPTABLE NS_IMETHOD IsSymlink(PRBool *_retval) = 0;
  265. /**
  266. * Not a regular file, not a directory, not a symlink.
  267. */
  268. /* boolean isSpecial (); */
  269. NS_SCRIPTABLE NS_IMETHOD IsSpecial(PRBool *_retval) = 0;
  270. /**
  271. * createUnique
  272. *
  273. * This function will create a new file or directory in the
  274. * file system. Any nodes that have not been created or
  275. * resolved, will be. If this file already exists, we try
  276. * variations on the leaf name "suggestedName" until we find
  277. * one that did not already exist.
  278. *
  279. * If the search for nonexistent files takes too long
  280. * (thousands of the variants already exist), we give up and
  281. * return NS_ERROR_FILE_TOO_BIG.
  282. *
  283. * @param type
  284. * This specifies the type of file system object
  285. * to be made. The only two types at this time
  286. * are file and directory which are defined above.
  287. * If the type is unrecongnized, we will return an
  288. * error (NS_ERROR_FILE_UNKNOWN_TYPE).
  289. *
  290. * @param permissions
  291. * The unix style octal permissions. This may
  292. * be ignored on systems that do not need to do
  293. * permissions.
  294. */
  295. /* void createUnique (in unsigned long type, in unsigned long permissions); */
  296. NS_SCRIPTABLE NS_IMETHOD CreateUnique(PRUint32 type, PRUint32 permissions) = 0;
  297. /**
  298. * clone()
  299. *
  300. * This function will allocate and initialize a nsIFile object to the
  301. * exact location of the |this| nsIFile.
  302. *
  303. * @param file
  304. * A nsIFile which this object will be initialize
  305. * with.
  306. *
  307. */
  308. /* nsIFile clone (); */
  309. NS_SCRIPTABLE NS_IMETHOD Clone(nsIFile **_retval) = 0;
  310. /**
  311. * Will determine if the inFile equals this.
  312. */
  313. /* boolean equals (in nsIFile inFile); */
  314. NS_SCRIPTABLE NS_IMETHOD Equals(nsIFile *inFile, PRBool *_retval) = 0;
  315. /**
  316. * Will determine if inFile is a descendant of this file
  317. * If |recur| is true, look in subdirectories too
  318. */
  319. /* boolean contains (in nsIFile inFile, in boolean recur); */
  320. NS_SCRIPTABLE NS_IMETHOD Contains(nsIFile *inFile, PRBool recur, PRBool *_retval) = 0;
  321. /**
  322. * Parent will be null when this is at the top of the volume.
  323. */
  324. /* readonly attribute nsIFile parent; */
  325. NS_SCRIPTABLE NS_IMETHOD GetParent(nsIFile * *aParent) = 0;
  326. /**
  327. * Returns an enumeration of the elements in a directory. Each
  328. * element in the enumeration is an nsIFile.
  329. *
  330. * @return NS_ERROR_FILE_NOT_DIRECTORY if the current nsIFile does
  331. * not specify a directory.
  332. */
  333. /* readonly attribute nsISimpleEnumerator directoryEntries; */
  334. NS_SCRIPTABLE NS_IMETHOD GetDirectoryEntries(nsISimpleEnumerator * *aDirectoryEntries) = 0;
  335. };
  336. NS_DEFINE_STATIC_IID_ACCESSOR(nsIFile, NS_IFILE_IID)
  337. /* Use this macro when declaring classes that implement this interface. */
  338. #define NS_DECL_NSIFILE \
  339. NS_SCRIPTABLE NS_IMETHOD Append(const nsAString & node); \
  340. NS_IMETHOD AppendNative(const nsACString & node); \
  341. NS_SCRIPTABLE NS_IMETHOD Normalize(void); \
  342. NS_SCRIPTABLE NS_IMETHOD Create(PRUint32 type, PRUint32 permissions); \
  343. NS_SCRIPTABLE NS_IMETHOD GetLeafName(nsAString & aLeafName); \
  344. NS_SCRIPTABLE NS_IMETHOD SetLeafName(const nsAString & aLeafName); \
  345. NS_IMETHOD GetNativeLeafName(nsACString & aNativeLeafName); \
  346. NS_IMETHOD SetNativeLeafName(const nsACString & aNativeLeafName); \
  347. NS_SCRIPTABLE NS_IMETHOD CopyTo(nsIFile *newParentDir, const nsAString & newName); \
  348. NS_IMETHOD CopyToNative(nsIFile *newParentDir, const nsACString & newName); \
  349. NS_SCRIPTABLE NS_IMETHOD CopyToFollowingLinks(nsIFile *newParentDir, const nsAString & newName); \
  350. NS_IMETHOD CopyToFollowingLinksNative(nsIFile *newParentDir, const nsACString & newName); \
  351. NS_SCRIPTABLE NS_IMETHOD MoveTo(nsIFile *newParentDir, const nsAString & newName); \
  352. NS_IMETHOD MoveToNative(nsIFile *newParentDir, const nsACString & newName); \
  353. NS_SCRIPTABLE NS_IMETHOD Remove(PRBool recursive); \
  354. NS_SCRIPTABLE NS_IMETHOD GetPermissions(PRUint32 *aPermissions); \
  355. NS_SCRIPTABLE NS_IMETHOD SetPermissions(PRUint32 aPermissions); \
  356. NS_SCRIPTABLE NS_IMETHOD GetPermissionsOfLink(PRUint32 *aPermissionsOfLink); \
  357. NS_SCRIPTABLE NS_IMETHOD SetPermissionsOfLink(PRUint32 aPermissionsOfLink); \
  358. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTime(PRInt64 *aLastModifiedTime); \
  359. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTime(PRInt64 aLastModifiedTime); \
  360. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink); \
  361. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink); \
  362. NS_SCRIPTABLE NS_IMETHOD GetFileSize(PRInt64 *aFileSize); \
  363. NS_SCRIPTABLE NS_IMETHOD SetFileSize(PRInt64 aFileSize); \
  364. NS_SCRIPTABLE NS_IMETHOD GetFileSizeOfLink(PRInt64 *aFileSizeOfLink); \
  365. NS_SCRIPTABLE NS_IMETHOD GetTarget(nsAString & aTarget); \
  366. NS_IMETHOD GetNativeTarget(nsACString & aNativeTarget); \
  367. NS_SCRIPTABLE NS_IMETHOD GetPath(nsAString & aPath); \
  368. NS_IMETHOD GetNativePath(nsACString & aNativePath); \
  369. NS_SCRIPTABLE NS_IMETHOD Exists(PRBool *_retval); \
  370. NS_SCRIPTABLE NS_IMETHOD IsWritable(PRBool *_retval); \
  371. NS_SCRIPTABLE NS_IMETHOD IsReadable(PRBool *_retval); \
  372. NS_SCRIPTABLE NS_IMETHOD IsExecutable(PRBool *_retval); \
  373. NS_SCRIPTABLE NS_IMETHOD IsHidden(PRBool *_retval); \
  374. NS_SCRIPTABLE NS_IMETHOD IsDirectory(PRBool *_retval); \
  375. NS_SCRIPTABLE NS_IMETHOD IsFile(PRBool *_retval); \
  376. NS_SCRIPTABLE NS_IMETHOD IsSymlink(PRBool *_retval); \
  377. NS_SCRIPTABLE NS_IMETHOD IsSpecial(PRBool *_retval); \
  378. NS_SCRIPTABLE NS_IMETHOD CreateUnique(PRUint32 type, PRUint32 permissions); \
  379. NS_SCRIPTABLE NS_IMETHOD Clone(nsIFile **_retval); \
  380. NS_SCRIPTABLE NS_IMETHOD Equals(nsIFile *inFile, PRBool *_retval); \
  381. NS_SCRIPTABLE NS_IMETHOD Contains(nsIFile *inFile, PRBool recur, PRBool *_retval); \
  382. NS_SCRIPTABLE NS_IMETHOD GetParent(nsIFile * *aParent); \
  383. NS_SCRIPTABLE NS_IMETHOD GetDirectoryEntries(nsISimpleEnumerator * *aDirectoryEntries);
  384. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  385. #define NS_FORWARD_NSIFILE(_to) \
  386. NS_SCRIPTABLE NS_IMETHOD Append(const nsAString & node) { return _to Append(node); } \
  387. NS_IMETHOD AppendNative(const nsACString & node) { return _to AppendNative(node); } \
  388. NS_SCRIPTABLE NS_IMETHOD Normalize(void) { return _to Normalize(); } \
  389. NS_SCRIPTABLE NS_IMETHOD Create(PRUint32 type, PRUint32 permissions) { return _to Create(type, permissions); } \
  390. NS_SCRIPTABLE NS_IMETHOD GetLeafName(nsAString & aLeafName) { return _to GetLeafName(aLeafName); } \
  391. NS_SCRIPTABLE NS_IMETHOD SetLeafName(const nsAString & aLeafName) { return _to SetLeafName(aLeafName); } \
  392. NS_IMETHOD GetNativeLeafName(nsACString & aNativeLeafName) { return _to GetNativeLeafName(aNativeLeafName); } \
  393. NS_IMETHOD SetNativeLeafName(const nsACString & aNativeLeafName) { return _to SetNativeLeafName(aNativeLeafName); } \
  394. NS_SCRIPTABLE NS_IMETHOD CopyTo(nsIFile *newParentDir, const nsAString & newName) { return _to CopyTo(newParentDir, newName); } \
  395. NS_IMETHOD CopyToNative(nsIFile *newParentDir, const nsACString & newName) { return _to CopyToNative(newParentDir, newName); } \
  396. NS_SCRIPTABLE NS_IMETHOD CopyToFollowingLinks(nsIFile *newParentDir, const nsAString & newName) { return _to CopyToFollowingLinks(newParentDir, newName); } \
  397. NS_IMETHOD CopyToFollowingLinksNative(nsIFile *newParentDir, const nsACString & newName) { return _to CopyToFollowingLinksNative(newParentDir, newName); } \
  398. NS_SCRIPTABLE NS_IMETHOD MoveTo(nsIFile *newParentDir, const nsAString & newName) { return _to MoveTo(newParentDir, newName); } \
  399. NS_IMETHOD MoveToNative(nsIFile *newParentDir, const nsACString & newName) { return _to MoveToNative(newParentDir, newName); } \
  400. NS_SCRIPTABLE NS_IMETHOD Remove(PRBool recursive) { return _to Remove(recursive); } \
  401. NS_SCRIPTABLE NS_IMETHOD GetPermissions(PRUint32 *aPermissions) { return _to GetPermissions(aPermissions); } \
  402. NS_SCRIPTABLE NS_IMETHOD SetPermissions(PRUint32 aPermissions) { return _to SetPermissions(aPermissions); } \
  403. NS_SCRIPTABLE NS_IMETHOD GetPermissionsOfLink(PRUint32 *aPermissionsOfLink) { return _to GetPermissionsOfLink(aPermissionsOfLink); } \
  404. NS_SCRIPTABLE NS_IMETHOD SetPermissionsOfLink(PRUint32 aPermissionsOfLink) { return _to SetPermissionsOfLink(aPermissionsOfLink); } \
  405. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTime(PRInt64 *aLastModifiedTime) { return _to GetLastModifiedTime(aLastModifiedTime); } \
  406. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTime(PRInt64 aLastModifiedTime) { return _to SetLastModifiedTime(aLastModifiedTime); } \
  407. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink) { return _to GetLastModifiedTimeOfLink(aLastModifiedTimeOfLink); } \
  408. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink) { return _to SetLastModifiedTimeOfLink(aLastModifiedTimeOfLink); } \
  409. NS_SCRIPTABLE NS_IMETHOD GetFileSize(PRInt64 *aFileSize) { return _to GetFileSize(aFileSize); } \
  410. NS_SCRIPTABLE NS_IMETHOD SetFileSize(PRInt64 aFileSize) { return _to SetFileSize(aFileSize); } \
  411. NS_SCRIPTABLE NS_IMETHOD GetFileSizeOfLink(PRInt64 *aFileSizeOfLink) { return _to GetFileSizeOfLink(aFileSizeOfLink); } \
  412. NS_SCRIPTABLE NS_IMETHOD GetTarget(nsAString & aTarget) { return _to GetTarget(aTarget); } \
  413. NS_IMETHOD GetNativeTarget(nsACString & aNativeTarget) { return _to GetNativeTarget(aNativeTarget); } \
  414. NS_SCRIPTABLE NS_IMETHOD GetPath(nsAString & aPath) { return _to GetPath(aPath); } \
  415. NS_IMETHOD GetNativePath(nsACString & aNativePath) { return _to GetNativePath(aNativePath); } \
  416. NS_SCRIPTABLE NS_IMETHOD Exists(PRBool *_retval) { return _to Exists(_retval); } \
  417. NS_SCRIPTABLE NS_IMETHOD IsWritable(PRBool *_retval) { return _to IsWritable(_retval); } \
  418. NS_SCRIPTABLE NS_IMETHOD IsReadable(PRBool *_retval) { return _to IsReadable(_retval); } \
  419. NS_SCRIPTABLE NS_IMETHOD IsExecutable(PRBool *_retval) { return _to IsExecutable(_retval); } \
  420. NS_SCRIPTABLE NS_IMETHOD IsHidden(PRBool *_retval) { return _to IsHidden(_retval); } \
  421. NS_SCRIPTABLE NS_IMETHOD IsDirectory(PRBool *_retval) { return _to IsDirectory(_retval); } \
  422. NS_SCRIPTABLE NS_IMETHOD IsFile(PRBool *_retval) { return _to IsFile(_retval); } \
  423. NS_SCRIPTABLE NS_IMETHOD IsSymlink(PRBool *_retval) { return _to IsSymlink(_retval); } \
  424. NS_SCRIPTABLE NS_IMETHOD IsSpecial(PRBool *_retval) { return _to IsSpecial(_retval); } \
  425. NS_SCRIPTABLE NS_IMETHOD CreateUnique(PRUint32 type, PRUint32 permissions) { return _to CreateUnique(type, permissions); } \
  426. NS_SCRIPTABLE NS_IMETHOD Clone(nsIFile **_retval) { return _to Clone(_retval); } \
  427. NS_SCRIPTABLE NS_IMETHOD Equals(nsIFile *inFile, PRBool *_retval) { return _to Equals(inFile, _retval); } \
  428. NS_SCRIPTABLE NS_IMETHOD Contains(nsIFile *inFile, PRBool recur, PRBool *_retval) { return _to Contains(inFile, recur, _retval); } \
  429. NS_SCRIPTABLE NS_IMETHOD GetParent(nsIFile * *aParent) { return _to GetParent(aParent); } \
  430. NS_SCRIPTABLE NS_IMETHOD GetDirectoryEntries(nsISimpleEnumerator * *aDirectoryEntries) { return _to GetDirectoryEntries(aDirectoryEntries); }
  431. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  432. #define NS_FORWARD_SAFE_NSIFILE(_to) \
  433. NS_SCRIPTABLE NS_IMETHOD Append(const nsAString & node) { return !_to ? NS_ERROR_NULL_POINTER : _to->Append(node); } \
  434. NS_IMETHOD AppendNative(const nsACString & node) { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendNative(node); } \
  435. NS_SCRIPTABLE NS_IMETHOD Normalize(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Normalize(); } \
  436. NS_SCRIPTABLE NS_IMETHOD Create(PRUint32 type, PRUint32 permissions) { return !_to ? NS_ERROR_NULL_POINTER : _to->Create(type, permissions); } \
  437. NS_SCRIPTABLE NS_IMETHOD GetLeafName(nsAString & aLeafName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLeafName(aLeafName); } \
  438. NS_SCRIPTABLE NS_IMETHOD SetLeafName(const nsAString & aLeafName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLeafName(aLeafName); } \
  439. NS_IMETHOD GetNativeLeafName(nsACString & aNativeLeafName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNativeLeafName(aNativeLeafName); } \
  440. NS_IMETHOD SetNativeLeafName(const nsACString & aNativeLeafName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNativeLeafName(aNativeLeafName); } \
  441. NS_SCRIPTABLE NS_IMETHOD CopyTo(nsIFile *newParentDir, const nsAString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyTo(newParentDir, newName); } \
  442. NS_IMETHOD CopyToNative(nsIFile *newParentDir, const nsACString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyToNative(newParentDir, newName); } \
  443. NS_SCRIPTABLE NS_IMETHOD CopyToFollowingLinks(nsIFile *newParentDir, const nsAString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyToFollowingLinks(newParentDir, newName); } \
  444. NS_IMETHOD CopyToFollowingLinksNative(nsIFile *newParentDir, const nsACString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyToFollowingLinksNative(newParentDir, newName); } \
  445. NS_SCRIPTABLE NS_IMETHOD MoveTo(nsIFile *newParentDir, const nsAString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveTo(newParentDir, newName); } \
  446. NS_IMETHOD MoveToNative(nsIFile *newParentDir, const nsACString & newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveToNative(newParentDir, newName); } \
  447. NS_SCRIPTABLE NS_IMETHOD Remove(PRBool recursive) { return !_to ? NS_ERROR_NULL_POINTER : _to->Remove(recursive); } \
  448. NS_SCRIPTABLE NS_IMETHOD GetPermissions(PRUint32 *aPermissions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissions(aPermissions); } \
  449. NS_SCRIPTABLE NS_IMETHOD SetPermissions(PRUint32 aPermissions) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPermissions(aPermissions); } \
  450. NS_SCRIPTABLE NS_IMETHOD GetPermissionsOfLink(PRUint32 *aPermissionsOfLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionsOfLink(aPermissionsOfLink); } \
  451. NS_SCRIPTABLE NS_IMETHOD SetPermissionsOfLink(PRUint32 aPermissionsOfLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPermissionsOfLink(aPermissionsOfLink); } \
  452. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTime(PRInt64 *aLastModifiedTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastModifiedTime(aLastModifiedTime); } \
  453. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTime(PRInt64 aLastModifiedTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLastModifiedTime(aLastModifiedTime); } \
  454. NS_SCRIPTABLE NS_IMETHOD GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastModifiedTimeOfLink(aLastModifiedTimeOfLink); } \
  455. NS_SCRIPTABLE NS_IMETHOD SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLastModifiedTimeOfLink(aLastModifiedTimeOfLink); } \
  456. NS_SCRIPTABLE NS_IMETHOD GetFileSize(PRInt64 *aFileSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileSize(aFileSize); } \
  457. NS_SCRIPTABLE NS_IMETHOD SetFileSize(PRInt64 aFileSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFileSize(aFileSize); } \
  458. NS_SCRIPTABLE NS_IMETHOD GetFileSizeOfLink(PRInt64 *aFileSizeOfLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileSizeOfLink(aFileSizeOfLink); } \
  459. NS_SCRIPTABLE NS_IMETHOD GetTarget(nsAString & aTarget) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTarget(aTarget); } \
  460. NS_IMETHOD GetNativeTarget(nsACString & aNativeTarget) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNativeTarget(aNativeTarget); } \
  461. NS_SCRIPTABLE NS_IMETHOD GetPath(nsAString & aPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPath(aPath); } \
  462. NS_IMETHOD GetNativePath(nsACString & aNativePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNativePath(aNativePath); } \
  463. NS_SCRIPTABLE NS_IMETHOD Exists(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Exists(_retval); } \
  464. NS_SCRIPTABLE NS_IMETHOD IsWritable(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsWritable(_retval); } \
  465. NS_SCRIPTABLE NS_IMETHOD IsReadable(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsReadable(_retval); } \
  466. NS_SCRIPTABLE NS_IMETHOD IsExecutable(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsExecutable(_retval); } \
  467. NS_SCRIPTABLE NS_IMETHOD IsHidden(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsHidden(_retval); } \
  468. NS_SCRIPTABLE NS_IMETHOD IsDirectory(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsDirectory(_retval); } \
  469. NS_SCRIPTABLE NS_IMETHOD IsFile(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsFile(_retval); } \
  470. NS_SCRIPTABLE NS_IMETHOD IsSymlink(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsSymlink(_retval); } \
  471. NS_SCRIPTABLE NS_IMETHOD IsSpecial(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsSpecial(_retval); } \
  472. NS_SCRIPTABLE NS_IMETHOD CreateUnique(PRUint32 type, PRUint32 permissions) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateUnique(type, permissions); } \
  473. NS_SCRIPTABLE NS_IMETHOD Clone(nsIFile **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); } \
  474. NS_SCRIPTABLE NS_IMETHOD Equals(nsIFile *inFile, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Equals(inFile, _retval); } \
  475. NS_SCRIPTABLE NS_IMETHOD Contains(nsIFile *inFile, PRBool recur, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Contains(inFile, recur, _retval); } \
  476. NS_SCRIPTABLE NS_IMETHOD GetParent(nsIFile * *aParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParent(aParent); } \
  477. NS_SCRIPTABLE NS_IMETHOD GetDirectoryEntries(nsISimpleEnumerator * *aDirectoryEntries) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDirectoryEntries(aDirectoryEntries); }
  478. #if 0
  479. /* Use the code below as a template for the implementation class for this interface. */
  480. /* Header file */
  481. class nsFile : public nsIFile
  482. {
  483. public:
  484. NS_DECL_ISUPPORTS
  485. NS_DECL_NSIFILE
  486. nsFile();
  487. private:
  488. ~nsFile();
  489. protected:
  490. /* additional members */
  491. };
  492. /* Implementation file */
  493. NS_IMPL_ISUPPORTS1(nsFile, nsIFile)
  494. nsFile::nsFile()
  495. {
  496. /* member initializers and constructor code */
  497. }
  498. nsFile::~nsFile()
  499. {
  500. /* destructor code */
  501. }
  502. /* void append (in AString node); */
  503. NS_IMETHODIMP nsFile::Append(const nsAString & node)
  504. {
  505. return NS_ERROR_NOT_IMPLEMENTED;
  506. }
  507. /* [noscript] void appendNative (in ACString node); */
  508. NS_IMETHODIMP nsFile::AppendNative(const nsACString & node)
  509. {
  510. return NS_ERROR_NOT_IMPLEMENTED;
  511. }
  512. /* void normalize (); */
  513. NS_IMETHODIMP nsFile::Normalize()
  514. {
  515. return NS_ERROR_NOT_IMPLEMENTED;
  516. }
  517. /* void create (in unsigned long type, in unsigned long permissions); */
  518. NS_IMETHODIMP nsFile::Create(PRUint32 type, PRUint32 permissions)
  519. {
  520. return NS_ERROR_NOT_IMPLEMENTED;
  521. }
  522. /* attribute AString leafName; */
  523. NS_IMETHODIMP nsFile::GetLeafName(nsAString & aLeafName)
  524. {
  525. return NS_ERROR_NOT_IMPLEMENTED;
  526. }
  527. NS_IMETHODIMP nsFile::SetLeafName(const nsAString & aLeafName)
  528. {
  529. return NS_ERROR_NOT_IMPLEMENTED;
  530. }
  531. /* [noscript] attribute ACString nativeLeafName; */
  532. NS_IMETHODIMP nsFile::GetNativeLeafName(nsACString & aNativeLeafName)
  533. {
  534. return NS_ERROR_NOT_IMPLEMENTED;
  535. }
  536. NS_IMETHODIMP nsFile::SetNativeLeafName(const nsACString & aNativeLeafName)
  537. {
  538. return NS_ERROR_NOT_IMPLEMENTED;
  539. }
  540. /* void copyTo (in nsIFile newParentDir, in AString newName); */
  541. NS_IMETHODIMP nsFile::CopyTo(nsIFile *newParentDir, const nsAString & newName)
  542. {
  543. return NS_ERROR_NOT_IMPLEMENTED;
  544. }
  545. /* [noscript] void CopyToNative (in nsIFile newParentDir, in ACString newName); */
  546. NS_IMETHODIMP nsFile::CopyToNative(nsIFile *newParentDir, const nsACString & newName)
  547. {
  548. return NS_ERROR_NOT_IMPLEMENTED;
  549. }
  550. /* void copyToFollowingLinks (in nsIFile newParentDir, in AString newName); */
  551. NS_IMETHODIMP nsFile::CopyToFollowingLinks(nsIFile *newParentDir, const nsAString & newName)
  552. {
  553. return NS_ERROR_NOT_IMPLEMENTED;
  554. }
  555. /* [noscript] void copyToFollowingLinksNative (in nsIFile newParentDir, in ACString newName); */
  556. NS_IMETHODIMP nsFile::CopyToFollowingLinksNative(nsIFile *newParentDir, const nsACString & newName)
  557. {
  558. return NS_ERROR_NOT_IMPLEMENTED;
  559. }
  560. /* void moveTo (in nsIFile newParentDir, in AString newName); */
  561. NS_IMETHODIMP nsFile::MoveTo(nsIFile *newParentDir, const nsAString & newName)
  562. {
  563. return NS_ERROR_NOT_IMPLEMENTED;
  564. }
  565. /* [noscript] void moveToNative (in nsIFile newParentDir, in ACString newName); */
  566. NS_IMETHODIMP nsFile::MoveToNative(nsIFile *newParentDir, const nsACString & newName)
  567. {
  568. return NS_ERROR_NOT_IMPLEMENTED;
  569. }
  570. /* void remove (in boolean recursive); */
  571. NS_IMETHODIMP nsFile::Remove(PRBool recursive)
  572. {
  573. return NS_ERROR_NOT_IMPLEMENTED;
  574. }
  575. /* attribute unsigned long permissions; */
  576. NS_IMETHODIMP nsFile::GetPermissions(PRUint32 *aPermissions)
  577. {
  578. return NS_ERROR_NOT_IMPLEMENTED;
  579. }
  580. NS_IMETHODIMP nsFile::SetPermissions(PRUint32 aPermissions)
  581. {
  582. return NS_ERROR_NOT_IMPLEMENTED;
  583. }
  584. /* attribute unsigned long permissionsOfLink; */
  585. NS_IMETHODIMP nsFile::GetPermissionsOfLink(PRUint32 *aPermissionsOfLink)
  586. {
  587. return NS_ERROR_NOT_IMPLEMENTED;
  588. }
  589. NS_IMETHODIMP nsFile::SetPermissionsOfLink(PRUint32 aPermissionsOfLink)
  590. {
  591. return NS_ERROR_NOT_IMPLEMENTED;
  592. }
  593. /* attribute PRInt64 lastModifiedTime; */
  594. NS_IMETHODIMP nsFile::GetLastModifiedTime(PRInt64 *aLastModifiedTime)
  595. {
  596. return NS_ERROR_NOT_IMPLEMENTED;
  597. }
  598. NS_IMETHODIMP nsFile::SetLastModifiedTime(PRInt64 aLastModifiedTime)
  599. {
  600. return NS_ERROR_NOT_IMPLEMENTED;
  601. }
  602. /* attribute PRInt64 lastModifiedTimeOfLink; */
  603. NS_IMETHODIMP nsFile::GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink)
  604. {
  605. return NS_ERROR_NOT_IMPLEMENTED;
  606. }
  607. NS_IMETHODIMP nsFile::SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink)
  608. {
  609. return NS_ERROR_NOT_IMPLEMENTED;
  610. }
  611. /* attribute PRInt64 fileSize; */
  612. NS_IMETHODIMP nsFile::GetFileSize(PRInt64 *aFileSize)
  613. {
  614. return NS_ERROR_NOT_IMPLEMENTED;
  615. }
  616. NS_IMETHODIMP nsFile::SetFileSize(PRInt64 aFileSize)
  617. {
  618. return NS_ERROR_NOT_IMPLEMENTED;
  619. }
  620. /* readonly attribute PRInt64 fileSizeOfLink; */
  621. NS_IMETHODIMP nsFile::GetFileSizeOfLink(PRInt64 *aFileSizeOfLink)
  622. {
  623. return NS_ERROR_NOT_IMPLEMENTED;
  624. }
  625. /* readonly attribute AString target; */
  626. NS_IMETHODIMP nsFile::GetTarget(nsAString & aTarget)
  627. {
  628. return NS_ERROR_NOT_IMPLEMENTED;
  629. }
  630. /* [noscript] readonly attribute ACString nativeTarget; */
  631. NS_IMETHODIMP nsFile::GetNativeTarget(nsACString & aNativeTarget)
  632. {
  633. return NS_ERROR_NOT_IMPLEMENTED;
  634. }
  635. /* readonly attribute AString path; */
  636. NS_IMETHODIMP nsFile::GetPath(nsAString & aPath)
  637. {
  638. return NS_ERROR_NOT_IMPLEMENTED;
  639. }
  640. /* [noscript] readonly attribute ACString nativePath; */
  641. NS_IMETHODIMP nsFile::GetNativePath(nsACString & aNativePath)
  642. {
  643. return NS_ERROR_NOT_IMPLEMENTED;
  644. }
  645. /* boolean exists (); */
  646. NS_IMETHODIMP nsFile::Exists(PRBool *_retval)
  647. {
  648. return NS_ERROR_NOT_IMPLEMENTED;
  649. }
  650. /* boolean isWritable (); */
  651. NS_IMETHODIMP nsFile::IsWritable(PRBool *_retval)
  652. {
  653. return NS_ERROR_NOT_IMPLEMENTED;
  654. }
  655. /* boolean isReadable (); */
  656. NS_IMETHODIMP nsFile::IsReadable(PRBool *_retval)
  657. {
  658. return NS_ERROR_NOT_IMPLEMENTED;
  659. }
  660. /* boolean isExecutable (); */
  661. NS_IMETHODIMP nsFile::IsExecutable(PRBool *_retval)
  662. {
  663. return NS_ERROR_NOT_IMPLEMENTED;
  664. }
  665. /* boolean isHidden (); */
  666. NS_IMETHODIMP nsFile::IsHidden(PRBool *_retval)
  667. {
  668. return NS_ERROR_NOT_IMPLEMENTED;
  669. }
  670. /* boolean isDirectory (); */
  671. NS_IMETHODIMP nsFile::IsDirectory(PRBool *_retval)
  672. {
  673. return NS_ERROR_NOT_IMPLEMENTED;
  674. }
  675. /* boolean isFile (); */
  676. NS_IMETHODIMP nsFile::IsFile(PRBool *_retval)
  677. {
  678. return NS_ERROR_NOT_IMPLEMENTED;
  679. }
  680. /* boolean isSymlink (); */
  681. NS_IMETHODIMP nsFile::IsSymlink(PRBool *_retval)
  682. {
  683. return NS_ERROR_NOT_IMPLEMENTED;
  684. }
  685. /* boolean isSpecial (); */
  686. NS_IMETHODIMP nsFile::IsSpecial(PRBool *_retval)
  687. {
  688. return NS_ERROR_NOT_IMPLEMENTED;
  689. }
  690. /* void createUnique (in unsigned long type, in unsigned long permissions); */
  691. NS_IMETHODIMP nsFile::CreateUnique(PRUint32 type, PRUint32 permissions)
  692. {
  693. return NS_ERROR_NOT_IMPLEMENTED;
  694. }
  695. /* nsIFile clone (); */
  696. NS_IMETHODIMP nsFile::Clone(nsIFile **_retval)
  697. {
  698. return NS_ERROR_NOT_IMPLEMENTED;
  699. }
  700. /* boolean equals (in nsIFile inFile); */
  701. NS_IMETHODIMP nsFile::Equals(nsIFile *inFile, PRBool *_retval)
  702. {
  703. return NS_ERROR_NOT_IMPLEMENTED;
  704. }
  705. /* boolean contains (in nsIFile inFile, in boolean recur); */
  706. NS_IMETHODIMP nsFile::Contains(nsIFile *inFile, PRBool recur, PRBool *_retval)
  707. {
  708. return NS_ERROR_NOT_IMPLEMENTED;
  709. }
  710. /* readonly attribute nsIFile parent; */
  711. NS_IMETHODIMP nsFile::GetParent(nsIFile * *aParent)
  712. {
  713. return NS_ERROR_NOT_IMPLEMENTED;
  714. }
  715. /* readonly attribute nsISimpleEnumerator directoryEntries; */
  716. NS_IMETHODIMP nsFile::GetDirectoryEntries(nsISimpleEnumerator * *aDirectoryEntries)
  717. {
  718. return NS_ERROR_NOT_IMPLEMENTED;
  719. }
  720. /* End of implementation class template. */
  721. #endif
  722. #ifdef MOZILLA_INTERNAL_API
  723. #include "nsDirectoryServiceUtils.h"
  724. #endif
  725. #endif /* __gen_nsIFile_h__ */