diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-05-06 17:30:40 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-05-06 17:30:40 +0000 |
commit | e9fe951720e98ca768e2c51d05fa257ecfd6b894 (patch) | |
tree | 8dee53e78f42791044aac9522fc89fab579435c4 /GTMDefines.h | |
parent | 9b220f8ebaac55fd702677c664ded72140875cce (diff) |
[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
Diffstat (limited to 'GTMDefines.h')
-rw-r--r-- | GTMDefines.h | 22 |
1 files changed, 18 insertions, 4 deletions
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 |