10
10
use std:: os:: raw:: c_void;
11
11
12
12
use base:: { CFOptionFlags , CFIndex , CFAllocatorRef , Boolean , CFTypeID , CFTypeRef , SInt32 } ;
13
+ use data:: CFDataRef ;
14
+ use array:: CFArrayRef ;
15
+ use dictionary:: CFDictionaryRef ;
13
16
use string:: { CFStringRef , CFStringEncoding } ;
14
17
use error:: CFErrorRef ;
15
18
@@ -19,6 +22,8 @@ pub struct __CFURL(c_void);
19
22
pub type CFURLRef = * const __CFURL ;
20
23
21
24
pub type CFURLBookmarkCreationOptions = CFOptionFlags ;
25
+ pub type CFURLBookmarkResolutionOptions = CFOptionFlags ;
26
+ pub type CFURLBookmarkFileCreationOptions = CFOptionFlags ;
22
27
23
28
pub type CFURLPathStyle = CFIndex ;
24
29
@@ -27,16 +32,16 @@ pub const kCFURLPOSIXPathStyle: CFURLPathStyle = 0;
27
32
pub const kCFURLHFSPathStyle: CFURLPathStyle = 1 ;
28
33
pub const kCFURLWindowsPathStyle: CFURLPathStyle = 2 ;
29
34
30
- // static kCFURLBookmarkCreationPreferFileIDResolutionMask: CFURLBookmarkCreationOptions =
31
- // (1 << 8) as u32;
32
- // static kCFURLBookmarkCreationMinimalBookmarkMask: CFURLBookmarkCreationOptions =
33
- // (1 << 9) as u32;
34
- // static kCFURLBookmarkCreationSuitableForBookmarkFile: CFURLBookmarkCreationOptions =
35
- // (1 << 10) as u32;
36
- // static kCFURLBookmarkCreationWithSecurityScope: CFURLBookmarkCreationOptions =
37
- // (1 << 11) as u32;
38
- // static kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess: CFURLBookmarkCreationOptions =
39
- // (1 << 12) as u32;
35
+ pub static kCFURLBookmarkCreationPreferFileIDResolutionMask: CFURLBookmarkCreationOptions =
36
+ ( 1 << 8 ) as u32 ;
37
+ pub static kCFURLBookmarkCreationMinimalBookmarkMask: CFURLBookmarkCreationOptions =
38
+ ( 1 << 9 ) as u32 ;
39
+ pub static kCFURLBookmarkCreationSuitableForBookmarkFile: CFURLBookmarkCreationOptions =
40
+ ( 1 << 10 ) as u32 ;
41
+ pub static kCFURLBookmarkCreationWithSecurityScope: CFURLBookmarkCreationOptions =
42
+ ( 1 << 11 ) as u32 ;
43
+ pub static kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess: CFURLBookmarkCreationOptions =
44
+ ( 1 << 12 ) as u32 ;
40
45
41
46
// TODO: there are a lot of missing keys and constants. Add if you are bored or need them.
42
47
@@ -83,8 +88,8 @@ extern {
83
88
84
89
/* Creating a CFURL */
85
90
pub fn CFURLCopyAbsoluteURL ( anURL : CFURLRef ) -> CFURLRef ;
86
- // fn CFURLCreateAbsoluteURLWithBytes
87
- // fn CFURLCreateByResolvingBookmarkData
91
+ pub fn CFURLCreateAbsoluteURLWithBytes ( allocator : CFAllocatorRef , relativeURLBytes : * const u8 , length : CFIndex , encoding : CFStringEncoding , baseURL : CFURLRef , useCompatibilityMode : Boolean ) -> CFURLRef ;
92
+ pub fn CFURLCreateByResolvingBookmarkData ( allocator : CFAllocatorRef , bookmark : CFDataRef , options : CFURLBookmarkResolutionOptions , relativeToURL : CFURLRef , resourcePropertiesToInclude : CFArrayRef , isStale : * mut Boolean , error : * mut CFErrorRef ) -> CFURLRef ;
88
93
//fn CFURLCreateCopyAppendingPathComponent
89
94
//fn CFURLCreateCopyAppendingPathExtension
90
95
//fn CFURLCreateCopyDeletingLastPathComponent
@@ -142,19 +147,19 @@ extern {
142
147
//fn CFURLClearResourcePropertyCacheForKey
143
148
//fn CFURLCopyResourcePropertiesForKeys
144
149
//fn CFURLCopyResourcePropertyForKey
145
- // fn CFURLCreateResourcePropertiesForKeysFromBookmarkData
146
- // fn CFURLCreateResourcePropertyForKeyFromBookmarkData
150
+ pub fn CFURLCreateResourcePropertiesForKeysFromBookmarkData ( allocator : CFAllocatorRef , resourcePropertiesToReturn : CFArrayRef , bookmark : CFDataRef ) -> CFDictionaryRef ;
151
+ pub fn CFURLCreateResourcePropertyForKeyFromBookmarkData ( allocator : CFAllocatorRef , resourcePropertyKey : CFStringRef , bookmark : CFDataRef ) -> CFTypeRef ;
147
152
//fn CFURLSetResourcePropertiesForKeys
148
153
pub fn CFURLSetResourcePropertyForKey ( url : CFURLRef , key : CFStringRef , value : CFTypeRef , error : * mut CFErrorRef ) -> Boolean ;
149
154
//fn CFURLSetTemporaryResourcePropertyForKey
150
155
151
156
/* Working with Bookmark Data */
152
- // fn CFURLCreateBookmarkData
153
- // fn CFURLCreateBookmarkDataFromAliasRecord
154
- // fn CFURLCreateBookmarkDataFromFile
155
- // fn CFURLWriteBookmarkDataToFile
156
- // fn CFURLStartAccessingSecurityScopedResource
157
- // fn CFURLStopAccessingSecurityScopedResource
157
+ pub fn CFURLCreateBookmarkData ( allocator : CFAllocatorRef , url : CFURLRef , options : CFURLBookmarkCreationOptions , resourcePropertiesToInclude : CFArrayRef , relativeToURL : CFURLRef , error : * mut CFErrorRef ) -> CFDataRef ;
158
+ pub fn CFURLCreateBookmarkDataFromAliasRecord ( allocator : CFAllocatorRef , aliasRecordDataRef : CFDataRef ) -> CFDataRef ;
159
+ pub fn CFURLCreateBookmarkDataFromFile ( allocator : CFAllocatorRef , fileURL : CFURLRef , errorRef : * mut CFErrorRef ) -> CFDataRef ;
160
+ pub fn CFURLWriteBookmarkDataToFile ( bookmarkRef : CFDataRef , fileURL : CFURLRef , options : CFURLBookmarkFileCreationOptions , errorRef : * mut CFErrorRef ) -> Boolean ;
161
+ pub fn CFURLStartAccessingSecurityScopedResource ( url : CFURLRef ) -> Boolean ;
162
+ pub fn CFURLStopAccessingSecurityScopedResource ( url : CFURLRef ) ;
158
163
}
159
164
160
165
#[ test]
0 commit comments