소스 검색

* updated headers to the OS X 10.9 SDK (includes iOS 7 SDK info)
o translation of SearchKit has been added
o a new version of the AuthorizationCallbacks record has been introduced.
Backward compatibility has been ensured by renaming the old
AuthorizationCallbacks record type to AuthorizationCallbacks0, naming
the new one AuthorizationCallbacks1 and turning AuthorizationCallbacks
into a variant record with version0 and version1 fields of those types.
Similarly, there are now kAuthorizationPluginInterfaceVersion0 and
kAuthorizationPluginInterfaceVersion1 constants, with
kAuthorizationPluginInterfaceVersion aliasing
the new kAuthorizationPluginInterfaceVersion1
o the CGFunctionCreate and CGFunctionEvaluateCallback signatures have been
corrected (mantis #28484)

git-svn-id: trunk@31334 -

Jonas Maebe 10 년 전
부모
커밋
6c9f7b25a9
100개의 변경된 파일1570개의 추가작업 그리고 376개의 파일을 삭제
  1. 9 0
      .gitattributes
  2. 4 2
      packages/univint/Makefile.fpc.fpcmake
  3. 18 0
      packages/univint/fpmake.pp
  4. 3 6
      packages/univint/src/AEDataModel.pas
  5. 0 2
      packages/univint/src/AEHelpers.pas
  6. 0 2
      packages/univint/src/AEMach.pas
  7. 0 2
      packages/univint/src/AEObjects.pas
  8. 0 2
      packages/univint/src/AEPackObject.pas
  9. 0 2
      packages/univint/src/AERegistry.pas
  10. 0 2
      packages/univint/src/AEUserTermTypes.pas
  11. 0 2
      packages/univint/src/AIFF.pas
  12. 0 2
      packages/univint/src/AVLTree.pas
  13. 0 2
      packages/univint/src/Aliases.pas
  14. 3 2
      packages/univint/src/AuthSession.pas
  15. 1 0
      packages/univint/src/Authorization.pas
  16. 1 0
      packages/univint/src/AuthorizationDB.pas
  17. 66 2
      packages/univint/src/AuthorizationPlugin.pas
  18. 1 0
      packages/univint/src/AuthorizationTags.pas
  19. 2 4
      packages/univint/src/BackupCore.pas
  20. 1 4
      packages/univint/src/CFArray.pas
  21. 1 5
      packages/univint/src/CFAttributedString.pas
  22. 1 4
      packages/univint/src/CFBag.pas
  23. 27 13
      packages/univint/src/CFBase.pas
  24. 1 4
      packages/univint/src/CFBinaryHeap.pas
  25. 1 5
      packages/univint/src/CFBitVector.pas
  26. 1 4
      packages/univint/src/CFBundle.pas
  27. 1 5
      packages/univint/src/CFCalendar.pas
  28. 1 4
      packages/univint/src/CFCharacterSet.pas
  29. 1 4
      packages/univint/src/CFData.pas
  30. 19 5
      packages/univint/src/CFDate.pas
  31. 2 7
      packages/univint/src/CFDateFormatter.pas
  32. 1 4
      packages/univint/src/CFDictionary.pas
  33. 1 6
      packages/univint/src/CFError.pas
  34. 1 0
      packages/univint/src/CFFTPStream.pas
  35. 252 0
      packages/univint/src/CFFileDescriptor.pas
  36. 476 0
      packages/univint/src/CFFileSecurity.pas
  37. 1 0
      packages/univint/src/CFHTTPAuthentication.pas
  38. 18 1
      packages/univint/src/CFHTTPMessage.pas
  39. 1 0
      packages/univint/src/CFHTTPStream.pas
  40. 1 0
      packages/univint/src/CFHost.pas
  41. 1 6
      packages/univint/src/CFLocale.pas
  42. 1 5
      packages/univint/src/CFMachPort.pas
  43. 1 5
      packages/univint/src/CFMessagePort.pas
  44. 1 0
      packages/univint/src/CFNetDiagnostics.pas
  45. 1 0
      packages/univint/src/CFNetServices.pas
  46. 1 0
      packages/univint/src/CFNetworkErrorss.pas
  47. 1 6
      packages/univint/src/CFNotificationCenter.pas
  48. 1 4
      packages/univint/src/CFNumber.pas
  49. 1 6
      packages/univint/src/CFNumberFormatter.pas
  50. 7 6
      packages/univint/src/CFPlugIn.pas
  51. 1 5
      packages/univint/src/CFPlugInCOM.pas
  52. 2 5
      packages/univint/src/CFPreferences.pas
  53. 5 8
      packages/univint/src/CFPropertyList.pas
  54. 1 0
      packages/univint/src/CFProxySupport.pas
  55. 15 4
      packages/univint/src/CFRunLoop.pas
  56. 1 4
      packages/univint/src/CFSet.pas
  57. 2 5
      packages/univint/src/CFSocket.pas
  58. 4 5
      packages/univint/src/CFSocketStream.pas
  59. 36 18
      packages/univint/src/CFStream.pas
  60. 6 7
      packages/univint/src/CFString.pas
  61. 1 4
      packages/univint/src/CFStringEncodingExt.pas
  62. 1 3
      packages/univint/src/CFStringTokenizer.pas
  63. 1 4
      packages/univint/src/CFTimeZone.pas
  64. 1 4
      packages/univint/src/CFTree.pas
  65. 62 10
      packages/univint/src/CFURL.pas
  66. 34 30
      packages/univint/src/CFURLAccess.pas
  67. 289 0
      packages/univint/src/CFURLEnumerator.pas
  68. 1 5
      packages/univint/src/CFUUID.pas
  69. 1 6
      packages/univint/src/CFUserNotification.pas
  70. 13 12
      packages/univint/src/CFXMLNode.pas
  71. 18 21
      packages/univint/src/CFXMLParser.pas
  72. 1 0
      packages/univint/src/CGAffineTransforms.pas
  73. 5 0
      packages/univint/src/CGBase.pas
  74. 1 0
      packages/univint/src/CGBitmapContext.pas
  75. 1 0
      packages/univint/src/CGColor.pas
  76. 1 0
      packages/univint/src/CGColorSpace.pas
  77. 41 57
      packages/univint/src/CGContext.pas
  78. 1 0
      packages/univint/src/CGDataConsumer.pas
  79. 3 1
      packages/univint/src/CGDataProvider.pas
  80. 3 2
      packages/univint/src/CGDirectDisplay.pas
  81. 1 0
      packages/univint/src/CGDirectPalette.pas
  82. 1 0
      packages/univint/src/CGDisplayConfiguration.pas
  83. 2 1
      packages/univint/src/CGDisplayFades.pas
  84. 1 0
      packages/univint/src/CGErrors.pas
  85. 10 6
      packages/univint/src/CGEvent.pas
  86. 1 0
      packages/univint/src/CGEventSource.pas
  87. 32 0
      packages/univint/src/CGEventTypes.pas
  88. 3 2
      packages/univint/src/CGFunction.pas
  89. 1 0
      packages/univint/src/CGGLContext.pas
  90. 23 0
      packages/univint/src/CGGeometry.pas
  91. 1 0
      packages/univint/src/CGGradient.pas
  92. 1 0
      packages/univint/src/CGImage.pas
  93. 1 0
      packages/univint/src/CGLayer.pas
  94. 1 0
      packages/univint/src/CGPDFArray.pas
  95. 1 0
      packages/univint/src/CGPDFContentStream.pas
  96. 1 0
      packages/univint/src/CGPDFContext.pas
  97. 1 0
      packages/univint/src/CGPDFDictionary.pas
  98. 1 0
      packages/univint/src/CGPDFDocument.pas
  99. 1 0
      packages/univint/src/CGPDFObject.pas
  100. 1 0
      packages/univint/src/CGPDFOperatorTable.pas

+ 9 - 0
.gitattributes

@@ -7124,6 +7124,8 @@ packages/univint/src/CFDateFormatter.pas svneol=native#text/plain
 packages/univint/src/CFDictionary.pas svneol=native#text/plain
 packages/univint/src/CFError.pas svneol=native#text/plain
 packages/univint/src/CFFTPStream.pas svneol=native#text/plain
+packages/univint/src/CFFileDescriptor.pas svneol=native#text/plain
+packages/univint/src/CFFileSecurity.pas svneol=native#text/plain
 packages/univint/src/CFHTTPAuthentication.pas svneol=native#text/plain
 packages/univint/src/CFHTTPMessage.pas svneol=native#text/plain
 packages/univint/src/CFHTTPStream.pas svneol=native#text/plain
@@ -7154,6 +7156,7 @@ packages/univint/src/CFTimeZone.pas svneol=native#text/plain
 packages/univint/src/CFTree.pas svneol=native#text/plain
 packages/univint/src/CFURL.pas svneol=native#text/plain
 packages/univint/src/CFURLAccess.pas svneol=native#text/plain
+packages/univint/src/CFURLEnumerator.pas svneol=native#text/plain
 packages/univint/src/CFUUID.pas svneol=native#text/plain
 packages/univint/src/CFUserNotification.pas svneol=native#text/plain
 packages/univint/src/CFXMLNode.pas svneol=native#text/plain
@@ -7448,6 +7451,11 @@ packages/univint/src/SCSI.pas svneol=native#text/plain
 packages/univint/src/SCSchemaDefinitions.pas svneol=native#text/plain
 packages/univint/src/SFNTLayoutTypes.pas svneol=native#text/plain
 packages/univint/src/SFNTTypes.pas svneol=native#text/plain
+packages/univint/src/SKAnalysis.pas svneol=native#text/plain
+packages/univint/src/SKDocument.pas svneol=native#text/plain
+packages/univint/src/SKIndex.pas svneol=native#text/plain
+packages/univint/src/SKSearch.pas svneol=native#text/plain
+packages/univint/src/SKSummary.pas svneol=native#text/plain
 packages/univint/src/ScalerStreamTypes.pas svneol=native#text/plain
 packages/univint/src/Scrap.pas svneol=native#text/plain
 packages/univint/src/Script.pas svneol=native#text/plain
@@ -7485,6 +7493,7 @@ packages/univint/src/Video.pas svneol=native#text/plain
 packages/univint/src/WSMethodInvocation.pas svneol=native#text/plain
 packages/univint/src/WSProtocolHandler.pas svneol=native#text/plain
 packages/univint/src/WSTypes.pas svneol=native#text/plain
+packages/univint/src/acl.pas svneol=native#text/plain
 packages/univint/src/cblas.pas svneol=native#text/plain
 packages/univint/src/certextensions.pas svneol=native#text/plain
 packages/univint/src/cssmapple.pas svneol=native#text/plain

+ 4 - 2
packages/univint/Makefile.fpc.fpcmake

@@ -98,8 +98,10 @@ implicitunits=ABActions ABAddressBook ABGlobals ABPeoplePicker ABTypedefs AEData
   certextensions cssmapple cssmconfig cssmerr cssmkrapi cssmtype \
   fenv fp gliContexts gliDispatch gluContext kern_return macgl macglext \
   macglu mach_error vBLAS vDSP x509defs xattr \
-  AudioHardwareBase.pas AudioHardwareDeprecated.pas CGImageMetadata.pas CSIdentityBase.pas \
-  CVPixelBufferIOSurface.pas CaptiveNetwork.pas DictionaryServices.pas QLThumbnail.pas
+  AudioHardwareBase AudioHardwareDeprecated CGImageMetadata CSIdentityBase \
+  CVPixelBufferIOSurface CaptiveNetwork DictionaryServices QLThumbnail.pas \
+  acl CFFileDescriptor CFFileSecurity CFURLEnumerator SKAnalysis \
+  SKDocument SKIndex SKSearch SKSummary
 exampledirs=examples
 
 [libs]

+ 18 - 0
packages/univint/fpmake.pp

@@ -101,12 +101,15 @@ begin
     T:=P.Targets.AddImplicitUnit('CFDateFormatter.pas');
     T:=P.Targets.AddImplicitUnit('CFDictionary.pas');
     T:=P.Targets.AddImplicitUnit('CFError.pas');
+    T:=P.Targets.AddImplicitUnit('CFFileDescriptor.pas');
+    T:=P.Targets.AddImplicitUnit('CFFileSecurity.pas');
     T:=P.Targets.AddImplicitUnit('CFFTPStream.pas');
     T:=P.Targets.AddImplicitUnit('CFHTTPAuthentication.pas');
     T:=P.Targets.AddImplicitUnit('CFHTTPMessage.pas');
     T:=P.Targets.AddImplicitUnit('CFHTTPStream.pas');
     T:=P.Targets.AddImplicitUnit('CFHost.pas');
     T:=P.Targets.AddImplicitUnit('CFLocale.pas');
+    T:=P.Targets.AddImplicitUnit('CFURLEnumerator.pas');
     T:=P.Targets.AddImplicitUnit('CFMachPort.pas');
     T:=P.Targets.AddImplicitUnit('CFMessagePort.pas');
     T:=P.Targets.AddImplicitUnit('CFNetDiagnostics.pas');
@@ -426,6 +429,11 @@ begin
     T:=P.Targets.AddImplicitUnit('Script.pas');
     T:=P.Targets.AddImplicitUnit('SecBase.pas');
     T:=P.Targets.AddImplicitUnit('SecTrust.pas');
+    T:=P.Targets.AddImplicitUnit('SKAnalysis.pas');
+    T:=P.Targets.AddImplicitUnit('SKDocument.pas');
+    T:=P.Targets.AddImplicitUnit('SKIndex.pas');
+    T:=P.Targets.AddImplicitUnit('SKSearch.pas');
+    T:=P.Targets.AddImplicitUnit('SKSummary.pas');
     T:=P.Targets.AddImplicitUnit('Sound.pas');
     T:=P.Targets.AddImplicitUnit('SpeechRecognition.pas');
     T:=P.Targets.AddImplicitUnit('SpeechSynthesis.pas');
@@ -456,6 +464,7 @@ begin
     T:=P.Targets.AddImplicitUnit('WSMethodInvocation.pas');
     T:=P.Targets.AddImplicitUnit('WSProtocolHandler.pas');
     T:=P.Targets.AddImplicitUnit('WSTypes.pas');
+    T:=P.Targets.AddImplicitUnit('acl.pas');
     T:=P.Targets.AddImplicitUnit('cblas.pas');
     T:=P.Targets.AddImplicitUnit('certextensions.pas');
     T:=P.Targets.AddImplicitUnit('cssmapple.pas');
@@ -505,6 +514,7 @@ begin
           AddInclude('src/Threads.pas');
           AddInclude('src/UTCUtils.pas');
           AddInclude('src/UnicodeConverter.pas');
+          AddInclude('src/acl.pas');
           AddInclude('src/cblas.pas');
           AddInclude('src/cssmconfig.pas');
           AddInclude('src/cssmerr.pas');
@@ -645,11 +655,14 @@ begin
           AddInclude('src/CFArray.pas');
           AddInclude('src/CFBag.pas');
           AddInclude('src/CFCharacterSet.pas');
+          AddInclude('src/CFFileDescriptor.pas');
+          AddInclude('src/CFFileSecurity.pas');
           AddInclude('src/CFLocale.pas');
           AddInclude('src/CFNumberFormatter.pas');
           AddInclude('src/CFString.pas');
           AddInclude('src/CFStringTokenizer.pas');
           AddInclude('src/CFTimeZone.pas');
+          AddInclude('src/CFURLEnumerator.pas');
           AddInclude('src/CFUUID.pas');
           AddInclude('src/CGAffineTransforms.pas');
           AddInclude('src/CGImageMetadata.pas');
@@ -935,6 +948,11 @@ begin
           AddInclude('src/IBCarbonRuntime.pas');
           AddInclude('src/HIToolbox.pas');
           AddInclude('src/ObjCRuntime.pas');
+          AddInclude('src/SKAnalysis.pas');
+          AddInclude('src/SKDocument.pas');
+          AddInclude('src/SKIndex.pas');
+          AddInclude('src/SKSearch.pas');
+          AddInclude('src/SKSummary.pas');
         end;
 
     P.ExamplePath.Add('examples');

+ 3 - 6
packages/univint/src/AEDataModel.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -305,7 +303,7 @@ const
 	typeType = FourCharCode('type'); { OSType }
 	typeAppParameters = FourCharCode('appa');
 	typeProperty = FourCharCode('prop');
-	typeFSRef = FourCharCode('fsrf'); { FSRef }
+	typeFSRef = FourCharCode('fsrf'); { FSRef.  Deprecated; use typeFileURL or typeBookmark data to refer to files in AppleEvents }
 	typeFileURL = FourCharCode('furl'); { a UTF-8 encoded full path, using native path separators }
 	typeBookmarkData = FourCharCode('bmrk'); { the bytes of a CFURLBookmarkData }
 	typeKeyword = FourCharCode('keyw'); { OSType }
@@ -321,7 +319,7 @@ const
 {$ifc not TARGET_CPU_64}
 {
     FSSpecs are deprecated on Mac OS X, and their use in AppleEvents is discouraged.  You should change
-    your code to use FSRefs.  In __LP64__ code, coercions into typeFSS is not supported,
+    your code to use typeFileURL or typeFileBookmark.  In __LP64__ code, coercions into typeFSS is not supported,
     and coercion from typeFSS is not guaranteed to work correctly in all cases.
 }
 const
@@ -375,7 +373,7 @@ const
 	keySenderUIDAttr = FourCharCode('uids'); { read only, returned as typeSInt32.  Will be the uid of the sender of this event. } { Mac OS X 10.6 or later }
 	keySenderGIDAttr = FourCharCode('gids'); { read only, returned as typeSInt32.  Will be the gid of the sender of this event. } { Mac OS X 10.6 or later }
 	keySenderPIDAttr = FourCharCode('spid'); { read only, returned as typeSInt32.  Will be the pid of the sender of this event. } { Mac OS X 10.6 or later }
-	keySenderAuditTokenAttr = FourCharCode('tokn'); { read only, returned as an audit_token_t.  Will be the audit token of the sender of this event. } { Mac OS X 10.6 or later } { Mac OS X 10.8 or later }
+	keySenderAuditTokenAttr = FourCharCode('tokn'); { read only, returned as an audit_token_t.  Will be the audit token of the sender of this event. } { Mac OS X 10.6 or later }
 	keySenderApplescriptEntitlementsAttr = FourCharCode('entl'); { read only, an AEDesc containing opaque data representing the entitlements held by the sender. Interpreted by sandbox routines. } { Mac OS X 10.8 or later }
 	keySenderApplicationIdentifierEntitlementAttr = FourCharCode('aiea');
 	keySenderApplicationSandboxed = FourCharCode('sssb'); { read-only, an AEDesc typeBoolean, true if the sender application was in an application sandbox } { Mac OS X 10.8 or later }
@@ -519,7 +517,6 @@ type
 		descKey: AEKeyword;
 		descContent: AEDesc;
 	end;
-
 { a list of AEDesc's is a special kind of AEDesc }
 
 type

+ 0 - 2
packages/univint/src/AEHelpers.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AEMach.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AEObjects.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2011 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AEPackObject.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AERegistry.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AEUserTermTypes.pas

@@ -13,8 +13,6 @@
                      http://bugs.freepascal.org
  
 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AIFF.pas

@@ -6,8 +6,6 @@
  
      Copyright:  © 1989-2011 by Apple Inc. All rights reserved.
 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/AVLTree.pas

@@ -6,8 +6,6 @@
  
      Copyright:  © 1999-2011 by Apple Inc. All rights reserved.
 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 0 - 2
packages/univint/src/Aliases.pas

@@ -7,8 +7,6 @@
  
      Copyright:  © 1989-2011 by Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 3 - 2
packages/univint/src/AuthSession.pas

@@ -23,6 +23,7 @@
 {  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
 {  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
 
 {
     Modified for use with Free Pascal
@@ -342,7 +343,7 @@ const
         
     @param attributes (output/optional) Receives the attribute bits for the session.
 
-    @result An OSStatus indicating success (noErr) or an error cause.
+    @result An OSStatus indicating success (errSecSuccess) or an error cause.
     
     errSessionInvalidId -60500 Invalid session id specified
 
@@ -375,7 +376,7 @@ function SessionGetInfo( session: SecuritySessionId; sessionId: SecuritySessionI
     @param attributes The set of attribute bits to set for the new session.
         Not all bits can be set this way.
     
-    @result An OSStatus indicating success (noErr) or an error cause.
+    @result An OSStatus indicating success (errSecSuccess) or an error cause.
     
     errSessionInvalidAttributes -60501 Attempt to set invalid attribute bits	
     errSessionAuthorizationDenied -60502 Attempt to re-initialize a session

+ 1 - 0
packages/univint/src/Authorization.pas

@@ -24,6 +24,7 @@
 {  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/AuthorizationDB.pas

@@ -22,6 +22,7 @@
  }
 {  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
 {  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
 
 {
     Modified for use with Free Pascal

+ 66 - 2
packages/univint/src/AuthorizationPlugin.pas

@@ -22,6 +22,7 @@
  }
 {  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
 {  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
 
 {
     Modified for use with Free Pascal
@@ -375,7 +376,10 @@ const
     The value is matched to the definition in this file.
 }
 const
-	kAuthorizationPluginInterfaceVersion = 0;
+	kAuthorizationPluginInterfaceVersion0 = 0;
+	kAuthorizationPluginInterfaceVersion1 = 1; { new in OS X 10.9 }
+
+	kAuthorizationPluginInterfaceVersion = kAuthorizationPluginInterfaceVersion1;
 
 {!
     @enum
@@ -403,7 +407,7 @@ const
     @field GetSessionId     Read SessionId.
 }
 type
-	AuthorizationCallbacks = record
+	AuthorizationCallbacks0 = record
 { Engine callback version. }
 		version: UInt32;
 
@@ -450,6 +454,66 @@ type
       						   var outSessionId : AuthorizationSessionId) : OSStatus;
 	end;
 
+	AuthorizationCallbacks1 = record
+{ Engine callback version. }
+		version: UInt32;
+
+    { Set a result after a call to AuthorizationSessionInvoke. }
+{    OSStatus (*SetResult)(AuthorizationEngineRef inEngine, AuthorizationResult inResult); }
+	 SetResult : function (inEngine : AuthorizationEngineRef; inResult : AuthorizationResult) : OSStatus;
+
+    { Request authorization engine to interrupt all mechamisms invoked after 
+        this mechamism has called SessionSetResult and then call 
+        AuthorizationSessionInvoke again. }
+     RequestInterrupt : function (inEngine : AuthorizationEngineRef) : OSStatus;
+     
+    { Respond to the Deactivate request. }
+	 DidDeactivate : function (inEngine : AuthorizationEngineRef) : OSStatus;
+
+    { Read value from context.  AuthorizationValue does not own data. }
+        GetContextValue : function (inEngine			: AuthorizationEngineRef;
+        							inKey				: AuthorizationString;
+        							var outContextFlags : AuthorizationContextFlags;
+        							var outValue		: AuthorizationValuePtr) : OSStatus;
+
+    { Write value to context.  AuthorizationValue and data are copied. }
+	 SetContextValue : function (inEngine 	: AuthorizationEngineRef;
+	 							 inKey		: AuthorizationString;
+	 							 inContextFlags	: AuthorizationContextFlags;
+	 							 inValue		: AuthorizationValuePtr) : OSStatus;
+
+    { Read value from hints. AuthorizationValue does not own data. }
+	GetHintValue : function (inEngine		: AuthorizationEngineRef;
+							 inKey			: AuthorizationString;
+							 var outValue	: AuthorizationValuePtr) : OSStatus;
+							 
+    { Write value to hints.  AuthorizationValue and data are copied. }
+	SetHintValue : function (inEngine	: AuthorizationEngineRef;
+							 inKey		: AuthorizationString;
+							 inValue	: AuthorizationValuePtr) : OSStatus;
+							 
+    { Read arguments passed.  AuthorizationValueVector does not own data. }
+	GetArguments : function (inEngine	 		: AuthorizationEngineRef;
+							 var outArguments	: AuthorizationValueVectorPtr) : OSStatus;
+							 
+    { Read SessionId. }
+      GetSessionId : function (inEngine			: AuthorizationEngineRef;
+      						   var outSessionId : AuthorizationSessionId) : OSStatus;
+
+    { Read value from hints. AuthorizationValue does not own data. }
+  GetImmutableHintValue: function (inEngine: AuthorizationEngineRef;
+                     inKey: AuthorizationString;
+                     var outValue: AuthorizationValuePtr): OSStatus; 
+
+	end;
+	
+	{ support both interface version 0 and 1 }
+	AuthorizationCallbacks = record
+	  case byte of
+	    0: (version0: AuthorizationCallbacks0);
+	    1: (version1: AuthorizationCallbacks1);
+	end;
+	
 	AuthorizationCallbacksPtr = ^AuthorizationCallbacks;
 
 {!

+ 1 - 0
packages/univint/src/AuthorizationTags.pas

@@ -23,6 +23,7 @@
 {  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {  Pascal Translation Update: Gorazd Krosl <[email protected]>, October 2009 }
 {  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
  
 {
     Modified for use with Free Pascal

+ 2 - 4
packages/univint/src/BackupCore.pas

@@ -11,8 +11,6 @@
                      http://bugs.freepascal.org
  
 }
-{   Pascal Translation:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -248,7 +246,7 @@ uses MacTypes,CFBase;
  *    Non-Carbon CFM:   not available
  }
 function CSBackupSetItemExcluded( item: CFURLRef; exclude: Boolean; excludeByPath: Boolean ): OSStatus; external name '_CSBackupSetItemExcluded';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA) *)
 
 
 {
@@ -280,7 +278,7 @@ function CSBackupSetItemExcluded( item: CFURLRef; exclude: Boolean; excludeByPat
  *    Non-Carbon CFM:   not available
  }
 function CSBackupIsItemExcluded( item: CFURLRef; var excludeByPath: Boolean ): Boolean; external name '_CSBackupIsItemExcluded';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA) *)
 
 {$endc} {TARGET_OS_MAC}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 1 - 4
packages/univint/src/CFArray.pas

@@ -1,9 +1,6 @@
 {	CFArray.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 5
packages/univint/src/CFAttributedString.pas

@@ -1,10 +1,6 @@
 {	CFAttributedString.h
-	Copyright (c) 2004-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2004-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
-{       Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFBag.pas

@@ -1,9 +1,6 @@
 {	CFBag.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 27 - 13
packages/univint/src/CFBase.pas

@@ -1,11 +1,6 @@
 {	CFBase.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{ 		Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
-{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
-
 {
     Modified for use with Free Pascal
     Version 308
@@ -342,6 +337,18 @@ const
 	kCFCoreFoundationVersionNumber10_7_3 = 635.19;
 const
 	kCFCoreFoundationVersionNumber10_7_4 = 635.21;
+const
+	kCFCoreFoundationVersionNumber10_7_5 = 635.21;
+const
+	kCFCoreFoundationVersionNumber10_8 = 744.00;
+const
+	kCFCoreFoundationVersionNumber10_8_1 = 744.00;
+const
+	kCFCoreFoundationVersionNumber10_8_2 = 744.12;
+const
+	kCFCoreFoundationVersionNumber10_8_3 = 744.18;
+const
+	kCFCoreFoundationVersionNumber10_8_4 = 744.19;
 {$endc}
 
 {$ifc TARGET_OS_IPHONE}
@@ -366,9 +373,13 @@ const
 const
 	kCFCoreFoundationVersionNumber_iOS_4_3 = 550.52;
 const
-	kCFCoreFoundationVersionNumber_iOS_5_0 = 675;
+	kCFCoreFoundationVersionNumber_iOS_5_0 = 675.00;
+const
+	kCFCoreFoundationVersionNumber_iOS_5_1 = 690.10;
 const
-	kCFCoreFoundationVersionNumber_iOS_5_1 = 690.1;
+	kCFCoreFoundationVersionNumber_iOS_6_0 = 793.00;
+const
+	kCFCoreFoundationVersionNumber_iOS_6_1 = 793.00;
 {$endc}
 
 type
@@ -562,12 +573,10 @@ function CFRetain( cf: CFTypeRef ): CFTypeRef; external name '_CFRetain';
 
 procedure CFRelease( cf: CFTypeRef ); external name '_CFRelease';
 
-function CFGetRetainCount( cf: CFTypeRef ): CFIndex; external name '_CFGetRetainCount';
+function CFAutorelease( arg: CFTypeRef {CF_RELEASES_ARGUMENT} ): CFTypeRef; external name '_CFAutorelease';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
 
-// This function is unavailable in ARC mode. Use CFBridgingRelease instead.
-{ CF_AUTOMATED_REFCOUNT_UNAVAILABLE }
-function CFMakeCollectable( cf: CFTypeRef ): CFTypeRef; external name '_CFMakeCollectable';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) 
+function CFGetRetainCount( cf: CFTypeRef ): CFIndex; external name '_CFGetRetainCount';
 
 function CFEqual( cf1: CFTypeRef; cf2: CFTypeRef ): Boolean; external name '_CFEqual';
 
@@ -577,6 +586,11 @@ function CFCopyDescription( cf: CFTypeRef ): CFStringRef; external name '_CFCopy
 
 function CFGetAllocator( cf: CFTypeRef ): CFAllocatorRef; external name '_CFGetAllocator';
 
+// This function is unavailable in ARC mode. Use CFBridgingRelease instead.
+{ CF_AUTOMATED_REFCOUNT_UNAVAILABLE }
+function CFMakeCollectable( cf: CFTypeRef ): CFTypeRef; external name '_CFMakeCollectable';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) 
+
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 1 - 4
packages/univint/src/CFBinaryHeap.pas

@@ -1,9 +1,6 @@
 {	CFBinaryHeap.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 5
packages/univint/src/CFBitVector.pas

@@ -1,10 +1,6 @@
 {	CFBitVector.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFBundle.pas

@@ -1,9 +1,6 @@
 {	CFBundle.h
-	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc.  All rights reserved.
 }
-{       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 5
packages/univint/src/CFCalendar.pas

@@ -1,10 +1,6 @@
 {	CFCalendar.h
-	Copyright (c) 2004-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2004-2013, Apple Inc. All rights reserved.
 }
-{       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
-{       Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFCharacterSet.pas

@@ -1,9 +1,6 @@
 {	CFCharacterSet.h
-	Copyright (c) 1999-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFData.pas

@@ -1,9 +1,6 @@
 {	CFData.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 19 - 5
packages/univint/src/CFDate.pas

@@ -1,9 +1,6 @@
 {	CFDate.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -245,6 +242,7 @@ type
 		minute: SInt8;
 		second: Float64;
 	end;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	CFGregorianDatePtr = ^CFGregorianDate;
 
 type
@@ -256,34 +254,50 @@ type
 		minutes: SInt32;
 		seconds: Float64;
 	end;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	CFGregorianUnitsPtr = ^CFGregorianUnits;
 
 type
 	CFGregorianUnitFlags = CFOptionFlags;
 const
 	kCFGregorianUnitsYears = 1 shl 0;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianUnitsMonths = 1 shl 1;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianUnitsDays = 1 shl 2;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianUnitsHours = 1 shl 3;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianUnitsMinutes = 1 shl 4;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianUnitsSeconds = 1 shl 5;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 	kCFGregorianAllUnits = $00FFFFFF;
+	(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFGregorianDateIsValid( gdate: CFGregorianDate; unitFlags: CFOptionFlags ): Boolean; external name '_CFGregorianDateIsValid';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
-function CFGregorianDateGetAbsoluteTime( gdate: CFGregorianDate; tz: CFTimeZoneRef ): CFAbsoluteTime; external name '_CFGregorianDateGetAbsoluteTime';
+function CFGregorianDateGetAbsoluteTime( gdate: CFGregorianDate; tz: CFTimeZoneRef ): CFAbsoluteTime; external name '_CFGregorianDateGetAbsoluteTime'; 
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeGetGregorianDate( at: CFAbsoluteTime; tz: CFTimeZoneRef ): CFGregorianDate; external name '_CFAbsoluteTimeGetGregorianDate';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeAddGregorianUnits( at: CFAbsoluteTime; tz: CFTimeZoneRef; units: CFGregorianUnits ): CFAbsoluteTime; external name '_CFAbsoluteTimeAddGregorianUnits';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeGetDifferenceAsGregorianUnits( at1: CFAbsoluteTime; at2: CFAbsoluteTime; tz: CFTimeZoneRef; unitFlags: CFOptionFlags ): CFGregorianUnits; external name '_CFAbsoluteTimeGetDifferenceAsGregorianUnits';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeGetDayOfWeek( at: CFAbsoluteTime; tz: CFTimeZoneRef ): SInt32; external name '_CFAbsoluteTimeGetDayOfWeek';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeGetDayOfYear( at: CFAbsoluteTime; tz: CFTimeZoneRef ): SInt32; external name '_CFAbsoluteTimeGetDayOfYear';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 function CFAbsoluteTimeGetWeekOfYear( at: CFAbsoluteTime; tz: CFTimeZoneRef ): SInt32; external name '_CFAbsoluteTimeGetWeekOfYear';
+(* CF_CALENDAR_DEPRECATED(10_4, 10_9, 2_0, 7_0, "Use CFCalendar or NSCalendar API instead") *)
 
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 

+ 2 - 7
packages/univint/src/CFDateFormatter.pas

@@ -1,11 +1,6 @@
 {	CFDateFormatter.h
-	Copyright (c) 2003-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2003-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -371,7 +366,7 @@ var kCFDateFormatterDoesRelativeDateFormattingKey: CFStringRef; external name '_
 //	const CFStringRef kCFRepublicOfChinaCalendar;
 //	const CFStringRef kCFPersianCalendar;
 //	const CFStringRef kCFIndianCalendar;
-//	const CFStringRef kCFISO8601Calendar;   not yet implemented
+//	const CFStringRef kCFISO8601Calendar;   implemented as of 10.9
 
 {#endif}
 

+ 1 - 4
packages/univint/src/CFDictionary.pas

@@ -1,9 +1,6 @@
 {	CFDictionary.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 6
packages/univint/src/CFError.pas

@@ -1,11 +1,6 @@
 {	CFError.h
-	Copyright (c) 2006-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2006-2013, Apple Inc. All rights reserved.
 }
-
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{	 Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	 Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
-
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CFFTPStream.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 252 - 0
packages/univint/src/CFFileDescriptor.pas

@@ -0,0 +1,252 @@
+{	CFFileDescriptor.h
+	Copyright (c) 2006-2013, Apple Inc. All rights reserved.
+}
+{
+    Modified for use with Free Pascal
+    Version 308
+    Please report any bugs to <[email protected]>
+}
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$calling mwpascal}
+
+unit CFFileDescriptor;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
+{$setc GAP_INTERFACES_VERSION := $0308}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC32}
+	{$setc __ppc__ := 1}
+{$elsec}
+	{$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
+	{$setc __ppc64__ := 1}
+{$elsec}
+	{$setc __ppc64__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+	{$setc __i386__ := 1}
+{$elsec}
+	{$setc __i386__ := 0}
+{$endc}
+{$ifc not defined __x86_64__ and defined CPUX86_64}
+	{$setc __x86_64__ := 1}
+{$elsec}
+	{$setc __x86_64__ := 0}
+{$endc}
+{$ifc not defined __arm__ and defined CPUARM}
+	{$setc __arm__ := 1}
+{$elsec}
+	{$setc __arm__ := 0}
+{$endc}
+{$ifc not defined __arm64__ and defined CPUAARCH64}
+  {$setc __arm64__ := 1}
+{$elsec}
+  {$setc __arm64__ := 0}
+{$endc}
+
+{$ifc defined cpu64}
+  {$setc __LP64__ := 1}
+{$elsec}
+  {$setc __LP64__ := 0}
+{$endc}
+
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+	{$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+	{$setc TARGET_CPU_PPC := TRUE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __ppc64__ and __ppc64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := TRUE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __i386__ and __i386__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := TRUE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+{$ifc defined(iphonesim)}
+ 	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
+{$elsec}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+{$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __x86_64__ and __x86_64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := TRUE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __arm__ and __arm__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := TRUE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elifc defined __arm64__ and __arm64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := TRUE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elsec}
+	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
+{$endc}
+
+{$ifc defined __LP64__ and __LP64__ }
+  {$setc TARGET_CPU_64 := TRUE}
+{$elsec}
+  {$setc TARGET_CPU_64 := FALSE}
+{$endc}
+
+{$ifc defined FPC_BIG_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes,CFBase,CFString,CFRunLoop;
+{$endc} {not MACOSALLINCLUDE}
+
+{$ALIGN POWER}
+
+
+type
+	CFFileDescriptorNativeDescriptor = SInt32;
+
+type
+	CFFileDescriptorRef = ^__CFFileDescriptor; { an opaque type }
+	__CFFileDescriptor = record end;
+
+{ Callback Reason Types }
+const
+	kCFFileDescriptorReadCallBack = UInt32(1 shl 0);
+	kCFFileDescriptorWriteCallBack = UInt32(1 shl 1);
+
+type
+	CFFileDescriptorCallBack = procedure( f: CFFileDescriptorRef; callBackTypes: CFOptionFlags; info: UnivPtr );
+
+type
+	CFFileDescriptorContext = record
+		version: CFIndex;
+		info: UnivPtr;
+		retain: procedure( info: UnivPtr );
+		release: procedure( info: UnivPtr );
+		copyDescription: function( info: UnivPtr): CFStringRef;
+	end;
+	CFFileDescriptorContextPtr = ^CFFileDescriptorContext;
+
+function CFFileDescriptorGetTypeID: CFTypeID; external name '_CFFileDescriptorGetTypeID';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+function CFFileDescriptorCreate( allocator: CFAllocatorRef; fd: CFFileDescriptorNativeDescriptor; closeOnInvalidate: Boolean; callout: CFFileDescriptorCallBack; const (*var*) context: CFFileDescriptorContext ): CFFileDescriptorRef; external name '_CFFileDescriptorCreate';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+function CFFileDescriptorGetNativeDescriptor( f: CFFileDescriptorRef ): CFFileDescriptorNativeDescriptor; external name '_CFFileDescriptorGetNativeDescriptor';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+procedure CFFileDescriptorGetContext( f: CFFileDescriptorRef; var context: CFFileDescriptorContext ); external name '_CFFileDescriptorGetContext';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+procedure CFFileDescriptorEnableCallBacks( f: CFFileDescriptorRef; callBackTypes: CFOptionFlags ); external name '_CFFileDescriptorEnableCallBacks';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+procedure CFFileDescriptorDisableCallBacks( f: CFFileDescriptorRef; callBackTypes: CFOptionFlags ); external name '_CFFileDescriptorDisableCallBacks';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+procedure CFFileDescriptorInvalidate( f: CFFileDescriptorRef ); external name '_CFFileDescriptorInvalidate';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+function CFFileDescriptorIsValid( f: CFFileDescriptorRef ): Boolean; external name '_CFFileDescriptorIsValid';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+function CFFileDescriptorCreateRunLoopSource( allocator: CFAllocatorRef; f: CFFileDescriptorRef; order: CFIndex ): CFRunLoopSourceRef; external name '_CFFileDescriptorCreateRunLoopSource';
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+
+end.
+{$endc} {not MACOSALLINCLUDE}

+ 476 - 0
packages/univint/src/CFFileSecurity.pas

@@ -0,0 +1,476 @@
+{
+ *  CFFileSecurity.h
+ *  NSFileSecurity and CFFileSecurity are toll-free bridged.
+ *
+ *  Copyright (c) 2010-2013, Apple Inc. All rights reserved.
+ }
+{
+    Modified for use with Free Pascal
+    Version 308
+    Please report any bugs to <[email protected]>
+}
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$calling mwpascal}
+
+unit CFFileSecurity;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
+{$setc GAP_INTERFACES_VERSION := $0308}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC32}
+	{$setc __ppc__ := 1}
+{$elsec}
+	{$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
+	{$setc __ppc64__ := 1}
+{$elsec}
+	{$setc __ppc64__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+	{$setc __i386__ := 1}
+{$elsec}
+	{$setc __i386__ := 0}
+{$endc}
+{$ifc not defined __x86_64__ and defined CPUX86_64}
+	{$setc __x86_64__ := 1}
+{$elsec}
+	{$setc __x86_64__ := 0}
+{$endc}
+{$ifc not defined __arm__ and defined CPUARM}
+	{$setc __arm__ := 1}
+{$elsec}
+	{$setc __arm__ := 0}
+{$endc}
+{$ifc not defined __arm64__ and defined CPUAARCH64}
+  {$setc __arm64__ := 1}
+{$elsec}
+  {$setc __arm64__ := 0}
+{$endc}
+
+{$ifc defined cpu64}
+  {$setc __LP64__ := 1}
+{$elsec}
+  {$setc __LP64__ := 0}
+{$endc}
+
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+	{$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+	{$setc TARGET_CPU_PPC := TRUE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __ppc64__ and __ppc64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := TRUE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __i386__ and __i386__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := TRUE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+{$ifc defined(iphonesim)}
+ 	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
+{$elsec}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+{$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __x86_64__ and __x86_64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := TRUE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __arm__ and __arm__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := TRUE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elifc defined __arm64__ and __arm64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := TRUE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elsec}
+	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
+{$endc}
+
+{$ifc defined __LP64__ and __LP64__ }
+  {$setc TARGET_CPU_64 := TRUE}
+{$elsec}
+  {$setc TARGET_CPU_64 := FALSE}
+{$endc}
+
+{$ifc defined FPC_BIG_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes,MacOSXPosix,CFBase,acl,CFUUID;
+{$endc} {not MACOSALLINCLUDE}
+
+{$ALIGN POWER}
+
+
+{ #if (TARGET_OS_MAC || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) || CF_BUILDING_CF || NSBUILDINGFOUNDATION }
+
+
+{
+ *	A CFFileSecurity object encapulates a file system object's security information
+ *	in a CF object.
+ }
+type
+	CFFileSecurityRef = ^__CFFileSecurity; { an opaque type }
+	__CFFileSecurity = record end;
+
+{
+ *	Returns the type identifier for the CFFileSecurity opaque type.
+ *
+ *	Return Value
+ *		The type identifier for the CFFileSecurity opaque type.
+ }
+function CFFileSecurityGetTypeID: CFTypeID; external name '_CFFileSecurityGetTypeID';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	Creates an CFFileSecurity object.
+ *
+ *	Parameters
+ *		allocator
+ *			The allocator to use to allocate memory for the new object. Pass
+ *			NULL or kCFAllocatorDefault to use the current default allocator.
+ *	Return Value
+ *		A new CFFileSecurity object, or NULL if there was a problem creating the
+ *		object. Ownership follows the Create Rule.
+ }
+function CFFileSecurityCreate( allocator: CFAllocatorRef ): CFFileSecurityRef; external name '_CFFileSecurityCreate';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *  Creates a copy of a CFFileSecurity object.
+ *
+ *  Parameters
+ *		allocator
+ *			The allocator to use to allocate memory for the new object. Pass
+ *			NULL or kCFAllocatorDefault to use the current default allocator.
+ *		fileSec
+ *			The CFFileSecurity object to copy.
+ *	Return Value
+ *		A copy of fileSec, or NULL if there was a problem creating the object.
+ *		Ownership follows the Create Rule.
+ }
+function CFFileSecurityCreateCopy( allocator: CFAllocatorRef; fileSec: CFFileSecurityRef ): CFFileSecurityRef; external name '_CFFileSecurityCreateCopy';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine copies the owner UUID associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		ownerUUID
+ *			A pointer to storage for the owner UUID.
+ *	Return Value
+ *		true if ownerUUID is successfully returned; false if there is no owner
+ *		UUID property associated with an CFFileSecurity object.
+ }
+function CFFileSecurityCopyOwnerUUID( fileSec: CFFileSecurityRef; var ownerUUID: CFUUIDRef ): Boolean; external name '_CFFileSecurityCopyOwnerUUID';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+{
+ *	This routine sets the owner UUID associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		ownerUUID
+ *			The owner UUID.
+ *	Return Value
+ *		true if the owner UUID was successfully set; otherwise, false.
+ }
+function CFFileSecuritySetOwnerUUID( fileSec: CFFileSecurityRef; ownerUUID: CFUUIDRef ): Boolean; external name '_CFFileSecuritySetOwnerUUID';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+{
+ *	This routine copies the group UUID associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		groupUUID
+ *			A pointer to storage for the group UUID.
+ *	Return Value
+ *		true if groupUUID is successfully returned; false if there is no group
+ *		UUID property associated with an CFFileSecurity object.
+ }
+function CFFileSecurityCopyGroupUUID( fileSec: CFFileSecurityRef; var groupUUID: CFUUIDRef ): Boolean; external name '_CFFileSecurityCopyGroupUUID';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine sets the group UUID associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		groupUUID
+ *			The group UUID.
+ *	Return Value
+ *		true if the group UUID was successfully set; otherwise, false.
+ }
+function CFFileSecuritySetGroupUUID( fileSec: CFFileSecurityRef; groupUUID: CFUUIDRef ): Boolean; external name '_CFFileSecuritySetGroupUUID';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine copies the access control list (acl_t) associated with an
+ *	CFFileSecurity object. The acl_t returned by this routine is a copy and must
+ *	be released using acl_free(3). The acl_t is meant to be manipulated using
+ *	the acl calls defined in <sys/acl.h>.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		accessControlList
+ *			A pointer to storage for an acl_t. The acl_t be released using
+ *			acl_free(3)
+ *	Return Value
+ *		true if the access control list is successfully copied; false if there is
+ *		no access control list property associated with the CFFileSecurity object.
+ }
+function CFFileSecurityCopyAccessControlList( fileSec: CFFileSecurityRef; var accessControlList: acl_t ): Boolean; external name '_CFFileSecurityCopyAccessControlList';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+const kCFFileSecurityRemoveACL = acl_t(1);
+
+{
+ *	This routine will set the access control list (acl_t) associated with an
+ *	CFFileSecurityRef. To request removal of an access control list from a
+ *	filesystem object, pass in kCFFileSecurityRemoveACL as the acl_t and set
+ *	the fileSec on the target object using CFURLSetResourcePropertyForKey and
+ *	the kCFURLFileSecurityKey. Setting the accessControlList to NULL will result
+ *	in the property being unset.
+ *
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		accessControlList
+ *			The acl_t to set, or kCFFileSecurityRemoveACL to remove the access
+ *			control list, or NULL to unset the accessControlList.
+ *	Return Value
+ *		true if the access control list is successfully set; otherwise, false.
+ }
+function CFFileSecuritySetAccessControlList( fileSec: CFFileSecurityRef; accessControlList: acl_t ): Boolean; external name '_CFFileSecuritySetAccessControlList';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine gets the owner uid_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			A pointer to where the owner uid_t will be put.
+ *	Return Value
+ *		true if owner uid_t is successfully obtained; false if there is no owner
+ *		property associated with an CFFileSecurity object.
+ }
+function CFFileSecurityGetOwner( fileSec: CFFileSecurityRef; var owner: uid_t ): Boolean; external name '_CFFileSecurityGetOwner';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine sets the owner uid_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			The owner uid_t.
+ *	Return Value
+ *		true if the owner uid_t was successfully set; otherwise, false.
+ }
+function CFFileSecuritySetOwner( fileSec: CFFileSecurityRef; owner: uid_t ): Boolean; external name '_CFFileSecuritySetOwner';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine gets the group gid_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			A pointer to where the group gid_t will be put.
+ *	Return Value
+ *		true if group gid_t is successfully obtained; false if there is no group
+ *		property associated with an CFFileSecurity object.
+ }
+function CFFileSecurityGetGroup( fileSec: CFFileSecurityRef; var group: gid_t ): Boolean; external name '_CFFileSecurityGetGroup';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine sets the group gid_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			The group gid_t.
+ *	Return Value
+ *		true if the group gid_t was successfully set; otherwise, false.
+ }
+function CFFileSecuritySetGroup( fileSec: CFFileSecurityRef; group: gid_t ): Boolean; external name '_CFFileSecuritySetGroup';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine gets the mode_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			A pointer to where the mode_t will be put.
+ *	Return Value
+ *		true if mode_t is successfully obtained; false if there is no mode
+ *		property associated with an CFFileSecurity object.
+ }
+function CFFileSecurityGetMode( fileSec: CFFileSecurityRef; var mode: mode_t ): Boolean; external name '_CFFileSecurityGetMode';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{
+ *	This routine sets the mode_t associated with an CFFileSecurity object.
+ *  
+ *	Parameters
+ *		fileSec
+ *			The CFFileSecurity object.
+ *		owner
+ *			The mode_t.
+ *	Return Value
+ *		true if the mode_t was successfully set; otherwise, false.
+ }
+function CFFileSecuritySetMode( fileSec: CFFileSecurityRef; mode: mode_t ): Boolean; external name '_CFFileSecuritySetMode';
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
+
+
+{ values to pass in the clearPropertyMask to CFFileSecurityClearProperties }
+type
+  CFFileSecurityClearOptions = CFOptionFlags;
+const
+    kCFFileSecurityClearOwner               = UNSIGNEDLONG(1) shl 0;
+    kCFFileSecurityClearGroup               = UNSIGNEDLONG(1) shl 1;
+    kCFFileSecurityClearMode                = UNSIGNEDLONG(1) shl 2;
+    kCFFileSecurityClearOwnerUUID           = UNSIGNEDLONG(1) shl 3;
+    kCFFileSecurityClearGroupUUID           = UNSIGNEDLONG(1) shl 4;
+    kCFFileSecurityClearAccessControlList   = UNSIGNEDLONG(1) shl 5;
+
+{
+ *	This routine clears file security properties in the CFFileSecurity object.
+ *  
+ *	Parameters
+ *		clearPropertyMask
+ *			The file security properties to clear.
+ *	Return Value
+ *		true if the file security properties were successfully cleared; otherwise, false.
+ }
+function CFFileSecurityClearProperties( fileSec: CFFileSecurityRef; clearPropertyMask: CFFileSecurityClearOptions ): Boolean; external name '_CFFileSecurityClearProperties';
+(* CF_AVAILABLE_STARTING(10_8, 6_0) *)
+
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+
+end.
+{$endc} {not MACOSALLINCLUDE}

+ 1 - 0
packages/univint/src/CFHTTPAuthentication.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 18 - 1
packages/univint/src/CFHTTPMessage.pas

@@ -15,6 +15,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -343,7 +344,23 @@ var kCFHTTPAuthenticationSchemeXMobileMeAuthToken: CFStringRef; external name '_
  *	Non-Carbon CFM:   not available
  }
 var kCFHTTPAuthenticationSchemeKerberos: CFStringRef; external name '_kCFHTTPAuthenticationSchemeKerberos'; (* attribute const *)
-(* __OSX_AVAILABLE_STARTING(__MAC_10_5 { REMINDSMA: 10_7 },__IPHONE_2_0 { REMINDSMA: 4_0 }) *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0) *)
+
+{$ifc TARGET_OS_MAC}
+{
+ *  kCFHTTPAuthenticationSchemeOAuth1
+ *
+ *  Discussion:
+ *	HTTP OAuth 1.0 authentication scheme.
+ *
+ *  Availability:
+ *	Mac OS X:		 in version 10.9 and later in CoreServices.framework
+ *	CarbonLib:		not available
+ *	Non-Carbon CFM:   not available
+ }
+var kCFHTTPAuthenticationSchemeOAuth1: CFStringRef; external name '_kCFHTTPAuthenticationSchemeOAuth1'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_9,__IPHONE_NA) *)
+{$endc}
 
 	
 {

+ 1 - 0
packages/univint/src/CFHTTPStream.pas

@@ -15,6 +15,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CFHost.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 6
packages/univint/src/CFLocale.pas

@@ -1,11 +1,6 @@
 {	CFLocale.h
-	Copyright (c) 2002-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2002-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 5
packages/univint/src/CFMachPort.pas

@@ -1,10 +1,6 @@
 {	CFMachPort.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 5
packages/univint/src/CFMessagePort.pas

@@ -1,10 +1,6 @@
 {	CFMessagePort.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CFNetDiagnostics.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CFNetServices.pas

@@ -15,6 +15,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CFNetworkErrorss.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 6
packages/univint/src/CFNotificationCenter.pas

@@ -1,11 +1,6 @@
 {	CFNotificationCenter.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFNumber.pas

@@ -1,9 +1,6 @@
 {	CFNumber.h
-	Copyright (c) 1999-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 6
packages/univint/src/CFNumberFormatter.pas

@@ -1,11 +1,6 @@
 {	CFNumberFormatter.h
-	Copyright (c) 2003-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2003-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 7 - 6
packages/univint/src/CFPlugIn.pas

@@ -1,10 +1,6 @@
 {	CFPlugIn.h
-	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc.  All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected], October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -294,9 +290,14 @@ type
 	CFPlugInInstanceDeallocateInstanceDataFunction = procedure( instanceData: UnivPtr );
 
 function CFPlugInInstanceGetInterfaceFunctionTable( instance: CFPlugInInstanceRef; interfaceName: CFStringRef; var ftbl: UnivPtr ): Boolean; external name '_CFPlugInInstanceGetInterfaceFunctionTable';
-function CFPlugInInstanceGetFactoryName( instance: CFPlugInInstanceRef ): CFStringRef; external name '_CFPlugInInstanceGetFactoryName';
+
+{ This function returns a retained object on 10.8 or later. }
+function CFPlugInInstanceGetFactoryName( instance: CFPlugInInstanceRef ): CFStringRef; external name '_CFPlugInInstanceGetFactoryName'; {CF_RETURNS_RETAINED; }
+
 function CFPlugInInstanceGetInstanceData( instance: CFPlugInInstanceRef ): UnivPtr; external name '_CFPlugInInstanceGetInstanceData';
+
 function CFPlugInInstanceGetTypeID: CFTypeID; external name '_CFPlugInInstanceGetTypeID';
+
 function CFPlugInInstanceCreateWithInstanceDataSize( allocator: CFAllocatorRef; instanceDataSize: CFIndex; deallocateInstanceFunction: CFPlugInInstanceDeallocateInstanceDataFunction; factoryName: CFStringRef; getInterfaceFunction: CFPlugInInstanceGetInterfaceFunction ): CFPlugInInstanceRef; external name '_CFPlugInInstanceCreateWithInstanceDataSize';
 
 

+ 1 - 5
packages/univint/src/CFPlugInCOM.pas

@@ -1,10 +1,6 @@
 {	CFPlugInCOM.h
-	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc.  All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 2 - 5
packages/univint/src/CFPreferences.pas

@@ -1,10 +1,6 @@
 {	CFPreferences.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -282,6 +278,7 @@ which have preferences in the scope of the given user and host.
 The returned value must be released by the caller; neither argument
 may be NULL. }
 function CFPreferencesCopyApplicationList( userName: CFStringRef; hostName: CFStringRef ): CFArrayRef; external name '_CFPreferencesCopyApplicationList';
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 { Constructs and returns the list of all keys set in the given
 location.  The returned value must be released by the caller;

+ 5 - 8
packages/univint/src/CFPropertyList.pas

@@ -1,9 +1,6 @@
 {	CFPropertyList.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -293,10 +290,10 @@ function CFPropertyListCreateFromStream( allocator: CFAllocatorRef; stream: CFRe
 
 {#if MAC_OS_X_VERSION_10_6 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 const
-	kCFPropertyListReadCorruptError = 3840; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)             // Error parsing a property list
-	kCFPropertyListReadUnknownVersionError = 3841; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)      // The version number in the property list is unknown
-	kCFPropertyListReadStreamError = 3842; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)              // Stream error reading a property list
-	kCFPropertyListWriteStreamError = 3851; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)             // Stream error writing a property list
+	kCFPropertyListReadCorruptError = 3840; (* CF_ENUM_AVAILABLE(10_6, 4_0) *)             // Error parsing a property list
+	kCFPropertyListReadUnknownVersionError = 3841; (* CF_ENUM_AVAILABLE(10_6, 4_0) *)      // The version number in the property list is unknown
+	kCFPropertyListReadStreamError = 3842; (* CF_ENUM_AVAILABLE(10_6, 4_0) *)              // Stream error reading a property list
+	kCFPropertyListWriteStreamError = 3851; (* CF_ENUM_AVAILABLE(10_6, 4_0) *)             // Stream error writing a property list
 {#endif}
 
 { Create a property list with a CFData input. If the format parameter is non-NULL, it will be set to the format of the data after parsing is complete. The options parameter is used to specify CFPropertyListMutabilityOptions. If an error occurs while parsing the data, the return value will be NULL. Additionally, if an error occurs and the error parameter is non-NULL, the error parameter will be set to a CFError describing the problem, which the caller must release. If the parse succeeds, the returned value is a reference to the new property list. It is the responsibility of the caller to release this value.

+ 1 - 0
packages/univint/src/CFProxySupport.pas

@@ -14,6 +14,7 @@
 {       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 15 - 4
packages/univint/src/CFRunLoop.pas

@@ -1,9 +1,6 @@
 {	CFRunLoop.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -596,6 +593,10 @@ type
 function CFRunLoopTimerGetTypeID: CFTypeID; external name '_CFRunLoopTimerGetTypeID';
 
 function CFRunLoopTimerCreate( allocator: CFAllocatorRef; fireDate: CFAbsoluteTime; interval: CFTimeInterval; flags: CFOptionFlags; order: CFIndex; callout: CFRunLoopTimerCallBack; var context: CFRunLoopTimerContext ): CFRunLoopTimerRef; external name '_CFRunLoopTimerCreate';
+{$ifdef __BLOCKS__}
+extern CFRunLoopTimerRef CFRunLoopTimerCreateWithHandler(CFAllocatorRef allocator, CFAbsoluteTime fireDate, CFTimeInterval interval, CFOptionFlags flags, CFIndex order, void (^block) (CFRunLoopTimerRef timer)) CF_AVAILABLE_STARTING(10_7, 5_0);
+{$endif} { __BLOCKS__ }
+
 function CFRunLoopTimerGetNextFireDate( timer: CFRunLoopTimerRef ): CFAbsoluteTime; external name '_CFRunLoopTimerGetNextFireDate';
 procedure CFRunLoopTimerSetNextFireDate( timer: CFRunLoopTimerRef; fireDate: CFAbsoluteTime ); external name '_CFRunLoopTimerSetNextFireDate';
 function CFRunLoopTimerGetInterval( timer: CFRunLoopTimerRef ): CFTimeInterval; external name '_CFRunLoopTimerGetInterval';
@@ -605,6 +606,16 @@ procedure CFRunLoopTimerInvalidate( timer: CFRunLoopTimerRef ); external name '_
 function CFRunLoopTimerIsValid( timer: CFRunLoopTimerRef ): Boolean; external name '_CFRunLoopTimerIsValid';
 procedure CFRunLoopTimerGetContext( timer: CFRunLoopTimerRef; var context: CFRunLoopTimerContext ); external name '_CFRunLoopTimerGetContext';
 
+{
+Setting a tolerance for a timer allows it to fire later than the scheduled fire date, improving the ability of the system to optimize for increased power savings and responsiveness. The timer may fire at any time between its scheduled fire date and the scheduled fire date plus the tolerance. The timer will not fire before the scheduled fire date. For repeating timers, the next fire date is calculated from the original fire date regardless of tolerance applied at individual fire times, to avoid drift. The default value is zero, which means no additional tolerance is applied. The system reserves the right to apply a small amount of tolerance to certain timers regardless of the value of this property.
+
+ As the user of the timer, you will have the best idea of what an appropriate tolerance for a timer may be. A general rule of thumb, though, is to set the tolerance to at least 10% of the interval, for a repeating timer. Even a small amount of tolerance will have a significant positive impact on the power usage of your application. The system may put a maximum value of the tolerance.
+}
+function CFRunLoopTimerGetTolerance( timer: CFRunLoopTimerRef ): CFTimeInterval; external name '_CFRunLoopTimerGetTolerance';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+procedure CFRunLoopTimerSetTolerance( timer: CFRunLoopTimerRef; tolerance: CFTimeInterval ); external name '_CFRunLoopTimerSetTolerance';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 1 - 4
packages/univint/src/CFSet.pas

@@ -1,9 +1,6 @@
 {	CFSet.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 2 - 5
packages/univint/src/CFSocket.pas

@@ -1,10 +1,6 @@
 {	CFSocket.h
-	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc.  All rights reserved.
 }
-{   Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -348,6 +344,7 @@ function CFSocketGetTypeID: CFTypeID; external name '_CFSocketGetTypeID';
 function CFSocketCreate( allocator: CFAllocatorRef; protocolFamily: SInt32; socketType: SInt32; protocol: SInt32; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext ): CFSocketRef; external name '_CFSocketCreate';
 function CFSocketCreateWithNative( allocator: CFAllocatorRef; sock: CFSocketNativeHandle; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext ): CFSocketRef; external name '_CFSocketCreateWithNative';
 function CFSocketCreateWithSocketSignature( allocator: CFAllocatorRef; const (*var*) signature: CFSocketSignature; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext ): CFSocketRef; external name '_CFSocketCreateWithSocketSignature';
+{ CFSocketCreateWithSocketSignature() creates a socket of the requested type and binds its address (using CFSocketSetAddress()) to the requested address.  If this fails, it returns NULL. }
 function CFSocketCreateConnectedToSocketSignature( allocator: CFAllocatorRef; const (*var*) signature: CFSocketSignature; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext; timeout: CFTimeInterval ): CFSocketRef; external name '_CFSocketCreateConnectedToSocketSignature';
 { CFSocketCreateConnectedToSocketSignature() creates a socket suitable for connecting to the requested type and address, and connects it (using CFSocketConnectToAddress()).  If this fails, it returns NULL. }
 

+ 4 - 5
packages/univint/src/CFSocketStream.pas

@@ -15,6 +15,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -215,7 +216,6 @@ uses MacTypes,CFStream,CFBase,CFHost,CFNetServices;
 {$ALIGN POWER}
 
 
-{$ifc not TARGET_OS_MAC}
 {
  *  kCFStreamPropertySSLContext 
  *
@@ -247,8 +247,7 @@ uses MacTypes,CFStream,CFBase,CFHost,CFNetServices;
  * later.
  }
 var kCFStreamPropertySSLContext: CFStringRef; external name '_kCFStreamPropertySSLContext'; (* attribute const *)
-(* __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_5_0) *)
-{$endc} { not TARGET_OS_MAC}
+(* __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_5_0) *)
 
 {
  *  kCFStreamPropertySSLPeerTrust
@@ -477,7 +476,7 @@ var kCFStreamNetworkServiceTypeVoice: CFStringRef; external name '_kCFStreamNetw
  *  Discussion:
  *  Stream property value, for both set and copy operations.
  *  The value is a CFBooleanRef which indicates whether the connection
- *  is allowed to use the build in celluar radios.  A value of kCFBooleanTrue 
+ *  is allowed to use the built-in celluar radios.  A value of kCFBooleanTrue 
  *  disallows use of cellular interfaces.  kCFBooleanFalse (the default)
  *  allows use of cellular interfaces.
  *  
@@ -494,7 +493,7 @@ var kCFStreamPropertyNoCellular: CFStringRef; external name '_kCFStreamPropertyN
  * interface or has not yet established a connection.
  }
 var kCFStreamPropertyConnectionIsCellular: CFStringRef; external name '_kCFStreamPropertyConnectionIsCellular'; (* attribute const *)
-(* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0) *)
 
 {
  *  kCFStreamErrorDomainWinSock

+ 36 - 18
packages/univint/src/CFStream.pas

@@ -1,12 +1,6 @@
 {	CFStream.h
-	Copyright (c) 2000-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2000-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{     Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -201,7 +195,7 @@ interface
 {$setc TYPE_BOOL := FALSE}
 {$setc TYPE_EXTENDED := FALSE}
 {$setc TYPE_LONGLONG := TRUE}
-uses MacTypes,CFBase,CFString,CFDictionary,CFURL,CFRunLoop,CFSocket,CFError;
+uses MacTypes,MacOSXPosix,CFBase,CFString,CFDictionary,CFURL,CFRunLoop,CFSocket,CFError;
 {$endc} {not MACOSALLINCLUDE}
 
 {$ALIGN POWER}
@@ -294,12 +288,14 @@ var kCFStreamPropertySocketRemoteHostName: CFStringRef; external name '_kCFStrea
 { Value will be a CFNumber, or NULL if unknown }
 var kCFStreamPropertySocketRemotePortNumber: CFStringRef; external name '_kCFStreamPropertySocketRemotePortNumber'; (* attribute const *)
 
+{ CF_IMPLICIT_BRIDGING_DISABLED }
 { Socket streams; the returned streams are paired such that they use the same socket; pass NULL if you want only the read stream or the write stream }
 procedure CFStreamCreatePairWithSocket( alloc: CFAllocatorRef; sock: CFSocketNativeHandle; var readStream: CFReadStreamRef; var writeStream: CFWriteStreamRef ); external name '_CFStreamCreatePairWithSocket';
 procedure CFStreamCreatePairWithSocketToHost( alloc: CFAllocatorRef; host: CFStringRef; port: UInt32; var readStream: CFReadStreamRef; var writeStream: CFWriteStreamRef ); external name '_CFStreamCreatePairWithSocketToHost';
 {#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 procedure CFStreamCreatePairWithPeerSocketSignature( alloc: CFAllocatorRef; const (*var*) signature: CFSocketSignature; var readStream: CFReadStreamRef; var writeStream: CFWriteStreamRef ); external name '_CFStreamCreatePairWithPeerSocketSignature';
 {#endif}
+{ CF_IMPLICIT_BRIDGING_ENABLED }
 
 
 { Returns the current state of the stream }
@@ -340,12 +336,12 @@ function CFReadStreamHasBytesAvailable( stream: CFReadStreamRef ): Boolean; exte
 function CFReadStreamRead( stream: CFReadStreamRef; buffer: UnivPtr; bufferLength: CFIndex ): CFIndex; external name '_CFReadStreamRead';
 
 { Returns a pointer to an internal buffer if possible (setting *numBytesRead
-   to the length of the returned buffer), otherwise returns NULL; guaranteed 
-   to return in O(1).  Bytes returned in the buffer are considered read from 
+   to the length of the returned buffer), otherwise returns NULL; guaranteed
+   to return in O(1).  Bytes returned in the buffer are considered read from
    the stream; if maxBytesToRead is greater than 0, not more than maxBytesToRead
    will be returned.  If maxBytesToRead is less than or equal to zero, as many bytes
-   as are readily available will be returned.  The returned buffer is good only 
-   until the next stream operation called on the stream.  Caller should neither 
+   as are readily available will be returned.  The returned buffer is good only
+   until the next stream operation called on the stream.  Caller should neither
    change the contents of the returned buffer nor attempt to deallocate the buffer;
    it is still owned by the stream. }
 function CFReadStreamGetBuffer( stream: CFReadStreamRef; maxBytesToRead: CFIndex; var numBytesRead: CFIndex ): UInt8Ptr; external name '_CFReadStreamGetBuffer';
@@ -382,12 +378,11 @@ function CFWriteStreamSetProperty( stream: CFWriteStreamRef; propertyName: CFStr
 { Asynchronous processing - If you wish to neither poll nor block, you may register 
    a client to hear about interesting events that occur on a stream.  Only one client
    per stream is allowed; registering a new client replaces the previous one.
-
-   Once you have set a client, you need to schedule a run loop on which that client
-   can be notified.  You may schedule multiple run loops (for instance, if you are 
-   using a thread pool).  The client callback will be triggered via one of the scheduled
-   run loops; It is the caller's responsibility to ensure that at least one of the 
-   scheduled run loops is being run.
+ 
+   Once you have set a client, the stream must be scheduled to provide the context in
+   which the client will be called.  Streams may be scheduled on a single dispatch queue
+   or on one or more run loops.  If scheduled on a run loop, it is the caller's responsibility
+   to ensure that at least one of the scheduled run loops is being run.
 
    NOTE: Unlike other CoreFoundation APIs, pasing a NULL clientContext here will remove
    the client.  If you do not care about the client context (i.e. your only concern
@@ -405,6 +400,29 @@ procedure CFWriteStreamScheduleWithRunLoop( stream: CFWriteStreamRef; runLoop: C
 procedure CFReadStreamUnscheduleFromRunLoop( stream: CFReadStreamRef; runLoop: CFRunLoopRef; runLoopMode: CFStringRef ); external name '_CFReadStreamUnscheduleFromRunLoop';
 procedure CFWriteStreamUnscheduleFromRunLoop( stream: CFWriteStreamRef; runLoop: CFRunLoopRef; runLoopMode: CFStringRef ); external name '_CFWriteStreamUnscheduleFromRunLoop';
 
+{
+ * Specify the dispatch queue upon which the client callbacks will be invoked.
+ * Passing NULL for the queue will prevent future callbacks from being invoked.
+ * Specifying a dispatch queue using this API will unschedule the stream from
+ * any run loops it had previously been scheduled upon - similarly, scheduling
+ * with a runloop will disassociate the stream from any existing dispatch queue.
+ }
+procedure CFReadStreamSetDispatchQueue( stream: CFReadStreamRef; q: dispatch_queue_t ); external name '_CFReadStreamSetDispatchQueue';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+
+procedure CFWriteStreamSetDispatchQueue( stream: CFWriteStreamRef; q: dispatch_queue_t ); external name '_CFWriteStreamSetDispatchQueue';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+
+{
+ * Returns the previously set dispatch queue with an incremented retain count.  
+ * Note that the stream's queue may have been set to NULL if the stream was 
+ * scheduled on a runloop subsequent to it having had a dispatch queue set.
+ }
+function CFReadStreamCopyDispatchQueue( stream: CFReadStreamRef ): dispatch_queue_t; external name '_CFReadStreamCopyDispatchQueue';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+
+function CFWriteStreamCopyDispatchQueue( stream: CFWriteStreamRef ): dispatch_queue_t; external name '_CFWriteStreamCopyDispatchQueue';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
 
 { The following API is deprecated starting in 10.5; please use CFRead/WriteStreamCopyError(), above, instead }
 const

+ 6 - 7
packages/univint/src/CFString.pas

@@ -1,9 +1,6 @@
 {	CFString.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -310,7 +307,8 @@ const
 { CFString type ID }
 function CFStringGetTypeID: CFTypeID; external name '_CFStringGetTypeID';
 
-{ Macro to allow creation of compile-time constant strings; the argument should be a constant string.
+{ CFSTR() allows creation of compile-time constant CFStringRefs; the argument 
+should be a constant C-string.
 
 CFSTR(), not being a "Copy" or "Create" function, does not return a new
 reference for you. So, you should not release the return value. This is
@@ -430,7 +428,8 @@ function CFStringCreateWithCStringNoCopy( alloc: CFAllocatorRef; cStr: ConstCStr
 
 { The following takes an explicit length, and allows you to specify whether the data is an external format --- that is, whether to pay attention to the BOM character (if any) and do byte swapping if necessary
 }
-function CFStringCreateWithBytesNoCopy( alloc: CFAllocatorRef; bytes: UnivPtr; numBytes: CFIndex; encoding: CFStringEncoding; isExternalRepresentation: Boolean; contentsDeallocator: CFAllocatorRef ): CFStringRef; external name '_CFStringCreateWithBytesNoCopy'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+function CFStringCreateWithBytesNoCopy( alloc: CFAllocatorRef; bytes: UnivPtr; numBytes: CFIndex; encoding: CFStringEncoding; isExternalRepresentation: Boolean; contentsDeallocator: CFAllocatorRef ): CFStringRef; external name '_CFStringCreateWithBytesNoCopy';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
 function CFStringCreateWithCharactersNoCopy( alloc: CFAllocatorRef; chars: UniCharPtr; numChars: CFIndex; contentsDeallocator: CFAllocatorRef ): CFStringRef; external name '_CFStringCreateWithCharactersNoCopy';
 
@@ -871,7 +870,7 @@ procedure CFStringNormalize( theString: CFMutableStringRef; theForm: CFStringNor
 }
 
 procedure CFStringFold( theString: CFMutableStringRef; theFlags: CFOptionFlags; theLocale: CFLocaleRef ); external name '_CFStringFold';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 {#endif MAC_OS_X_VERSION_10_5 <= MAC_OS_X_VERSION_MAX_ALLOWED }
 
 

+ 1 - 4
packages/univint/src/CFStringEncodingExt.pas

@@ -1,9 +1,6 @@
 {	CFStringEncodingExt.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 3
packages/univint/src/CFStringTokenizer.pas

@@ -1,8 +1,6 @@
 {	CFStringTokenizer.h
-	Copyright (c) 2006-2012, Apple Inc. All rights reserved.
+	Copyright (c) 2006-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2010 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFTimeZone.pas

@@ -1,9 +1,6 @@
 {	CFTimeZone.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 4
packages/univint/src/CFTree.pas

@@ -1,9 +1,6 @@
 {	CFTree.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 62 - 10
packages/univint/src/CFURL.pas

@@ -1,9 +1,6 @@
 {	CFURL.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -231,6 +228,11 @@ function CFURLGetTypeID: CFTypeID; external name '_CFURLGetTypeID';
 
 { encoding will be used both to interpret the bytes of URLBytes, and to }
 { interpret any percent-escapes within the bytes. }
+{ Using a string encoding which isn't a superset of ASCII encoding is not }
+{ supported because CFURLGetBytes and CFURLGetByteRangeForComponent require }
+{ 7-bit ASCII characters to be stored in a single 8-bit byte. }
+{ CFStringEncodings which are a superset of ASCII encoding include MacRoman, }
+{ WindowsLatin1, ISOLatin1, NextStepLatin, ASCII, and UTF8. }
 function CFURLCreateWithBytes( allocator: CFAllocatorRef; URLBytes: UInt8Ptr; length: CFIndex; encoding: CFStringEncoding; baseURL: CFURLRef ): CFURLRef; external name '_CFURLCreateWithBytes';
 
 { Escapes any character that is not 7-bit ASCII with the byte-code }
@@ -254,7 +256,12 @@ function CFURLCreateWithString( allocator: CFAllocatorRef; URLString: CFStringRe
 { in relative portion, leading "../" components are removed from the }
 { final URL's path, and if the relative portion contains only }
 { resource specifier pieces (query, parameters, and fragment), then }
-{ the last path component of the base URL will not be deleted  }
+{ the last path component of the base URL will not be deleted.  }
+{ Using a string encoding which isn't a superset of ASCII encoding is not }
+{ supported because CFURLGetBytes and CFURLGetByteRangeForComponent require }
+{ 7-bit ASCII characters to be stored in a single 8-bit byte. }
+{ CFStringEncodings which are a superset of ASCII encoding include MacRoman, }
+{ WindowsLatin1, ISOLatin1, NextStepLatin, ASCII, and UTF8. }
 function CFURLCreateAbsoluteURLWithBytes( alloc: CFAllocatorRef; relativeURLBytes: UInt8Ptr; length: CFIndex; encoding: CFStringEncoding; baseURL: CFURLRef; useCompatibilityMode: Boolean ): CFURLRef; external name '_CFURLCreateAbsoluteURLWithBytes';
 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
 {#endif}
@@ -553,6 +560,18 @@ function CFURLCreateStringByAddingPercentEscapes( allocator: CFAllocatorRef; ori
 { #if (TARGET_OS_MAC || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) || CF_BUILDING_CF || NSBUILDINGFOUNDATION }
 { CF_IMPLICIT_BRIDGING_DISABLED }
 
+{
+    CFURLIsFileReferenceURL
+
+    Returns whether the URL is a file reference URL.
+
+    Parameters
+        url
+            The URL specifying the resource.
+ }
+function CFURLIsFileReferenceURL( url: CFURLRef ): Boolean; external name '_CFURLIsFileReferenceURL';
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+
 {
     CFURLCreateFileReferenceURL
     
@@ -600,13 +619,17 @@ function CFURLCreateFileReferenceURL( allocator: CFAllocatorRef; url: CFURLRef;
 function CFURLCreateFilePathURL( allocator: CFAllocatorRef; url: CFURLRef; var error: CFErrorRef ): CFURLRef; external name '_CFURLCreateFilePathURL';
 (* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
+{ CF_IMPLICIT_BRIDGING_ENABLED }
 {#ifndef CF_OPEN_SOURCE}
 
+// Note: CFURLCreateFromFSRef and CFURLGetFSRef have never been functional on iOS because the Carbon File Manager is not on iOS.
 {$ifc TARGET_OS_MAC}
 
 function CFURLCreateFromFSRef( allocator: CFAllocatorRef; const (*var*) fsRef_: FSRef ): CFURLRef; external name '_CFURLCreateFromFSRef';
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 function CFURLGetFSRef( url: CFURLRef; var fsRef_: FSRef ): Boolean; external name '_CFURLGetFSRef';
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 {$endc} {TARGET_OS_MAC}
 
@@ -942,6 +965,10 @@ var kCFURLIsExcludedFromBackupKey: CFStringRef; external name '_kCFURLIsExcluded
 (* CF_AVAILABLE_STARTING(10_8, 5_1) *)
     { true if resource should be excluded from backups, false otherwise (Read-write, value type CFBoolean). This property is only useful for excluding cache and other application support files which are not needed in a backup. Some operations commonly made to user documents will cause this property to be reset to false and so this property should not be used on user documents. }
 
+var kCFURLTagNamesKey: CFStringRef; external name '_kCFURLTagNamesKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, NA) *)
+    { The array of Tag names (Read-write, value type CFArray of CFString) }
+    
 var kCFURLPathKey: CFStringRef; external name '_kCFURLPathKey'; (* attribute const *)
 (* CF_AVAILABLE_STARTING(10_8, 6_0) *)
     { the URL's path as a file system path (Read-only, value type CFString) }
@@ -1134,8 +1161,8 @@ var kCFURLUbiquitousItemHasUnresolvedConflictsKey: CFStringRef; external name '_
     { true if this item has conflicts outstanding. (Read-only, value type CFBoolean) }
 
 var kCFURLUbiquitousItemIsDownloadedKey: CFStringRef; external name '_kCFURLUbiquitousItemIsDownloadedKey'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_7, 5_0) *)
-    { true if there is local data present for this item. (Read-only, value type CFBoolean) }
+(* CF_DEPRECATED(10_7, 10_9, 5_0, 7_0, "Use kCFURLUbiquitousItemDownloadingStatusKey instead") *)
+    { Equivalent to NSURLUbiquitousItemDownloadingStatusKey == NSURLUbiquitousItemDownloadingStatusCurrent. Has never behaved as documented in earlier releases, hence deprecated. (Read-only, value type CFBoolean) }
 
 var kCFURLUbiquitousItemIsDownloadingKey: CFStringRef; external name '_kCFURLUbiquitousItemIsDownloadingKey'; (* attribute const *)
 (* CF_AVAILABLE_STARTING(10_7, 5_0) *)
@@ -1150,14 +1177,39 @@ var kCFURLUbiquitousItemIsUploadingKey: CFStringRef; external name '_kCFURLUbiqu
     { true if data is being uploaded for this item. (Read-only, value type CFBoolean) }
 
 var kCFURLUbiquitousItemPercentDownloadedKey: CFStringRef; external name '_kCFURLUbiquitousItemPercentDownloadedKey'; (* attribute const *)
-(* CF_AVAILABLE_STARTING_BUT_DEPRECATED(10_7, 10_8, 5_0, 6_0) *)
+(* CF_DEPRECATED(10_7, 10_8, 5_0, 6_0, "Use NSMetadataQuery and NSMetadataUbiquitousItemPercentDownloadedKey on NSMetadataItem instead") *)
     { Use NSMetadataQuery and NSMetadataUbiquitousItemPercentDownloadedKey on NSMetadataItem instead }
 
 var kCFURLUbiquitousItemPercentUploadedKey: CFStringRef; external name '_kCFURLUbiquitousItemPercentUploadedKey'; (* attribute const *)
-(* CF_AVAILABLE_STARTING_BUT_DEPRECATED(10_7, 10_8, 5_0, 6_0) *)
+(* CF_DEPRECATED(10_7, 10_8, 5_0, 6_0, "Use NSMetadataQuery and NSMetadataUbiquitousItemPercentUploadedKey on NSMetadataItem instead") *)
 
     { Use NSMetadataQuery and NSMetadataUbiquitousItemPercentUploadedKey on NSMetadataItem instead }
 
+var kCFURLUbiquitousItemDownloadingStatusKey: CFStringRef; external name '_kCFURLUbiquitousItemDownloadingStatusKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { Returns the download status of this item. (Read-only, value type CFString). Possible values below. }
+
+var kCFURLUbiquitousItemDownloadingErrorKey: CFStringRef; external name '_kCFURLUbiquitousItemDownloadingErrorKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { returns the error when downloading the item from iCloud failed. See the NSUbiquitousFile section in FoundationErrors.h. }
+
+var kCFURLUbiquitousItemUploadingErrorKey: CFStringRef; external name '_kCFURLUbiquitousItemUploadingErrorKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { returns the error when uploading the item to iCloud failed. See the NSUbiquitousFile section in FoundationErrors.h. }
+
+{ The values returned for kCFURLUbiquitousItemDownloadingStatusKey
+ }
+var kCFURLUbiquitousItemDownloadingStatusNotDownloaded: CFStringRef; external name '_kCFURLUbiquitousItemDownloadingStatusNotDownloaded'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { this item has not been downloaded yet. Use NSFileManager's startDownloadingUbiquitousItemAtURL:error: to download it }
+
+var kCFURLUbiquitousItemDownloadingStatusDownloaded: CFStringRef; external name '_kCFURLUbiquitousItemDownloadingStatusDownloaded'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { there is a local version of this item available. The most current version will get downloaded as soon as possible. }
+
+var kCFURLUbiquitousItemDownloadingStatusCurrent: CFStringRef; external name '_kCFURLUbiquitousItemDownloadingStatusCurrent'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_9, 7_0) *)
+    { there is a local version of this item and it is the most up-to-date version known to this device. }
 
 type
 	CFURLBookmarkCreationOptions = CFOptionFlags;
@@ -1176,7 +1228,7 @@ const
 
 {$ifc TARGET_OS_MAC}
 const
-	kCFURLBookmarkResolutionWithSecurityScope =  1 shl 10 ; (* CF_AVAILABLE_STARTING(10_7,NA) *) { Mac OS X 10.7.3 and later, extract the security scope included at creation time to provide the ability to access the resource. }
+	kCFURLBookmarkResolutionWithSecurityScope =  1 shl 10 ; (* CF_ENUM_AVAILABLE(10_7,NA) *) { Mac OS X 10.7.3 and later, extract the security scope included at creation time to provide the ability to access the resource. }
 {$endc}
 
 type

+ 34 - 30
packages/univint/src/CFURLAccess.pas

@@ -1,10 +1,8 @@
 {	CFURLAccess.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
+
+        CFURLAccess is deprecated as of Mac OS X 10.9 and iOS 7.0. The suggested replacement for URLs with network schemes (http, https, ftp, data) is the NSURLConnection class. The suggested replacement for URLs with the file scheme are the foundation classes NSFileManager, NSFileHandle and NSURL, or the CoreFoundation classes CFStream and CFURL.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -227,8 +225,9 @@ resource (file). Please use CFStream or other techniques if you are downloading
 large files.
 
 }
+{ Deprecated -- see top of this file for suggested replacement classes }
 function CFURLCreateDataAndPropertiesFromResource( alloc: CFAllocatorRef; url: CFURLRef; resourceData: CFDataRefPtr; properties: CFDictionaryRefPtr; desiredProperties: CFArrayRef; var errorCode: SInt32 ): Boolean; external name '_CFURLCreateDataAndPropertiesFromResource';
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 { Attempts to write the given data and properties to the given URL.
 If dataToWrite is NULL, only properties are written out (use
@@ -238,52 +237,57 @@ is NULL or empty, the URL's properties are not changed at all.
 Returns success or failure; errorCode is set as for
 CFURLCreateDataAndPropertiesFromResource(), above.
 }
+{ Deprecated -- see top of this file for suggested replacement classes }
 function CFURLWriteDataAndPropertiesToResource( url: CFURLRef; dataToWrite: CFDataRef; propertiesToWrite: CFDictionaryRef; var errorCode: SInt32 ): Boolean; external name '_CFURLWriteDataAndPropertiesToResource';
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
-{ Destroys the resource indicated by url. }
-{ Returns success or failure; errorCode set as above. }
+{ Destroys the resource indicated by url.
+Returns success or failure; errorCode set as above.
+}
+{ Deprecated -- see top of this file for suggested replacement classes }
 function CFURLDestroyResource( url: CFURLRef; var errorCode: SInt32 ): Boolean; external name '_CFURLDestroyResource';
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
-{ Convenience method which calls through to CFURLCreateDataAndPropertiesFromResource(). }
-{ Returns NULL on error and sets errorCode accordingly. }
+{ Convenience method which calls through to CFURLCreateDataAndPropertiesFromResource().
+Returns NULL on error and sets errorCode accordingly.
+}
+{ Deprecated -- see top of this file for suggested replacement classes }
 function CFURLCreatePropertyFromResource( alloc: CFAllocatorRef; url: CFURLRef; proprty: CFStringRef; var errorCode: SInt32 ): CFTypeRef; external name '_CFURLCreatePropertyFromResource';
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 
 { Common error codes (returned only by the older APIs that predate CFError) }
 type
 	CFURLError = CFIndex;
 const
-	kCFURLUnknownError = -10;
-	kCFURLUnknownSchemeError = -11;
-	kCFURLResourceNotFoundError = -12;
-	kCFURLResourceAccessViolationError = -13;
-	kCFURLRemoteHostUnavailableError = -14;
-	kCFURLImproperArgumentsError = -15;
-	kCFURLUnknownPropertyKeyError = -16;
-	kCFURLPropertyKeyUnavailableError = -17;
-	kCFURLTimeoutError = -18;
+	kCFURLUnknownError = -10; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLUnknownSchemeError = -11; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLResourceNotFoundError = -12; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLResourceAccessViolationError = -13; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLRemoteHostUnavailableError = -14; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLImproperArgumentsError = -15; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLUnknownPropertyKeyError = -16; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLPropertyKeyUnavailableError = -17; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
+	kCFURLTimeoutError = -18; (* CF_ENUM_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 { Older property keys }
 
 var kCFURLFileExists: CFStringRef; external name '_kCFURLFileExists'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLFileDirectoryContents: CFStringRef; external name '_kCFURLFileDirectoryContents'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLFileLength: CFStringRef; external name '_kCFURLFileLength'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLFileLastModificationTime: CFStringRef; external name '_kCFURLFileLastModificationTime'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLFilePOSIXMode: CFStringRef; external name '_kCFURLFilePOSIXMode'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLFileOwnerID: CFStringRef; external name '_kCFURLFileOwnerID'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLHTTPStatusCode: CFStringRef; external name '_kCFURLHTTPStatusCode'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 var kCFURLHTTPStatusLine: CFStringRef; external name '_kCFURLHTTPStatusLine'; (* attribute const *)
-(* CF_AVAILABLE_STARTING(10_0, 2_0) *)
+(* CF_DEPRECATED(10_0, 10_9, 2_0, 7_0) *)
 
 { The value of kCFURLFileExists is a CFBoolean }
 { The value of kCFURLFileDirectoryContents is a CFArray containing CFURLs.  An empty array means the directory exists, but is empty }

+ 289 - 0
packages/univint/src/CFURLEnumerator.pas

@@ -0,0 +1,289 @@
+{
+    CFURLEnumerator.h
+    Copyright (c) 2008-2013, Apple Inc. All rights reserved.
+ }
+{
+    Modified for use with Free Pascal
+    Version 308
+    Please report any bugs to <[email protected]>
+}
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$calling mwpascal}
+
+unit CFURLEnumerator;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
+{$setc GAP_INTERFACES_VERSION := $0308}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC32}
+	{$setc __ppc__ := 1}
+{$elsec}
+	{$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
+	{$setc __ppc64__ := 1}
+{$elsec}
+	{$setc __ppc64__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+	{$setc __i386__ := 1}
+{$elsec}
+	{$setc __i386__ := 0}
+{$endc}
+{$ifc not defined __x86_64__ and defined CPUX86_64}
+	{$setc __x86_64__ := 1}
+{$elsec}
+	{$setc __x86_64__ := 0}
+{$endc}
+{$ifc not defined __arm__ and defined CPUARM}
+	{$setc __arm__ := 1}
+{$elsec}
+	{$setc __arm__ := 0}
+{$endc}
+{$ifc not defined __arm64__ and defined CPUAARCH64}
+  {$setc __arm64__ := 1}
+{$elsec}
+  {$setc __arm64__ := 0}
+{$endc}
+
+{$ifc defined cpu64}
+  {$setc __LP64__ := 1}
+{$elsec}
+  {$setc __LP64__ := 0}
+{$endc}
+
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+	{$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+	{$setc TARGET_CPU_PPC := TRUE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __ppc64__ and __ppc64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := TRUE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __i386__ and __i386__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := TRUE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+{$ifc defined(iphonesim)}
+ 	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
+{$elsec}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+{$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __x86_64__ and __x86_64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := TRUE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __arm__ and __arm__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := TRUE}
+	{$setc TARGET_CPU_ARM64 := FALSE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elifc defined __arm64__ and __arm64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_CPU_ARM64 := TRUE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elsec}
+	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
+{$endc}
+
+{$ifc defined __LP64__ and __LP64__ }
+  {$setc TARGET_CPU_64 := TRUE}
+{$elsec}
+  {$setc TARGET_CPU_64 := FALSE}
+{$endc}
+
+{$ifc defined FPC_BIG_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes,CFBase,CFArray,CFError,CFURL;
+{$endc} {not MACOSALLINCLUDE}
+
+{$ALIGN POWER}
+
+
+{ #if (TARGET_OS_MAC || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) || CF_BUILDING_CF || NSBUILDINGFOUNDATION }
+
+
+type
+	CFURLEnumeratorRef = ^__CFURLEnumerator; { an opaque type }
+	__CFURLEnumerator = record end;
+
+{ CFURLEnumeratorGetTypeID - Returns the CFURLEnumerator CFTypeID. }
+function CFURLEnumeratorGetTypeID: CFTypeID; external name '_CFURLEnumeratorGetTypeID';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorOptions - Options for controlling enumerator behavior. }
+type
+  CFURLEnumeratorOptions = CFOptionFlags;
+const
+    kCFURLEnumeratorDefaultBehavior                 = 0;        { Use the default behavior for the enumerator. }
+    kCFURLEnumeratorDescendRecursively              = UNSIGNEDLONG(1) shl 0; { The directory enumerator will recurse ("depth-first") into each subdirectory enumerated }
+    kCFURLEnumeratorSkipInvisibles                  = UNSIGNEDLONG(1) shl 1; { The directory or volume enumerator skips "hidden" or "invisible" objects }
+    kCFURLEnumeratorGenerateFileReferenceURLs       = UNSIGNEDLONG(1) shl 2; { The volume enumerator generates file reference URLs }
+    kCFURLEnumeratorSkipPackageContents             = UNSIGNEDLONG(1) shl 3; { The directory enumerator skips package directory contents }
+    kCFURLEnumeratorIncludeDirectoriesPreOrder      = UNSIGNEDLONG(1) shl 4; { With this option set; a recursive directory enumerator will return directory URLs when CFURLEnumeratorGetNextURL() returns kCFURLEnumeratorSuccess before any of the directory's descendants are visited (pre-order). }
+    kCFURLEnumeratorIncludeDirectoriesPostOrder     = UNSIGNEDLONG(1) shl 5; { With this option set; a recursive directory enumerator will return directory URLs when CFURLEnumeratorGetNextURL() returns kCFURLEnumeratorDirectoryPostOrderSuccess after all of directory's descendants have been visited (post-order). }
+    { Note: if both kCFURLEnumeratorIncludeDirectoriesPreOrder and kCFURLEnumeratorIncludeDirectoriesPostOrder are used; directories will be seen twice (even empty directories and directories whose descendants are skipped) -- once when kCFURLEnumeratorSuccess is returned and once when kCFURLEnumeratorDirectoryPostOrderSuccess is returned. }
+
+
+{ CFURLEnumeratorCreateForDirectoryURL - Creates a directory enumerator, flat or recursive. Client specifies the directory URL to enumerate, a bit array of options, and an optional array of property keys to pre-fetch for the found URLs. Specifying pre-fetch properties allows the implementation to optimize device access by using bulk operations when available. Pre-fetching more properties than are actually needed may degrade performance.
+
+A directory enumerator generates URLs with the same type as the directory URL being enumerated. If the directoryURL input parameter is a file reference URL, then generated URLs will be file reference URLs. If the directoryURL input parameter is a file path URL, then generated URLs will be file path URLs.
+
+The kCFURLEnumeratorGenerateFileReferenceURLs option is ignored by CFURLEnumeratorCreateForDirectoryURL.
+}
+function CFURLEnumeratorCreateForDirectoryURL( alloc: CFAllocatorRef; directoryURL: CFURLRef; option: CFURLEnumeratorOptions; propertyKeys: CFArrayRef ): CFURLEnumeratorRef; external name '_CFURLEnumeratorCreateForDirectoryURL';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorCreateForMountedVolumes - Creates an enumerator for mounted filesystem volumes. Client specifies an allocator, a bit array of options, and an optional array of property keys to pre-fetch for the volume URLs. Specifying pre-fetch properties allows the implementation to optimize device access by using bulk operations when available. Pre-fetching more properties than are actually needed may degrade performance.
+
+A volume enumerator generates file path URLs. If you want a volume enumerator to generate file reference URLs, pass the kCFURLEnumeratorGenerateFileReferenceURLs option.
+
+The kCFURLEnumeratorDescendRecursively and kCFURLEnumeratorSkipPackageContents options are ignored by CFURLEnumeratorCreateForMountedVolumes.
+}
+function CFURLEnumeratorCreateForMountedVolumes( alloc: CFAllocatorRef; option: CFURLEnumeratorOptions; propertyKeys: CFArrayRef ): CFURLEnumeratorRef; external name '_CFURLEnumeratorCreateForMountedVolumes';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorResult - Results for CFURLEnumeratorGetNextURL }
+type
+  CFURLEnumeratorResult = CFIndex;
+const
+  kCFURLEnumeratorSuccess = 1;                    { The enumeration was successful. The url output parameter is valid. }
+  kCFURLEnumeratorEnd = 2;                        { The enumeration is complete. }
+  kCFURLEnumeratorError = 3;			    { An error occured during enumeration. The retained error output parameter describes the error. }
+  kCFURLEnumeratorDirectoryPostOrderSuccess = 4;  { The enumeration was successful. The url output parameter is for a directory after all of directory's descendants have been visited (post-order). This result will only be returned for directories when both the kCFURLEnumeratorDescendRecursively and kCFURLEnumeratorIncludeDirectoriesPostOrder options are passed to CFURLEnumeratorCreateForDirectoryURL. }
+
+{ CFURLEnumeratorGetNextURL - Advances the enumerator. If kCFURLEnumeratorSuccess is returned, the url output parameter returns the next URL found. If kCFURLEnumeratorError is returned, an error has occured and the error output parameter describes the error. If kCFURLEnumeratorEnd, the enumeration is finished.
+
+The url output parameter, if returned, is not retained. The error output parameter, if returned, is retained and must be released.
+}
+function CFURLEnumeratorGetNextURL( enumerator: CFURLEnumeratorRef; var url: CFURLRef; var error: CFErrorRef ): CFURLEnumeratorResult; external name '_CFURLEnumeratorGetNextURL';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorSkipDescendents - Tells a recursive CFURLEnumerator not to descend into the directory of the last CFURLRef returned by CFURLEnumeratorGetNextURL.
+
+Calls to CFURLEnumeratorSkipDescendents are ignored if:
+    * CFURLEnumeratorGetNextURL has never been called with the CFURLEnumerator.
+    * The last CFURL returned by CFURLEnumeratorGetNextURL is not a directory.
+    * The CFURLEnumerator was not created with CFURLEnumeratorCreateForDirectoryURL using the kCFURLEnumeratorDescendRecursively option.
+}
+procedure CFURLEnumeratorSkipDescendents( enumerator: CFURLEnumeratorRef ); external name '_CFURLEnumeratorSkipDescendents';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorGetDescendentLevel - Returns the number of levels a directory enumerator has descended down into the directory hierarchy from the starting directory. The children of the starting directory are at level 1. Each time a recursive enumerator descends into a subdirectory, it adds one to the descendent level. It then subtracts one from the level when it finishes a subdirectory and continues enumerating the parent directory.
+}
+function CFURLEnumeratorGetDescendentLevel( enumerator: CFURLEnumeratorRef ): CFIndex; external name '_CFURLEnumeratorGetDescendentLevel';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+
+{ CFURLEnumeratorGetSourceDidChange is deprecated. If your program is interested in directory hierarchy changes during enumeration (and most programs are not interested), you should use the File System Events API.
+ 
+ CFURLEnumeratorGetSourceDidChange does nothing and always returns false.
+ }
+function CFURLEnumeratorGetSourceDidChange( enumerator: CFURLEnumeratorRef ): Boolean; external name '_CFURLEnumeratorGetSourceDidChange';
+(* CF_DEPRECATED(10_6, 10_7, 4_0, 5_0) *)
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+
+end.
+{$endc} {not MACOSALLINCLUDE}

+ 1 - 5
packages/univint/src/CFUUID.pas

@@ -1,10 +1,6 @@
 {	CFUUID.h
-	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2013, Apple Inc.  All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 6
packages/univint/src/CFUserNotification.pas

@@ -1,11 +1,6 @@
 {	CFUserNotification.h
-	Copyright (c) 2000-2012, Apple Inc.  All rights reserved.
+	Copyright (c) 2000-2013, Apple Inc.  All rights reserved.
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{     Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{     Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308

+ 13 - 12
packages/univint/src/CFXMLNode.pas

@@ -1,9 +1,6 @@
 {	CFXMLNode.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -204,6 +201,9 @@ uses MacTypes,CFBase,CFArray,CFDictionary,CFString,CFTree,CFURL;
 {$ALIGN POWER}
 
 
+{  CFXMLParser (and thus CFXMLNode) are deprecated as of Mac OS X 10.8 and iOS 6.0. The suggested replacements are the Foundation classes NSXMLParser and NSXMLDocument, or the libxml2 library. }
+
+
 const
 	kCFXMLNodeCurrentVersion = 1;
 
@@ -362,36 +362,37 @@ type
 }
 
 function CFXMLNodeGetTypeID: CFTypeID; external name '_CFXMLNodeGetTypeID';
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Creates a new node based on xmlType, dataString, and additionalInfoPtr.  version (together with xmlType) determines the expected structure of additionalInfoPtr }
 function CFXMLNodeCreate( alloc: CFAllocatorRef; xmlType: CFXMLNodeTypeCode; dataString: CFStringRef; additionalInfoPtr: {const} UnivPtr; version: CFIndex ): CFXMLNodeRef; external name '_CFXMLNodeCreate';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Creates a copy of origNode (which may not be NULL). }
 function CFXMLNodeCreateCopy( alloc: CFAllocatorRef; origNode: CFXMLNodeRef ): CFXMLNodeRef; external name '_CFXMLNodeCreateCopy';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLNodeGetTypeCode( node: CFXMLNodeRef ): CFXMLNodeTypeCode; external name '_CFXMLNodeGetTypeCode';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLNodeGetString( node: CFXMLNodeRef ): CFStringRef; external name '_CFXMLNodeGetString';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLNodeGetInfoPtr( node: CFXMLNodeRef ): UnivPtr; external name '_CFXMLNodeGetInfoPtr';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLNodeGetVersion( node: CFXMLNodeRef ): CFIndex; external name '_CFXMLNodeGetVersion';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { CFXMLTreeRef }
 
 { Creates a childless, parentless tree from node }
 function CFXMLTreeCreateWithNode( allocator: CFAllocatorRef; node: CFXMLNodeRef ): CFXMLTreeRef; external name '_CFXMLTreeCreateWithNode';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Extracts and returns the node stored in xmlTree }
 function CFXMLTreeGetNode( xmlTree: CFXMLTreeRef ): CFXMLNodeRef; external name '_CFXMLTreeGetNode';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 

+ 18 - 21
packages/univint/src/CFXMLParser.pas

@@ -1,9 +1,6 @@
 {	CFXMLParser.h
-	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2013, Apple Inc. All rights reserved.
 }
-{	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, November 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -346,7 +343,7 @@ type
 	end;
 
 function CFXMLParserGetTypeID: CFTypeID; external name '_CFXMLParserGetTypeID';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Creates a parser which will parse the given data with the given options.  xmlData may not be NULL. 
    dataSource should be the URL from which the data came, and may be NULL; it is used to resolve any
@@ -356,48 +353,48 @@ function CFXMLParserGetTypeID: CFTypeID; external name '_CFXMLParserGetTypeID';
    callBacks->endXMLStructure must all be non-NULL.  context determines what if any info pointer is
    passed to the callbacks as the parse progresses; context may be NULL.  }
 function CFXMLParserCreate( allocator: CFAllocatorRef; xmlData: CFDataRef; dataSource: CFURLRef; parseOptions: CFOptionFlags; versionOfNodes: CFIndex; var callBacks: CFXMLParserCallBacks; var context: CFXMLParserContext ): CFXMLParserRef; external name '_CFXMLParserCreate';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Arguments as above, except that the data to be parsed is loaded directly 
    from dataSource.  dataSource may not be NULL.  }
 function CFXMLParserCreateWithDataFromURL( allocator: CFAllocatorRef; dataSource: CFURLRef; parseOptions: CFOptionFlags; versionOfNodes: CFIndex; var callBacks: CFXMLParserCallBacks; var context: CFXMLParserContext ): CFXMLParserRef; external name '_CFXMLParserCreateWithDataFromURL';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 procedure CFXMLParserGetContext( parser: CFXMLParserRef; var context: CFXMLParserContext ); external name '_CFXMLParserGetContext';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 procedure CFXMLParserGetCallBacks( parser: CFXMLParserRef; var callBacks: CFXMLParserCallBacks ); external name '_CFXMLParserGetCallBacks';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLParserGetSourceURL( parser: CFXMLParserRef ): CFURLRef; external name '_CFXMLParserGetSourceURL';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Returns the character index of the current parse location }
 function CFXMLParserGetLocation( parser: CFXMLParserRef ): CFIndex; external name '_CFXMLParserGetLocation';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Returns the line number of the current parse location }
 function CFXMLParserGetLineNumber( parser: CFXMLParserRef ): CFIndex; external name '_CFXMLParserGetLineNumber';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Returns the top-most object returned by the createXMLStructure callback }
 function CFXMLParserGetDocument( parser: CFXMLParserRef ): UnivPtr; external name '_CFXMLParserGetDocument';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Get the status code or a user-readable description of the last error that occurred in a parse.
    If no error has occurred, a null description string is returned.  See the enum above for
    possible status returns }
 function CFXMLParserGetStatusCode( parser: CFXMLParserRef ): CFXMLParserStatusCode; external name '_CFXMLParserGetStatusCode';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 function CFXMLParserCopyErrorDescription( parser: CFXMLParserRef ): CFStringRef; external name '_CFXMLParserCopyErrorDescription';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Cause any in-progress parse to abort with the given error code and description.  errorCode
    must be positive, and errorDescription may not be NULL.  Cannot be called asynchronously
    (i.e. must be called from within a parser callback) }
 procedure CFXMLParserAbort( parser: CFXMLParserRef; errorCode: CFXMLParserStatusCode; errorDescription: CFStringRef ); external name '_CFXMLParserAbort';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Starts a parse of the data the parser was created with; returns success or failure.
    Upon success, use CFXMLParserGetDocument() to get the product of the parse.  Upon
@@ -405,7 +402,7 @@ procedure CFXMLParserAbort( parser: CFXMLParserRef; errorCode: CFXMLParserStatus
    information about the error.  It is an error to call CFXMLParserParse() while a
    parse is already underway. }
 function CFXMLParserParse( parser: CFXMLParserRef ): Boolean; external name '_CFXMLParserParse';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { These functions provide a higher-level interface.  The XML data is parsed to a
    special CFTree (an CFXMLTree) with known contexts and callbacks.  See CFXMLNode.h
@@ -414,17 +411,17 @@ function CFXMLParserParse( parser: CFXMLParserRef ): Boolean; external name '_CF
 { Parse to an CFXMLTreeRef.  parseOptions are as above. versionOfNodes determines
    what version CFXMLNodes are used to populate the tree.  }
 function CFXMLTreeCreateFromData( allocator: CFAllocatorRef; xmlData: CFDataRef; dataSource: CFURLRef; parseOptions: CFOptionFlags; versionOfNodes: CFIndex ): CFXMLTreeRef; external name '_CFXMLTreeCreateFromData';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { As above, with the additional by-reference pass of a CFDictionaryRef containing
    various error information (see below). The caller is responsible for releasing the
    returned dictionary. If the error dictionary is not desired, pass NULL. }
 function CFXMLTreeCreateFromDataWithError( allocator: CFAllocatorRef; xmlData: CFDataRef; dataSource: CFURLRef; parseOptions: CFOptionFlags; versionOfNodes: CFIndex; var errorDict: CFDictionaryRef ): CFXMLTreeRef; external name '_CFXMLTreeCreateFromDataWithError';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_3, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Loads the data to be parsed directly from dataSource.  Arguments as above. }
 function CFXMLTreeCreateWithDataFromURL( allocator: CFAllocatorRef; dataSource: CFURLRef; parseOptions: CFOptionFlags; versionOfNodes: CFIndex ): CFXMLTreeRef; external name '_CFXMLTreeCreateWithDataFromURL';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Generate the XMLData (ready to be written to whatever permanent storage is to be
    used) from an CFXMLTree.  Will NOT regenerate entity references (except those
@@ -432,7 +429,7 @@ function CFXMLTreeCreateWithDataFromURL( allocator: CFAllocatorRef; dataSource:
    clients that wish this should walk the tree and re-insert any entity references
    that should appear in the final output file. }
 function CFXMLTreeCreateXMLData( allocator: CFAllocatorRef; xmlTree: CFXMLTreeRef ): CFDataRef; external name '_CFXMLTreeCreateXMLData';
-(* CF_AVAILABLE_BUT_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
+(* CF_DEPRECATED(10_0, 10_8, 2_0, 6_0) *)
 
 { Escaping and unescaping XML entities in CFStrings. The standard XML entities
    are always replaced.  }

+ 1 - 0
packages/univint/src/CGAffineTransforms.pas

@@ -5,6 +5,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 5 - 0
packages/univint/src/CGBase.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -205,7 +206,11 @@ uses MacTypes,ConditionalMacros;
 
 
 type
+{$ifc TARGET_CPU_X86_64}
+	boolean_t							= UInt32;
+{$elsec}
 	boolean_t							= SInt32;
+{$endc}
 
 {$ifc TARGET_CPU_64}
 type

+ 1 - 0
packages/univint/src/CGBitmapContext.pas

@@ -3,6 +3,7 @@
    All rights reserved. }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGColor.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGColorSpace.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 
 {
     Modified for use with Free Pascal

+ 41 - 57
packages/univint/src/CGContext.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -939,14 +940,6 @@ procedure CGContextSetFont( c: CGContextRef; font: CGFontRef ); external name '_
 procedure CGContextSetFontSize( c: CGContextRef; size: CGFloat ); external name '_CGContextSetFontSize';
 (* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
 
-{ Attempts to find the font named `name' and, if successful, sets it as the
-   font in the current graphics state of `c' and sets the font size in the
-   current graphics state to `size'. `textEncoding' specifies how to
-   translate from bytes to glyphs when displaying text. }
-
-procedure CGContextSelectFont( c: CGContextRef; name: ConstCStringPtr; size: CGFloat; textEncoding: CGTextEncoding ); external name '_CGContextSelectFont';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
-
 { Draw `glyphs', an array of `count' CGGlyphs, at the points specified by
    `positions'. Each element of `positions' specifies the position from the
    associated glyph; the positions are specified in user space. }
@@ -954,44 +947,6 @@ procedure CGContextSelectFont( c: CGContextRef; name: ConstCStringPtr; size: CGF
 procedure CGContextShowGlyphsAtPositions( context: CGContextRef; {const} glyphs: {variable-size-array} CGGlyphPtr; {const} positions: {variable-size-array} CGPointPtr; count: size_t ); external name '_CGContextShowGlyphsAtPositions';
 (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
 
-{* Text convenience functions. *}
-
-{ Draw `string', a string of `length' bytes, at the point specified by the
-   text matrix in the context `c'. Each byte of the string is mapped through
-   the encoding vector of the current font to obtain the glyph to
-   display. }
-
-procedure CGContextShowText( c: CGContextRef; strng: ConstCStringPtr; length: size_t ); external name '_CGContextShowText';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
-
-{ Draw `string', a string of `length' bytes, at the point `(x, y)',
-   specified in user space, in the context `c'. Each byte of the string is
-   mapped through the encoding vector of the current font to obtain the
-   glyph to display. }
-
-procedure CGContextShowTextAtPoint( c: CGContextRef; x: CGFloat; y: CGFloat; strng: ConstCStringPtr; length: size_t ); external name '_CGContextShowTextAtPoint';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
-
-{ Draw the glyphs pointed to by `g', an array of `count' glyphs, at the
-   point specified by the text matrix in the context `c'. }
-
-procedure CGContextShowGlyphs( c: CGContextRef; {const} g: {variable-size-array} CGGlyphPtr; count: size_t ); external name '_CGContextShowGlyphs';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
-
-{ Display the glyphs pointed to by `glyphs', an array of `count' glyphs, at
-   the point `(x, y)', specified in user space, in `context'. }
-
-procedure CGContextShowGlyphsAtPoint( context: CGContextRef; x: CGFloat; y: CGFloat; {const} glyphs: {variable-size-array} CGGlyphPtr; count: size_t ); external name '_CGContextShowGlyphsAtPoint';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
-
-{ Draw `glyphs', an array of `count' CGGlyphs, at the current point
-   specified by the text matrix. Each element of `advances' specifies the
-   offset from the previous glyph's origin to the origin of the associated
-   glyph; the advances are specified in user space. }
-
-procedure CGContextShowGlyphsWithAdvances( c: CGContextRef; {const} glyphs: {variable-size-array} CGGlyphPtr; {const} advances: {variable-size-array} CGSizePtr; count: size_t ); external name '_CGContextShowGlyphsWithAdvances';
-(* CG_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_2_0) *)
-
 {* PDF functions. *}
 
 { Draw `page' in the current user space of the context `c'. }
@@ -999,17 +954,6 @@ procedure CGContextShowGlyphsWithAdvances( c: CGContextRef; {const} glyphs: {var
 procedure CGContextDrawPDFPage( c: CGContextRef; page: CGPDFPageRef ); external name '_CGContextDrawPDFPage';
 (* CG_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_2_0) *)
 
-{$ifc TARGET_OS_MAC}
-{ DEPRECATED; use the CGPDFPage API instead.
-
-   Draw `page' in `document' in the rectangular area specified by `rect' in
-   the context `c'. The media box of the page is scaled, if necessary, to
-   fit into `rect'. }
-
-procedure CGContextDrawPDFDocument( c: CGContextRef; rect: CGRect; document: CGPDFDocumentRef; page: SInt32 ); external name '_CGContextDrawPDFDocument';
-(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
-{$endc}
-
 {* Output page functions. *}
 
 { Begin a new page. }
@@ -1192,6 +1136,46 @@ function CGContextConvertRectToDeviceSpace( context: CGContextRef; rect: CGRect
 function CGContextConvertRectToUserSpace( context: CGContextRef; rect: CGRect ): CGRect; external name '_CGContextConvertRectToUserSpace';
 (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
 
+{* Deprecated functions. *}
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextSelectFont( c: CGContextRef; name: ConstCStringPtr; size: CGFloat; textEncoding: CGTextEncoding ); external name '_CGContextSelectFont';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextShowText( c: CGContextRef; strng: ConstCStringPtr; length: size_t ); external name '_CGContextShowText';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextShowTextAtPoint( c: CGContextRef; x: CGFloat; y: CGFloat; strng: ConstCStringPtr; length: size_t ); external name '_CGContextShowTextAtPoint';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextShowGlyphs( c: CGContextRef; {const} g: {variable-size-array} CGGlyphPtr; count: size_t ); external name '_CGContextShowGlyphs';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextShowGlyphsAtPoint( context: CGContextRef; x: CGFloat; y: CGFloat; {const} glyphs: {variable-size-array} CGGlyphPtr; count: size_t ); external name '_CGContextShowGlyphsAtPoint';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{ DEPRECATED; use the CoreText API instead. }
+
+procedure CGContextShowGlyphsWithAdvances( context: CGContextRef; {const} glyphs: {variable-size-array} CGGlyphPtr; {const} advances: {variable-size-array} CGSizePtr; count: size_t ); external name '_CGContextShowGlyphsWithAdvances';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_9, __IPHONE_2_0, __IPHONE_7_0) *)
+
+{$ifc TARGET_OS_MAC}
+
+{ DEPRECATED; use the CGPDFPage API instead. }
+
+procedure CGContextDrawPDFDocument( c: CGContextRef; rect: CGRect; document: CGPDFDocumentRef; page: SInt32 ); external name '_CGContextDrawPDFDocument';
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
+
+{$endc}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 1 - 0
packages/univint/src/CGDataConsumer.pas

@@ -6,6 +6,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 3 - 1
packages/univint/src/CGDataProvider.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -314,7 +315,8 @@ function CGDataProviderCreateSequential( info: UnivPtr; const (*var*) callbacks:
 (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
 
 { Create a direct-access data provider using `callbacks' to supply `size'
-   bytes of data. `info' is passed to each of the callback functions. }
+   bytes of data. `info' is passed to each of the callback functions.
+   The underlying data must not change for the life of the data provider. }
 
 function CGDataProviderCreateDirect( info: UnivPtr; size: off_t; const (*var*) callbacks: CGDataProviderDirectCallbacks ): CGDataProviderRef; external name '_CGDataProviderCreateDirect';
 (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)

+ 3 - 2
packages/univint/src/CGDirectDisplay.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -321,7 +322,7 @@ function CGDisplayCopyAllDisplayModes( display: CGDirectDisplayID; options: CFDi
 (* CG_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_NA) *)
 
 var kCGDisplayShowDuplicateLowResolutionModes: CFStringRef; external name '_kCGDisplayShowDuplicateLowResolutionModes'; (* attribute const *)
-(* CG_AVAILABLE_STARTING(__MAC_10_8,__IPHONE_N_A) *)
+(* CG_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
 
 { Return the current mode of the specified display, or NULL if `display'
    is invalid. }
@@ -491,7 +492,7 @@ type
 { Return true if `display' is captured; false otherwise. }
 
 function CGDisplayIsCaptured( display: CGDirectDisplayID ): boolean_t; external name '_CGDisplayIsCaptured';
-(* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_NA) *)
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_9, __IPHONE_NA, __IPHONE_NA) *)
 
 { Capture `display' for exclusive use by an application. }
 

+ 1 - 0
packages/univint/src/CGDirectPalette.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGDisplayConfiguration.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 2 - 1
packages/univint/src/CGDisplayFades.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -329,7 +330,7 @@ function CGDisplayFade( token: CGDisplayFadeReservationToken; duration: CGDispla
    otherwise. }
 
 function CGDisplayFadeOperationInProgress: boolean_t; external name '_CGDisplayFadeOperationInProgress';
-(* CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_NA) *)
+(* CG_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_9, __IPHONE_NA, __IPHONE_NA) *)
 
 {$endc}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 1 - 0
packages/univint/src/CGErrors.pas

@@ -3,6 +3,7 @@
    All rights reserved. }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 10 - 6
packages/univint/src/CGEvent.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -435,7 +436,7 @@ procedure CGEventSetDoubleValueField( event: CGEventRef; field: CGEventField; va
    may pass an event through unmodified, modify an event, or discard an
    event. When a tap is registered, it identifies the set of events to be
    observed with a mask, and indicates if it is a passive or active event
-   filter. Multiple event type bitmasks may be "OR"ed together.
+   filter. Multiple event type bitmasks may be ORed together.
 
    Taps may only be placed at `kCGHIDEventTap' by a process running as the
    root user. NULL is returned for other users.
@@ -443,11 +444,14 @@ procedure CGEventSetDoubleValueField( event: CGEventRef; field: CGEventField; va
    Taps placed at `kCGHIDEventTap', `kCGSessionEventTap',
    `kCGAnnotatedSessionEventTap', or on a specific process may only receive
    key up and down events if access for assistive devices is enabled
-   (Preferences Accessibility panel, Keyboard view) or the caller is
-   enabled for assistive device access, as by `AXMakeProcessTrusted'. If the
-   tap is not permitted to monitor these events when the tap is created,
-   then the appropriate bits in the mask are cleared. If that results in an
-   empty mask, then NULL is returned.
+   (Preferences Accessibility panel, Keyboard view) or the caller is enabled
+   for assistive device access, as by `AXMakeProcessTrusted'. If the tap is
+   not permitted to monitor these events when the tap is created, then the
+   appropriate bits in the mask are cleared. If that results in an empty
+   mask, then NULL is returned.
+
+   An event tap is represented as a `CFMachPortRef'. The event tap may be
+   added to an appropriate run loop by calling `CFRunLoopAddSource'.
 
    Releasing the CFMachPortRef will release the tap.
 

+ 1 - 0
packages/univint/src/CGEventSource.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 32 - 0
packages/univint/src/CGEventTypes.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -240,6 +241,36 @@ const
 type
 	CGScrollEventUnit = UInt32;
 
+{ Constants that specify momentum scroll phases. }
+const
+	kCGMomentumScrollPhaseNone = 0;
+	kCGMomentumScrollPhaseBegin = 1;
+	kCGMomentumScrollPhaseContinue = 2;
+	kCGMomentumScrollPhaseEnd = 3;
+type
+	CGMomentumScrollPhase = UInt32;
+
+{ Constants that specify scroll phases. }
+const
+	kCGScrollPhaseBegan = 1;
+	kCGScrollPhaseChanged = 2;
+	kCGScrollPhaseEnded = 4;
+	kCGScrollPhaseCancelled = 8;
+	kCGScrollPhaseMayBegin = 128;
+type
+	CGScrollPhase = UInt32;
+
+{ Constants that specify gesture phases. }
+const
+	kCGGesturePhaseNone = 0;
+	kCGGesturePhaseBegan = 1;
+	kCGGesturePhaseChanged = 2;
+	kCGGesturePhaseEnded = 4;
+	kCGGesturePhaseCancelled = 8;
+	kCGGesturePhaseMayBegin = 128;
+type
+	CGGesturePhase = UInt32;
+
 { Constants that indicate the modifier key state at the time an event is
    created, as well as other event-related states.
 
@@ -420,6 +451,7 @@ const
     
   { rdar://11259169 }
 	kCGScrollWheelEventScrollCount = 100;
+	kCGScrollWheelEventMomentumPhase = 123;
     
   { Key to access an integer field that indicates whether the event should
      be ignored by the Inkwell subsystem. If the value is non-zero, the

+ 3 - 2
packages/univint/src/CGFunction.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -218,7 +219,7 @@ type
    creation functions. }
 
 type
-	CGFunctionEvaluateCallback = procedure( info: UnivPtr; inp: {const} CGFloatPtr; out: Float32Ptr );
+	CGFunctionEvaluateCallback = procedure( info: UnivPtr; inp: {const} CGFloatPtr; out: CGFloatPtr );
 
 { When a function is deallocated, this callback releases `info', the info
    parameter passed to the CGFunction creation functions. }
@@ -275,7 +276,7 @@ function CGFunctionGetTypeID: CFTypeID; external name '_CGFunctionGetTypeID';
    The contents of the callbacks structure is copied, so, for example, a
    pointer to a structure on the stack can be passed to this function. }
 
-function CGFunctionCreate( info: UnivPtr; domainDimension: size_t; domain: {const} CGFloatPtr; rangeDimension: size_t; range: {const} Float32Ptr; const (*var*) callbacks: CGFunctionCallbacks ): CGFunctionRef; external name '_CGFunctionCreate';
+function CGFunctionCreate( info: UnivPtr; domainDimension: size_t; domain: {const} CGFloatPtr; rangeDimension: size_t; range: {const} CGFloatPtr; const (*var*) callbacks: CGFunctionCallbacks ): CGFunctionRef; external name '_CGFunctionCreate';
 (* CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0) *)
 
 { Equivalent to `CFRetain(function)', except it doesn't crash (as CFRetain

+ 1 - 0
packages/univint/src/CGGLContext.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 23 - 0
packages/univint/src/CGGeometry.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2015 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -222,6 +223,18 @@ type
 		height: CGFloat;
 	end;
 
+{ Vectors. }
+
+const
+	CGVECTOR_DEFINED = 1;
+
+type
+  CGVectorPtr = ^CGVector;
+	CGVector = record
+		dx: CGFloat;
+		dy: CGFloat;
+	end;
+
 { Rectangles. }
 
 type
@@ -444,6 +457,9 @@ function CGSizeMake(width: CGFloat; height: CGFloat): CGSize; inline;
 {
   CGSize size; size.width = width; size.height = height; return size;
 }
+// CG_INLINE CGVector
+function CGVectorMake(dx: CGFloat; dy: CGFloat): CGVector; inline;
+
 
 // CG_INLINE CGRect
 // seems not useful to inline to me, is fairly big (unless you can reschedule
@@ -486,6 +502,13 @@ begin
 end;
 
 
+function CGVectorMake(dx: CGFloat; dy: CGFloat): CGVector; inline;
+begin
+  CGVectorMake.dx := dx;
+  CGVectorMake.dy := dy;
+end;
+
+
 function CGRectMake(x: CGFloat; y: CGFloat; width: CGFloat; height: CGFloat): CGRect;
 begin
   CGRectMake.origin.x := x;

+ 1 - 0
packages/univint/src/CGGradient.pas

@@ -3,6 +3,7 @@
    All rights reserved. }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGImage.pas

@@ -6,6 +6,7 @@
 {       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2007 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGLayer.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFArray.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFContentStream.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFContext.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFDictionary.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFDocument.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFObject.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

+ 1 - 0
packages/univint/src/CGPDFOperatorTable.pas

@@ -4,6 +4,7 @@
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, August 2015 }
 {
     Modified for use with Free Pascal
     Version 308

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.