File: nsILocalFileMac.idl

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (151 lines) | stat: -rw-r--r-- 3,960 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* -*- Mode: C++; tab-width: 4; 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 "nsIFile.idl"

%{C++
#include <Carbon/Carbon.h>
#include <CoreFoundation/CoreFoundation.h>
%}

      native OSType(OSType);
      native FSSpec(FSSpec);
      native FSRef(FSRef);
[ptr] native FSRefPtr(FSRef);
      native CFURLRef(CFURLRef);

[scriptable, builtinclass, uuid(623eca5b-c25d-4e27-be5a-789a66c4b2f7)]
interface nsILocalFileMac : nsIFile
{
   /**
    * initWithCFURL
    *
    * Init this object with a CFURLRef
    *
    * NOTE: If the path of the CFURL is /a/b/c, at least a/b must exist beforehand.
    *
    * @param   aCFURL         the CoreFoundation URL
    *
    */
  [noscript] void initWithCFURL(in CFURLRef aCFURL);

   /**
    * initWithFSRef
    *
    * Init this object with an FSRef
    *
    * @param   aFSRef         the native FSRef
    *
    */
  [noscript] void initWithFSRef([const] in FSRefPtr aFSRef);

    /**
    * getCFURL
    *
    * Returns the CFURLRef of the file object. The caller is
    * responsible for calling CFRelease() on it.
    *
    * NOTE: Observes the state of the followLinks attribute.
    * If the file object is an alias and followLinks is TRUE, returns
    * the target of the alias. If followLinks is FALSE, returns
    * the unresolved alias file.
    *
    * @return
    *
    */
  [noscript] CFURLRef getCFURL();

    /**
    * getFSRef
    *
    * Returns the FSRef of the file object.
    *
    * NOTE: Observes the state of the followLinks attribute.
    * If the file object is an alias and followLinks is TRUE, returns
    * the target of the alias. If followLinks is FALSE, returns
    * the unresolved alias file.
    *
    * @return
    *
    */
  [noscript] FSRef getFSRef();

   /**
    * fileType, creator
    *
    * File type and creator attributes
    *
    */
   [noscript] attribute OSType fileType;
   [noscript] attribute OSType fileCreator;

   /**
    * launchWithDoc
    *
    * Launch the application that this file points to with a document.
    *
    * @param   aDocToLoad          Must not be NULL. If no document, use nsIFile::launch
    * @param   aLaunchInBackground TRUE if the application should not come to the front.
    *
    */
   void launchWithDoc(in nsIFile aDocToLoad, in boolean aLaunchInBackground);

   /**
    * isPackage
    *
    * returns true if a directory is determined to be a package
    *
    */
   boolean isPackage();

   /**
    * bundleDisplayName
    *
    * returns the display name of the application bundle (usually the human
    * readable name of the application)
    */
   readonly attribute AString bundleDisplayName;

    /**
     * Return whether or not the file has an extended attribute.
     *
     * @param aAttrName The attribute name to check for.
     *
     * @return Whether or not the extended attribute is present.
     */
    boolean hasXAttr(in ACString aAttrName);

    /**
     * Get the value of the extended attribute.
     *
     * @param aAttrName The attribute name to read.
     *
     * @return The extended attribute value.
     */
    Array<uint8_t> getXAttr(in ACString aAttrName);

    /**
     * Set an extended attribute.
     *
     * @param aAttrName The attribute name to set a value for.
     * @param aAttrValue The value to set for the attribute.
     */
    void setXAttr(in ACString aAttrName, in Array<uint8_t> aAttrValue);

    /**
     * Delete an extended attribute.
     *
     * @param aAttrName The extended attribute to delete.
     */
    void delXAttr(in ACString aAttrName);
};

%{C++
extern "C"
{
NS_EXPORT nsresult NS_NewLocalFileWithFSRef(const FSRef* aFSRef, nsILocalFileMac** result);
NS_EXPORT nsresult NS_NewLocalFileWithCFURL(const CFURLRef aURL, nsILocalFileMac** result);
}
%}