From e9fe951720e98ca768e2c51d05fa257ecfd6b894 Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Wed, 6 May 2009 17:30:40 +0000 Subject: [Author: dmaclach] Made GTMABAddressBook work on both the iPhone and the Desktop, giving you a single interface to both. DELTA=2539 (2173 added, 79 deleted, 287 changed) R=thomasvl --- GTMDefines.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'GTMDefines.h') diff --git a/GTMDefines.h b/GTMDefines.h index 846e56c..bd87b82 100644 --- a/GTMDefines.h +++ b/GTMDefines.h @@ -166,17 +166,20 @@ GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...); // side to be sure you're getting what you wanted. #ifndef GTM_FOREACH_OBJECT #if TARGET_OS_IPHONE || (GTM_MAC_OS_X_VERSION_MINIMUM_REQUIRED >= MAC_OS_X_VERSION_10_5) + #define GTM_FOREACH_ENUMEREE(element, enumeration) \ + for (element in enumeration) #define GTM_FOREACH_OBJECT(element, collection) \ for (element in collection) #define GTM_FOREACH_KEY(element, collection) \ for (element in collection) #else - #define GTM_FOREACH_OBJECT(element, collection) \ - for (NSEnumerator * _ ## element ## _enum = [collection objectEnumerator]; \ + #define GTM_FOREACH_ENUMEREE(element, enumeration) \ + for (NSEnumerator *_ ## element ## _enum = enumeration; \ (element = [_ ## element ## _enum nextObject]) != nil; ) + #define GTM_FOREACH_OBJECT(element, collection) \ + GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator]) #define GTM_FOREACH_KEY(element, collection) \ - for (NSEnumerator * _ ## element ## _enum = [collection keyEnumerator]; \ - (element = [_ ## element ## _enum nextObject]) != nil; ) + GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator]) #endif #endif @@ -203,6 +206,17 @@ GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...); #define GTM_MACOS_SDK 1 #endif +// Some of our own availability macros +#if GTM_MACOS_SDK +#define GTM_WEAK_ON_MACOS __weak +#define GTM_AVAILABLE_ONLY_ON_IPHONE UNAVAILABLE_ATTRIBUTE +#define GTM_AVAILABLE_ONLY_ON_MACOS +#else +#define GTM_WEAK_ON_MACOS +#define GTM_AVAILABLE_ONLY_ON_IPHONE +#define GTM_AVAILABLE_ONLY_ON_MACOS UNAVAILABLE_ATTRIBUTE +#endif + // Provide a symbol to include/exclude extra code for GC support. (This mainly // just controls the inclusion of finalize methods). #ifndef GTM_SUPPORT_GC -- cgit v1.2.3