[PyObjC-svn] r2033 - in trunk/pyobjc/pyobjc-framework-AddressBook: . Doc Exceptions Lib/AddressBook Modules PyObjCTest

[email protected]
Newsgroups gmane.comp.python.pyobjc.cvs
Message-ID <[email protected]>
Author: ronaldoussoren
Date: Tue Jan 20 14:25:54 2009
New Revision: 2033

Log:
Full test coverage on Leopard

Added:
   trunk/pyobjc/pyobjc-framework-AddressBook/Doc/
   trunk/pyobjc/pyobjc-framework-AddressBook/Doc/api-notes-AddressBook.txt
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abactions.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abaddressbook.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abaddressbookc.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abglobals.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abpeoplepickerc.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abpeoplepickerview.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abrecord.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_absearchelement.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_abtypedefs.py   (contents, props changed)
Removed:
   trunk/pyobjc/pyobjc-framework-AddressBook/Modules/
Modified:
   trunk/pyobjc/pyobjc-framework-AddressBook/Exceptions/AddressBook.bridgesupport
   trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/PyObjC.bridgesupport
   trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/__init__.py
   trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_addressbook.py
   trunk/pyobjc/pyobjc-framework-AddressBook/setup.py

Modified: trunk/pyobjc/pyobjc-framework-AddressBook/Exceptions/AddressBook.bridgesupport
==============================================================================
--- trunk/pyobjc/pyobjc-framework-AddressBook/Exceptions/AddressBook.bridgesupport	(original)
+++ trunk/pyobjc/pyobjc-framework-AddressBook/Exceptions/AddressBook.bridgesupport	Tue Jan 20 14:25:54 2009
@@ -41,7 +41,7 @@
     <arg index='0' type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCopyRecordForUniqueId'>
-    <retval type='@' type64='@' />
+    <retval type='@' type64='@' already_cfretained='true' />
     <arg index='1' type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCopyRecordTypeFromUniqueId'>
@@ -220,7 +220,7 @@
     <arg index='1' type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABRecordCreateCopy'>
-    <retval comment='CFTypeRef' type='@' type64='@' />
+    <retval comment='CFTypeRef' type='@' type64='@' already_cfretained='true' />
     <arg comment='CFTypeRef' index='0' type='@' />
   </function>
   <function name='ABRecordIsReadOnly'>
@@ -309,6 +309,19 @@
       <arg index='0' null_accepted='true' type_modifier='o' />
     </method>
   </class>
+  <class name='ABPeoplePickerView'>
+    <method selector='setGroupDoubleAction:'>
+      <arg index='0' sel_of_type='v@:@' />
+    </method>
+    <method selector='setNameDoubleAction:'>
+      <arg index='0' sel_of_type='v@:@' />
+    </method>
+  </class>
+  <class name='ABAddressBook'>
+    <method selector='saveAndReturnError:'>
+      <arg index='0' null_accepted='true' type_modifier='o' />
+    </method>
+  </class>
   <class name='ABIdentityPicker'>
     <method selector='beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:'>
       <arg index='2' sel_of_type='v@:@@^v' />

Modified: trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/PyObjC.bridgesupport
==============================================================================
--- trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/PyObjC.bridgesupport	(original)
+++ trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/PyObjC.bridgesupport	Tue Jan 20 14:25:54 2009
@@ -174,63 +174,69 @@
   <function name='ABAddPropertiesAndTypes'>
     <retval type='l' type64='q' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFDictionary=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFDictionary=}' type64='^{__CFDictionary=}' />
   </function>
   <function name='ABAddRecord'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABAddressBookRef=}' />
     <arg type='@' type64='@' />
   </function>
-  <function comment='manually wrapped' name='ABBeginLoadingImageDataForClient'>
+  <function name='ABBeginLoadingImageDataForClient'>
     <retval type='l' type64='q' />
     <arg type='^{__ABPerson=}' />
-    <arg function_pointer='true' type='^?' type64='^?' />
+    <arg function_pointer='true' type='^?' type64='^?' >
+	    <retval type='^v'/>
+	    <arg type='@' />
+	    <arg type='l' type64='l'/>
+	    <arg type='^v' />
+    </arg>
+
     <arg type='^v' type64='^v' />
   </function>
   <function name='ABCancelLoadingImageDataForTag'>
     <arg type='l' type64='l' />
   </function>
   <function name='ABCopyArrayOfAllGroups'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABCopyArrayOfAllPeople'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABCopyArrayOfMatchingRecords'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABAddressBookRef=}' />
     <arg type='^{__ABSearchElementRef=}' />
   </function>
   <function name='ABCopyArrayOfPropertiesForRecordType'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCopyDefaultCountryCode'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABCopyLocalizedPropertyOrLabel'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCopyRecordForUniqueId'>
-    <retval type='@' type64='@' />
+    <retval type='@' type64='@' already_cfretained='true' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCopyRecordTypeFromUniqueId'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABCreateFormattedAddressFromDictionary'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFDictionary=}' />
+    <arg type='^{__CFDictionary=}' type64='^{__CFDictionary=}' />
   </function>
   <function name='ABGetMe'>
     <retval type='^{__ABPerson=}' />
@@ -240,31 +246,31 @@
     <retval type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABGroupAddGroup'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABGroup=}' />
   </function>
   <function name='ABGroupAddMember'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABGroupCopyArrayOfAllMembers'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABGroup=}' />
   </function>
   <function name='ABGroupCopyArrayOfAllSubgroups'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABGroup=}' />
   </function>
   <function name='ABGroupCopyDistributionIdentifier'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABPerson=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABGroupCopyParentGroups'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABGroup=}' />
   </function>
   <function name='ABGroupCreate'>
@@ -272,60 +278,60 @@
   </function>
   <function name='ABGroupCreateSearchElement'>
     <retval already_cfretained='true' type='^{__ABSearchElementRef=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='@' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABGroupRemoveGroup'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABGroup=}' />
   </function>
   <function name='ABGroupRemoveMember'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABGroupSetDistributionIdentifier'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABGroup=}' />
     <arg type='^{__ABPerson=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABHasUnsavedChanges'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABLocalizedPropertyOrLabel'>
-    <retval type='@' />
+    <retval type='@' already_cfretained='true' />
     <arg type='@' />
   </function>
   <function name='ABMultiValueAdd'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='@' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^^{__CFString}' type_modifier='o' />
   </function>
   <function name='ABMultiValueCopyIdentifierAtIndex'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABMultiValueCopyLabelAtIndex'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABMultiValueCopyPrimaryIdentifier'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{__ABMultiValue=}' />
   </function>
   <function name='ABMultiValueCopyValueAtIndex'>
-    <retval already_cfretained='true' type='@' />
+    <retval already_cfretained='true' type='@' type64='@' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='l' type64='l' />
   </function>
@@ -350,13 +356,13 @@
   <function name='ABMultiValueIndexForIdentifier'>
     <retval type='l' type64='q' />
     <arg type='^{__ABMultiValue=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABMultiValueInsert'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='@' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='l' type64='l' />
     <arg type='^^{__CFString}' type_modifier='o' />
   </function>
@@ -365,37 +371,37 @@
     <arg type='^{__ABMultiValue=}' />
   </function>
   <function name='ABMultiValueRemove'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABMultiValueReplaceLabel'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABMultiValueReplaceValue'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
     <arg type='@' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABMultiValueSetPrimaryIdentifier'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABMultiValue=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPersonCopyImageData'>
-    <retval already_cfretained='true' type='^{__CFData=}' />
+    <retval already_cfretained='true' type='^{__CFData=}' type64='^{__CFData=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABPersonCopyParentGroups'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABPersonCopyVCardRepresentation'>
-    <retval already_cfretained='true' type='^{__CFData=}' />
+    <retval already_cfretained='true' type='^{__CFData=}' type64='^{__CFData=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABPersonCreate'>
@@ -403,24 +409,24 @@
   </function>
   <function name='ABPersonCreateSearchElement'>
     <retval already_cfretained='true' type='^{__ABSearchElementRef=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='@' />
     <arg type='l' type64='l' />
   </function>
   <function name='ABPersonCreateWithVCardRepresentation'>
     <retval already_cfretained='true' type='^{__ABPerson=}' />
-    <arg type='^{__CFData=}' />
+    <arg type='^{__CFData=}' type64='^{__CFData=}' />
   </function>
   <function name='ABPersonSetImageData'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABPerson=}' />
-    <arg type='^{__CFData=}' />
+    <arg type='^{__CFData=}' type64='^{__CFData=}' />
   </function>
   <function name='ABPickerAddProperty'>
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerChangeAttributes'>
     <arg type='^{OpaqueABPicker=}' />
@@ -431,33 +437,33 @@
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCopyColumnTitle'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerCopyDisplayedProperty'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCopyProperties'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCopySelectedGroups'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCopySelectedIdentifiers'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{OpaqueABPicker=}' />
     <arg type='^{__ABPerson=}' />
   </function>
   <function name='ABPickerCopySelectedRecords'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCopySelectedValues'>
-    <retval already_cfretained='true' type='^{__CFArray=}' />
+    <retval already_cfretained='true' type='^{__CFArray=}' type64='^{__CFArray=}' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerCreate'>
@@ -473,7 +479,7 @@
   <function name='ABPickerDeselectIdentifier'>
     <arg type='^{OpaqueABPicker=}' />
     <arg type='^{__ABPerson=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerDeselectRecord'>
     <arg type='^{OpaqueABPicker=}' />
@@ -495,23 +501,23 @@
     <arg type='^{CGRect={CGPoint=ff}{CGSize=ff}}' type64='^{CGRect={CGPoint=ff}{CGSize=ff}}' type_modifier='o' />
   </function>
   <function name='ABPickerIsVisible'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{OpaqueABPicker=}' />
   </function>
   <function name='ABPickerRemoveProperty'>
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerSelectGroup'>
     <arg type='^{OpaqueABPicker=}' />
     <arg type='^{__ABGroup=}' />
-    <arg type='B' />
+    <arg type='Z' />
   </function>
   <function name='ABPickerSelectIdentifier'>
     <arg type='^{OpaqueABPicker=}' />
     <arg type='^{__ABPerson=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='B' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='Z' />
   </function>
   <function name='ABPickerSelectInAddressBook'>
     <arg type='^{OpaqueABPicker=}' />
@@ -519,12 +525,12 @@
   <function name='ABPickerSelectRecord'>
     <arg type='^{OpaqueABPicker=}' />
     <arg type='@' />
-    <arg type='B' />
+    <arg type='Z' />
   </function>
   <function name='ABPickerSetColumnTitle'>
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerSetDelegate'>
     <arg type='^{OpaqueABPicker=}' />
@@ -532,7 +538,7 @@
   </function>
   <function name='ABPickerSetDisplayedProperty'>
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABPickerSetFrame'>
     <arg type='^{OpaqueABPicker=}' />
@@ -540,62 +546,62 @@
   </function>
   <function name='ABPickerSetVisibility'>
     <arg type='^{OpaqueABPicker=}' />
-    <arg type='B' />
+    <arg type='Z' />
   </function>
   <function name='ABRecordCopyRecordType'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='@' />
   </function>
   <function name='ABRecordCopyUniqueId'>
-    <retval already_cfretained='true' type='^{__CFString=}' />
+    <retval already_cfretained='true' type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='@' />
   </function>
   <function name='ABRecordCopyValue'>
-    <retval already_cfretained='true' type='@' />
+    <retval already_cfretained='true' type='@' type64='@' />
     <arg type='@' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABRecordCreateCopy'>
-    <retval type='@' type64='@' />
+    <retval type='@' type64='@' already_cfretained='true' />
     <arg type='@' />
   </function>
   <function name='ABRecordIsReadOnly'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='@' />
   </function>
   <function name='ABRecordRemoveValue'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='@' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <function name='ABRecordSetValue'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='@' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
     <arg type='@' />
   </function>
   <function name='ABRemoveProperties'>
     <retval type='l' type64='q' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFArray=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFArray=}' type64='^{__CFArray=}' />
   </function>
   <function name='ABRemoveRecord'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABAddressBookRef=}' />
     <arg type='@' />
   </function>
   <function name='ABSave'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABAddressBookRef=}' />
   </function>
   <function name='ABSearchElementCreateWithConjunction'>
     <retval already_cfretained='true' type='^{__ABSearchElementRef=}' />
     <arg type='l' type64='l' />
-    <arg type='^{__CFArray=}' />
+    <arg type='^{__CFArray=}' type64='^{__CFArray=}' />
   </function>
   <function name='ABSearchElementMatchesRecord'>
-    <retval type='B' />
+    <retval type='Z' />
     <arg type='^{__ABSearchElementRef=}' />
     <arg type='@' />
   </function>
@@ -606,8 +612,8 @@
   <function name='ABTypeOfProperty'>
     <retval type='l' type64='q' />
     <arg type='^{__ABAddressBookRef=}' />
-    <arg type='^{__CFString=}' />
-    <arg type='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
+    <arg type='^{__CFString=}' type64='^{__CFString=}' />
   </function>
   <informal_protocol name='ABActionDelegate'>
     <method selector='actionProperty' type='@@:' />

Modified: trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/__init__.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/__init__.py	(original)
+++ trunk/pyobjc/pyobjc-framework-AddressBook/Lib/AddressBook/__init__.py	Tue Jan 20 14:25:54 2009
@@ -15,4 +15,4 @@
     globals=globals())
 
 # Implementation of functions that cannot be wrapped automaticly.
-from AddressBook._callback import *
+#from AddressBook._callback import *

Modified: trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_addressbook.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_addressbook.py	(original)
+++ trunk/pyobjc/pyobjc-framework-AddressBook/PyObjCTest/test_addressbook.py	Tue Jan 20 14:25:54 2009
@@ -1,75 +1,9 @@
-import unittest
+from PyObjCTools.TestSupport import *
 import objc
 import AddressBook
 
-class TestAddressBook (unittest.TestCase):
-    def testClasses(self):
-        self.assert_( hasattr(AddressBook, 'ABPerson') )
-        self.assert_( isinstance(AddressBook.ABPerson, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABPersonRef') )
-        self.assert_( AddressBook.ABPersonRef is AddressBook.ABPerson )
-
-        self.assert_( hasattr(AddressBook, 'ABAddressBook') )
-        self.assert_( isinstance(AddressBook.ABAddressBook, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABAddressBookRef') )
-        self.assert_( AddressBook.ABAddressBookRef is AddressBook.ABAddressBook )
-
-        self.assert_( hasattr(AddressBook, 'ABGroup') )
-        self.assert_( isinstance(AddressBook.ABGroup, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABGroupRef') )
-        self.assert_( AddressBook.ABGroupRef is AddressBook.ABGroup)
-
-        self.assert_( hasattr(AddressBook, 'ABMultiValue') )
-        self.assert_( isinstance(AddressBook.ABMultiValue, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABMultiValueRef') )
-        self.assert_( AddressBook.ABMultiValueRef is AddressBook.ABMultiValue)
-
-        self.assert_( hasattr(AddressBook, 'ABMutableMultiValue') )
-        self.assert_( isinstance(AddressBook.ABMutableMultiValue, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABMutableMultiValueRef') )
-        self.assert_( AddressBook.ABMutableMultiValueRef is AddressBook.ABMutableMultiValue)
-
-        self.assert_( hasattr(AddressBook, 'ABSearchElement') )
-        self.assert_( isinstance(AddressBook.ABSearchElement, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABSearchElementRef') )
-        self.assert_( AddressBook.ABSearchElementRef is AddressBook.ABSearchElement)
-
-        self.assert_( hasattr(AddressBook, 'ABPeoplePickerView') )
-        self.assert_( isinstance(AddressBook.ABPeoplePickerView, objc.objc_class) )
-        self.assert_( hasattr(AddressBook, 'ABPickerRef') )
-        self.assert_( AddressBook.ABPickerRef is AddressBook.ABPeoplePickerView)
-
-    def testValues(self):
-        self.assert_( hasattr(AddressBook, 'kABShowAsMask') )
-        self.assert_( isinstance(AddressBook.kABShowAsMask, (int, long)) )
-        self.assertEquals(AddressBook.kABShowAsMask, 7)
-
-        self.assert_( hasattr(AddressBook, 'kABPickerSingleValueSelection') )
-        self.assert_( isinstance(AddressBook.kABPickerSingleValueSelection, (int, long)) )
-        self.assertEquals(AddressBook.kABPickerSingleValueSelection, 1)
-
-        self.assert_( hasattr(AddressBook, 'ABMultipleValueSelection') )
-        self.assert_( isinstance(AddressBook.ABMultipleValueSelection, (int, long)) )
-        self.assertEquals(AddressBook.ABMultipleValueSelection, 2)
-
-        self.assert_( hasattr(AddressBook, 'kABMultiIntegerProperty') )
-        self.assert_( isinstance(AddressBook.kABMultiIntegerProperty, (int, long)) )
-        self.assertEquals(AddressBook.kABMultiIntegerProperty, AddressBook.kABMultiValueMask|AddressBook.kABIntegerProperty)
-
-    def testVariables(self):
-        self.assert_( hasattr(AddressBook, 'kABUIDProperty') )
-        self.assert_( isinstance(AddressBook.kABUIDProperty, unicode) )
-
-        self.assert_( hasattr(AddressBook, 'kABEmailWorkLabel') )
-        self.assert_( isinstance(AddressBook.kABEmailWorkLabel, unicode) )
-
-        self.assert_( hasattr(AddressBook, 'kABInsertedRecords') )
-        self.assert_( isinstance(AddressBook.kABInsertedRecords, unicode) )
-
-    def testFunctions(self):
-        self.assert_( hasattr(AddressBook, 'ABRecordIsReadOnly') )
-
-
+class TestAddressBook (TestCase):
+    def testNoTypedefs(self):
         # Just in case: the following is a typedef not a function definition
         self.assert_( not hasattr(AddressBook, 'ABActionGetPropertyCallback') )
 
@@ -86,13 +20,6 @@
         self.assert_( hasattr(AddressBook.protocols, 'ABActionDelegate') )
         self.assert_( isinstance(AddressBook.protocols.ABActionDelegate, objc.informal_protocol) )
         
-    def testFourCharCodes(self):
-        self.assert_( hasattr(AddressBook, 'kEventClassABPeoplePicker'))
-        self.assert_( isinstance(AddressBook.kEventClassABPeoplePicker, (int, long)))
-        # XXX: This is not quite what I had expected, but for some reason 4 
-        # character codes are always interpreted as a bigendian number by
-        # the compiler.
-        self.assertEquals(AddressBook.kEventClassABPeoplePicker, 1633841264)
 
 if __name__ == "__main__":
-    unittest.main()
+    main()

Modified: trunk/pyobjc/pyobjc-framework-AddressBook/setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-AddressBook/setup.py	(original)
+++ trunk/pyobjc/pyobjc-framework-AddressBook/setup.py	Tue Jan 20 14:25:54 2009
@@ -19,7 +19,7 @@
 
 setup(
     name='pyobjc-framework-AddressBook',
-    version="2.0",
+    version="2.2b1",
     description = "Wrappers for the framework AddressBook on Mac OS X",
     long_description = __doc__,
     author = 'Ronald Oussoren',
@@ -28,11 +28,6 @@
     platforms = [ "MacOS X" ],
     packages = [ "AddressBook" ],
     package_dir = { '': 'Lib' },
-    ext_modules = [
-        Extension('AddressBook._callback',
-                [ 'Modules/_callback.m' ],
-                extra_link_args=['-framework', 'AddressBook']),
-    ],
     setup_requires = [ 
     ],
     install_requires = [ 

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.